改了一句提示词,Agent 是变好了还是变坏了?用户说「它今天又答错了」,问题出在哪一步?如果回答这些问题只能靠感觉,Agent 就永远无法稳定改进。这一篇讲两件事:可观测性,让你看清 Agent 做了什么;评估,让你知道它做得好不好。
一、可观测性:记录每一步
普通程序出了问题,看日志、看报错就能定位。Agent 的问题往往不是报错,而是「做了错误的决定」:选错了工具、漏查了数据、误读了结果。要找到原因,必须能还原它每一步的完整过程。这就是 Trace(执行轨迹)。
Trace 应该记录什么
| 内容 | 用途 |
|---|---|
| 每次模型调用的完整输入 | 还原模型当时看到了什么 |
| 模型的完整输出 | 看它做了什么决定 |
| 工具调用的名称、参数、返回结果 | 判断是工具的问题还是模型的问题 |
| 每一步的耗时 | 找出性能瓶颈 |
| 每一步的 token 消耗 | 找出成本大头 |
| 错误与重试 | 发现不稳定的环节 |
| 子 Agent 的轨迹及其与主 Agent 的关联 | 在多 Agent 系统中追踪完整链路 |
用 Trace 定位问题
拿到一个失败的案例,沿着 Trace 逐步检查:
- 模型拿到的信息是否充分、正确?如果信息就是错的,问题在工具或上下文。
- 信息正确的前提下,模型的决定是否合理?如果不合理,问题在提示词或工具描述。
- 决定合理,执行是否正确?如果不正确,问题在工具实现。
很多 Agent 开发框架和观测平台提供了 Trace 的记录和可视化。也可以自己实现:每一步写一条结构化日志,用同一个任务 ID 串起来。业界正在逐步采用 OpenTelemetry 这类通用标准来记录 Agent 的轨迹。
二、评估:Agent 做得好不好
1. 建立测试集
评估的基础是一组有代表性的测试用例。每个用例包含:
- 输入:用户的问题或任务;
- 环境:工具会返回的数据(可以用模拟数据,保证每次运行条件一致);
- 预期:正确的结果是什么,或者结果应该满足哪些条件。
测试用例从哪来:
- 典型的日常任务;
- 线上出过问题的真实案例,修复后加入测试集,防止再犯;
- 边界情况:数据为空、工具报错、问题模糊、信息互相矛盾。
一开始不需要很多,二三十个精心挑选的用例,就比完全没有强得多。
2. 评分方法
| 方法 | 适合 | 特点 |
|---|---|---|
| 规则校验 | 有明确答案的任务:数值、分类、是否调用了某个工具 | 快、便宜、客观 |
| 模型评审 | 开放式任务:报告质量、回答是否完整 | 能处理复杂判断,需要写清评分标准,并定期用人工抽查校准 |
| 人工评分 | 重要的、主观的任务 | 最准确,但慢且贵 |
使用模型评审时,给评审模型一份具体的评分标准,比如「是否指出了根本原因」「是否给出了可执行的建议」「是否有与数据不符的结论」,每项单独打分,比笼统地问「这个回答好不好」可靠得多。
3. 不只看结果,也看过程
两个 Agent 都答对了,一个用了 3 步,一个用了 15 步;一个只调用了只读工具,另一个中途尝试了写操作。结果相同,质量并不相同。评估时也要检查过程。
4. 多跑几次
第 02 篇讲过,模型输出有随机性。同一个用例跑一次成功,不代表每次都能成功。重要的用例要多跑几次,看成功率。
三、关键指标
| 指标 | 说明 |
|---|---|
| 任务成功率 | 最核心的指标 |
| 平均步数 | 步数异常多,往往说明走了弯路 |
| 平均耗时 | 用户体验 |
| 平均成本 | 每个任务花了多少 token、多少钱 |
| 人工介入比例 | 多少任务需要人来确认或接手 |
| 工具错误率 | 哪些工具最不稳定 |
四、回归测试:每次修改都跑一遍
Agent 的行为对提示词、工具描述、模型版本都很敏感。修复了一个问题,可能悄悄引入另一个问题。所以:
- 每次修改提示词、工具、Skills,或者升级模型,都把测试集完整跑一遍;
- 比较修改前后的各项指标;
- 成功率下降的用例逐个查看 Trace,确认原因再决定是否上线。
这和软件开发中的自动化测试是同一个道理。没有回归测试的 Agent,每一次改动都是在碰运气。
五、线上监控
测试集覆盖不了所有真实情况,上线后还要持续观察:
- 监控成功率、耗时、成本的变化趋势;
- 收集用户反馈,比如点赞、点踩、重新提问;
- 定期抽样查看真实的 Trace,发现测试集没覆盖的问题;
- 把发现的问题补充进测试集,形成闭环。
本篇小结
- Trace 记录每一步的输入、输出、工具调用、耗时、成本,是定位问题的基础。
- 定位顺序:信息对不对 → 决定对不对 → 执行对不对。
- 评估:建立测试集,用规则、模型评审、人工结合评分,同时检查结果和过程,多跑几次看稳定性。
- 每次修改都跑回归测试,上线后持续监控,把新问题补进测试集。
思考与练习
- 为你设计的 Agent 写 5 个评估用例,其中至少 2 个是边界情况。
- 为一个「分析数据并写报告」的 Agent 写一份模型评审的评分标准。
上一篇:AI Agent原理篇18:安全:Prompt 注入、权限边界与人在回路
下一篇:AI Agent原理篇20:实战:从零设计一个业务监控 Agent
返回系列总目录