本节摘要:智能体的调试和传统软件不一样——不是看报错,而是"看过程"。本节讲清智能体开发的高效循环(小步迭代)、调试工具(追踪、日志、可控输入)、以及"先小后大"的验证策略。
阅读完本节,你应当能够:
"智能体跑出奇怪结果,怎么排查?"——传统报错式调试失灵了,因为智能体没有"明确的错误",只有"不理想的行为"。调试思路要转:不找 bug,找"过程"——用追踪看它怎么想、怎么调工具、在哪一步偏离预期。
传统调试问"哪行代码错了",智能体调试问"它在哪一步想岔了"。前者有明确答案,后者要靠过程还原。所以智能体开发的第一纪律是:每次运行都留痕。开了追踪,任何一次奇怪输出都能回到现场;没开追踪,就只能靠"复现"赌运气——而模型有随机性,复现往往复现不出来。
调试的核心循环:
一次只改一个变量:改了指令就只测指令的影响,别同时换模型、加工具、调参数。

出问题 → 打开 Trace → 看模型调用与工具执行 → 定位偏离点 → 针对性调整
💡 关键直觉:智能体调试的核心是"看过程"——不是问"哪行代码错了",而是问"它在哪一步想岔了"。追踪 + 日志是看清过程的眼睛。
固定一组测试用例(典型 + 边界) 每次改动跑同一组 对比行为变化
测试用例要覆盖三类:典型输入(正常业务)、边界输入(超长、空、歧义)、对抗输入(注入、诱导)。把这组用例存成脚本,每次改动一键跑完,对比输出差异。
| 现象 | 手段 |
|---|---|
| 不听指令 | 检查 instructions 是否清晰、有无冲突 |
| 不调工具 | 看模型决定与工具配置(docstring 是否清楚) |
| 结果混乱 | 看 Trace 全流程,定位偏离点 |
| 行为随机 | 固定参数(温度等),多次运行看趋势 |
现象:客服智能体偶尔不查订单就直接回答 排查:打开 Trace,发现该次运行模型输出"直接回答",没走工具 定位:指令写的是"尽量先查订单","尽量"给了模型自由裁量 修改:把指令改成"用户询问订单状态时,必须先调用查询工具" 复测:同一组用例连跑 10 次,全部先查后答
这个案例说明:智能体的"不听话",很多时候不是模型坏了,而是指令给了模型"自由发挥"的空间。调试的产出往往是"把指令写得更确定"。
⚠️ 常见坑:用一次随机结果判断好坏。模型有随机性,一次好一次坏不代表改对改错——多跑几次看趋势,或固定随机参数。
⚠️ 常见坑:同时改多个变量。改指令又换模型又加工具,出问题不知道怪谁——小步迭代的纪律是"一次一变量"。
先小数据/小工具集验证逻辑 再逐步加数据与工具 最后全量验证
一套够用的智能体调试工具链,至少包含四件:追踪面板(看每次运行的完整过程)、结构化日志(记录输入输出、耗时、token)、测试用例脚本(一键回放典型与边界输入)、版本对比(改前改后的行为 diff)。工具链的价值在"随手可用"——如果看一次 Trace 要翻三个系统,调试效率会大打折扣。建议从最小集开始:追踪默认开、日志统一格式、用例脚本先存 10 条,等出了问题再补工具,而不是一开始就搭一套重的平台。
开发会调了,下一节让它扛得住——错误处理与异常管理。