跳到正文

Agent 系统哪些模块最易出问题?

常见故障场景下监控体系设计与问题定位策略

原题:在实际业务部署中,AI Agent系统的哪些模块最容易出现稳定性或性能问题?请结合常见故障场景,阐述如何设计全面的监控体系,并说明问题定位与诊断的关键方法与实践策略。

评估与监控 · 蚂蚁真题

回答与解析

一、常见故障面

  • 规划与状态控制:目标漂移、重复调用、停止条件失效和状态机跳转错误。
  • 工具执行:超时、权限失效、参数不合法、返回协议变化、重复副作用和并发竞态。
  • 上下文与记忆:token 膨胀、摘要丢失约束、错误记忆写入和跨用户数据污染。
  • 模型与基础设施:模型路由异常、限流、队列堆积、首 token 延迟和成本突增。

故障频率与严重程度取决于业务和架构,不能预设某一层永远“最高频”或“最致命”。

二、分层监控

层级 建议指标
基础设施 请求率、错误率、排队时间、TTFT、总延迟、资源利用率
模型调用 模型版本、输入输出 token、重试、限流、结构化输出失败率、成本
Agent 运行时 迭代数、状态迁移、工具成功率、超时、停止原因、人工确认率
业务效果 任务完成率、错误副作用、用户纠错率、满意度和单位任务成本

告警阈值必须来自历史基线、SLO 和错误预算;“10 轮”或“5%”只能是经过验证后的具体配置,不能作为通用规则。

三、全链路追踪

为每个任务生成 trace_id,关联模型请求、状态迁移、工具名称、经脱敏的参数、结果摘要、耗时、重试和最终状态。不要依赖或持久化隐藏 Chain-of-Thought;记录可审计的规划摘要、结构化决策依据和外部观察已经足够定位大多数问题。

日志要做字段级脱敏、访问控制、保留期限和采样,密钥、个人信息及高风险工具结果不能原样落盘。

四、诊断与演练

按延迟分解、失败状态和工具依赖定位瓶颈,再用相同输入、模型版本和工具快照进行可重复回放。混沌测试可注入工具超时、限流和返回格式变化,但应在隔离环境或无副作用模式下进行。

结论:可观测性的核心是还原输入、结构化决策、工具调用和状态变化,而不是暴露模型的私有推理过程。

口语版讲法(约4分钟)

  • 高频故障模块:规划决策层、工具执行层、上下文管理层
  • 分层监控体系:基础设施、Agent运行时、业务效果
  • 问题定位方法:全链路追踪、结构化日志、根因分析SOP
  • 给出可延伸点:混沌工程验证熔断降级

Agent 上线后最容易出问题的地方,我会分成几类看。第一类是规划决策层,典型问题是 ReAct 死循环、目标漂移、工具选择错误。比如模型一直“思考-调用-再思考”,任务没完成但 token 和时间耗光。

第二类是工具执行层,这是影响最直接的。外部 API 超时、返回格式变化、权限过期、工具参数错误,都会让 Agent 后续步骤失败。更麻烦的是写操作,比如发券、退款、发消息,如果没有幂等和确认机制,可能造成真实业务损失。

第三类是上下文和记忆层。历史消息不断膨胀会让延迟和成本上升;摘要压缩如果删掉关键约束,模型会突然决策变差;长期记忆如果没有时效和权限过滤,还可能拿到过期或不该看的信息。

第四类是模型服务层,比如 LLM 首 token 延迟变高、队列堆积、限流、输出格式不稳定。Agent 是多次调用模型的系统,一个请求里可能调用好几轮,所以模型服务的小抖动会被放大。

监控体系我会分三层。基础设施层看 GPU 利用率、队列长度、模型调用延迟、错误率。Agent 运行时层看单任务迭代次数、工具调用次数、工具成功率、上下文 token 数、重试次数、循环中断次数、成本每任务。业务层看任务完成率、人工接管率、用户满意度、错误执行率和投诉率。

除了指标,还必须有 trace。每个任务生成 trace id,把用户输入、状态变化、模型输出、tool call、tool result、耗时和最终答案串起来。没有 trace 的 Agent 很难排查,因为你只看到最后答案错了,却不知道是哪一步错。

日志要结构化,至少包括 session id、turn id、prompt 版本、模型版本、上下文 token、解析出的 action、工具参数摘要、工具结果状态、延迟拆解。异常时最好保存上下文快照,支持离线回放。

定位问题时,我会按链路拆。延迟高,就拆成模型推理慢、工具慢、串行步骤多,还是上下文太长。答案错,就看规划是否选错工具、工具结果是否正确、模型是否忠实使用 observation。成本高,就看循环次数、重试次数和上下文长度。定位后要用相同 trace 回放,确认问题能稳定复现,再改 prompt、工具、路由或状态机。

告警也要对应风险。比如单任务迭代超过阈值就熔断;工具失败率持续升高就切备用工具;上下文 token 接近窗口上限就压缩或拒绝继续;高危工具调用异常就触发人工审核。

我还会做混沌演练,主动注入工具超时、模型错误、返回格式变化、上下文膨胀,验证熔断、降级、回滚和人工接管是不是真的能工作。Agent 的可靠性不能只靠线上出事后再修。

关键一句:Agent 监控要还原状态迁移、结构化决策、工具调用与外部观察,不依赖隐藏 Chain-of-Thought。

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你在做一个客服Agent,用户问完“发货时间”后Agent调了物流API,然后用户又追问“那退款呢?”——这时候Agent突然卡住不停调用工具,或者回了一句“我帮你查天气”。你遇到这种循环、幻觉和跑偏的情况多吗?你觉得系统里哪些地方最容易出这类问题?

  2. 问法 2 · 层层追问

    Agent系统上线后,你觉得哪些模块最容易出故障?……比如规划层、工具层、上下文管理,哪个最头疼?……那如果规划层出现循环调用,你监控什么指标?定位的时候怎么快速知道是模型问题还是prompt问题?

  3. 问法 3 · 直球架构

    请你设计一个AI Agent的监控体系,重点覆盖规划决策、工具执行、上下文管理这三个高危模块。你需要明确:监控哪些指标、用什么方式采集、告警阈值怎么定,以及出问题时定位诊断的关键步骤。

同模块相关题目