Skip to content

Agent 出现死循环、重复工具调用或状态错乱时怎么排查?

题型:问题排查 · 展示你能用执行轨迹定位,而不是只调 Prompt。

排查思路

先根据 runId 还原节点轨迹,确认是条件路由错误、模型反复选择同一工具、Observation 没写回、工具结果不可解析,还是 Memory 带入了过期状态。然后检查图版本、Prompt 与工具 Schema 版本、状态 reducer、并发更新和重试记录。重复调用还要核对 operationId,判断是模型重复决策还是基础设施超时后重放。

处理方案

  • 设置最大步数、总时长、Token 与同工具连续调用上限。
  • 对最近动作生成指纹,相同参数和结果重复出现时触发反思、换路或终止。
  • 工具返回结构化状态,明确成功、可重试、不可重试和结果未知。
  • State 采用版本控制或单写者模型,避免并行节点覆盖彼此结果。
  • 保存最小可复现轨迹,加入回归数据集。

面试回答闭环

最后应说明问题发生的根因、线上止损、永久修复和新增监控,例如循环终止率、重复工具调用率以及单任务步数异常告警。

易错点

  • 不能把所有循环都归因于模型不稳定。
  • 只加最大步数能止损,但不能解决错误路由或状态丢失。

知识关系

从当前问题继续深入,或者回到提出这个问题的知识入口。