08 · 看得见:轨迹与复盘
Workflow 出错,你看第几步的产出不对就定位了。Agent 出错,你手上只有一个错的结果和一大堆过程。能不能查,取决于你有没有在跑之前就要求它留痕。
你需要看见什么
一次 Agent 运行,值得留下来的有五样:
| 留什么 | 用来回答 |
|---|---|
| 每一圈的工具调用 | 它到底干了什么?调了哪个工具、传了什么参数 |
| 每一圈的工具返回(可截断) | 它看到了什么?——这一样最常被省掉,也最要命 |
| 它每一步的理由(一句话) | 它为什么这么干 |
| 圈数、耗时、花费 | 有没有失控 |
| 触发了哪些上限 / 降级 | 这次跑得顺不顺 |
"它看到了什么"比"它干了什么"更重要
排查时最常见的情况是:工具调用完全正确,但返回的内容不是你以为的东西。
搜索工具正常返回了,只是返回的是一堆不相关的结果;读文件成功了,只是读到的是一个旧版本。只记调用不记返回,你会一直盯着调用看,怎么也看不出问题。
两种留痕,都要
一、系统层面的日志
如果你的 Agent 跑在某个产品里,它多半已经有运行记录了。先去找找看——很多人不知道有这东西,一直靠猜。
自己搭的话,就是每一圈往一个文件里追加一行。不用花哨,能读就行。
二、让它自己交一份执行报告
这一招不需要任何工程,只要在目标里加一条:
交付时附上执行路径,一行一步,格式:
[圈数] 我做了什么 → 拿到了什么 → 所以下一步
例:
[3] 搜索 A 家官网 pricing 页 → 找到 5 个套餐,但价格是"联系我们" → 转去查文档站
[4] 读 A 家文档站 billing 章节 → 找到起步价 $29/月 → A 家价格项完成
不要展开描述,每行不超过一句。这份东西的价值远超它的长度。 你扫十行就知道它这一趟是怎么走的、在哪儿卡了、哪一步的判断可疑。
这两种留痕的分工:
- 系统日志是完整的、可靠的,但读起来累——排查具体问题时用。
- 它自己交的执行报告是精简的、可能美化过的,但一眼能扫完——每次验收时用。
日常看报告,出问题翻日志。
怎么复盘一次跑歪
按这个顺序查,从便宜到贵:
第 1 步 · 看圈数
接近上限 → 它在绕圈或者范围爆了,跳到第 3 步。 很少的圈数就交付了 → 它太早停了,问题多半在完成标准。
第 2 步 · 扫执行报告,找那个转折点
大部分跑歪都能定位到某一圈——在那之前一切正常,从那儿开始不对了。
扫的时候找这三种转折:
- 它得到了一个错误的信息,然后信了。(后面全建立在这上面)
- 它做了一个你没预料到的判断。("我决定改为查第三方评测")
- 它开始重复。(同一个工具连续试)
第 3 步 · 定位到那一圈,看工具返回
找到转折点,去看那一圈的工具返回原文。九成的问题在这里现形:
| 你看到的 | 说明 |
|---|---|
| 返回是空的或报错,但它当成了有效结果 | 工具的错误信息写得不好 |
| 返回内容正确,但它理解偏了 | 返回格式太乱,或者太长被读漏 |
| 返回里带了误导性内容 | 外部内容问题,见 04 章 |
| 根本没调该调的工具 | 工具描述没写清楚什么时候用 |
第 4 步 · 归因到四层里的一层
| 归到哪 | 怎么改 |
|---|---|
| 目标 | 完成标准太松 / 太紧、边界没写、没给"未获得"的出路 → 02 章 |
| 工具 | 缺一个工具、描述含糊、返回太胖或太瘦、错误信息没用 → 03 章 |
| 上限 | 没设、或者设得不对 → 06 章 |
| 模型 | 前三层都查过了,确实是规划能力不够 → 换更强的模型 |
顺序不能反。 直接换模型可能这次好了,但下次换个任务又不行——因为真正的洞还在。
一个具体的例子
现象:查竞品定价,交上来的三家里有一家的价格是编的。
第 1 步 · 圈数:14 圈,上限 15。接近上限,可疑。
第 2 步 · 执行报告:
[7] 搜索 C 家 pricing → 页面需要登录 → 尝试其他路径
[8] 搜索 "C 家 价格" → 找到几篇第三方博客
[9] 读第三方博客 → 得到 $49/月 → C 家价格项完成 ← 转折点在这
...
第 3 步 · 看第 9 圈返回:是一篇 2024 年的博客,价格早过时了。
第 4 步 · 归因:
· 目标层:写了"只看官网",但没写"官网拿不到时该怎么办"
→ 补上:"遇到需要登录的页面,标记为「未公开」并停止这一项,
不要转向第三方来源。"
· 目标层:没强调"未获得是合格结果"
→ 补上那句。
· 工具层(可选):给网页工具加域名白名单,从物理上断掉第三方来源。注意归因归到了两处,而且都不是"模型不行"。
一个平时就该做的动作
每次 Agent 跑完,花十秒看两样:圈数 + 执行报告的最后三行。
圈数告诉你顺不顺,最后三行告诉你它是"完成了"还是"放弃了"还是"撞上限了"——这三种情况后续处理完全不同,但交付物看起来可能都差不多。
跟 Workflow 篇 05 章那个"回头扫一眼中间产物"是同一个习惯,成本同样低。