AI Agent原理篇19:评估与可观测性:Trace、日志与 Eval

改了一句提示词,Agent 是变好了还是变坏了?用户说「它今天又答错了」,问题出在哪一步?如果回答这些问题只能靠感觉,Agent 就永远无法稳定改进。这一篇讲两件事:可观测性,让你看清 Agent 做了什么;评估,让你知道它做得好不好。

一、可观测性:记录每一步

普通程序出了问题,看日志、看报错就能定位。Agent 的问题往往不是报错,而是「做了错误的决定」:选错了工具、漏查了数据、误读了结果。要找到原因,必须能还原它每一步的完整过程。这就是 Trace(执行轨迹)。

Trace 应该记录什么

内容 用途
每次模型调用的完整输入 还原模型当时看到了什么
模型的完整输出 看它做了什么决定
工具调用的名称、参数、返回结果 判断是工具的问题还是模型的问题
每一步的耗时 找出性能瓶颈
每一步的 token 消耗 找出成本大头
错误与重试 发现不稳定的环节
子 Agent 的轨迹及其与主 Agent 的关联 在多 Agent 系统中追踪完整链路

用 Trace 定位问题

拿到一个失败的案例,沿着 Trace 逐步检查:

  1. 模型拿到的信息是否充分、正确?如果信息就是错的,问题在工具或上下文。
  2. 信息正确的前提下,模型的决定是否合理?如果不合理,问题在提示词或工具描述。
  3. 决定合理,执行是否正确?如果不正确,问题在工具实现。

很多 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
返回系列总目录

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇