目录
1 分钟阅读

Agent 连续调用同一个失败的 API 五次——问题根本不在代码里

当 Agent 反复触发同一个失败的 API 调用,翻代码没有任何意义。Trace 才是调试 AI Agent 的新源代码。

生产环境出了问题。Agent 在重复调用同一个 API,连续五次。习惯性地,我先打开了代码。重试逻辑没问题,函数调用链路正常,日志里一个报错都没有。代码给不出答案。直到打开 trace,原因才浮出水面。

Agent 代码是一个空壳

打开任何一个 Agent 的源代码,你会看到模型配置、工具列表和系统提示词。仅此而已。什么时候调用哪个工具,按什么推理顺序执行——这些都不在代码里。运行 LangGraph Agent 的团队有一句话说得很准:“你没办法通过代码审查来判断 Agent 的质量。”

  • 同样的代码,同样的输入,每次的工具调用模式都不一样
  • 分支逻辑不像 handleSubmit() 那样写死在代码里
  • GPT-5.2 同一个查询跑十次,工具调用顺序一致率大约只有 40%
  • 出了错,代码没有 bug,问题无法复现

传统软件里,代码就是行为本身。在 Agent 里,代码只是脚手架,真正的行为在运行时才生成。

Trace 才是新的源代码

Trace 记录了每一步的足迹:推理了什么、调用了哪个工具、为什么调用。调试、测试、性能分析,都要通过 trace 来做。当 Agent 看到报错还在重复调用同一个接口,那是推理层面的失败,只有 trace 能看到。

  • 对比两条 trace,prompt 变更的影响一目了然
  • LangSmith 加载 trace 的体验就像设断点一样直接
  • 一条 trace 能精确定位推理在哪个节点出了轨

测试的底层逻辑变了

Agent 是非确定性的,需要在生产环境持续评估。没有 trace 采集、没有 eval 数据集、没有漂移检测流水线,根本无法规模化运营 Agent。

  • 自动化 eval 流水线每周从生产 trace 里抽样
  • 仅靠上线前测试,无法保证非确定性系统的质量
  • 不接 trace 的监控,等于只在看服务器是否还活着
  • Agent 可以”正常运行”,同时做着完全错误的事——这只有 trace 才能发现

协作和产品分析也发生在 trace 上

代码审查在 GitHub,Agent 的决策审查在可观测性平台。团队在 trace 上留评论、分享决策节点,像 PR review 一样审阅推理链路。

  • 产品分析工具和调试工具在 trace 上合流
  • 分析工具调用模式,可以反推用户的真实需求

结论

代码是建筑蓝图,trace 是监控录像。出了问题,先回放录像。把 Agent 质量做好的团队,早就把注意力从代码转移到了 trace 上。

订阅通讯

获取关于我最新项目、文章以及 AI 和 Web 开发实验的更新。