跳到主要内容

05-Agent轨迹评测

核对日期:2026-05-13。

不稳定项:Agent eval 工具、轨迹格式、LLM-as-judge 方法、工具调用评测和安全评测实践变化较快;正式评测前必须结合目标框架和业务风险重新校准。

1. 学习目标​

本专题关注 Agent 质量如何被证明。Agent 评测不能只看最终答案,因为中间过程可能越权、误用工具、浪费成本或侥幸成功。

学完后你应该能做到:

  • 设计 Agent 轨迹 eval 数据集。
  • 评估工具选择、工具参数、状态更新、停止判断和安全边界。
  • 区分任务成功率和轨迹健康度。
  • 设计失败样例库和回归集。
  • 使用人工评分、规则评分和 LLM-as-judge 的组合方法。

2. 为什么只看最终答案不够​

一个 Agent 可能最终答案正确,但过程存在严重问题:

  • 读取了未授权数据。
  • 调用了不必要工具。
  • 参数错误但碰巧结果可用。
  • 重复搜索浪费成本。
  • 在高风险动作前没有审批。
  • 忽略了工具错误。
  • 把草稿状态误写成已执行。

所以 Agent 评测必须看轨迹。

3. 轨迹数据结构​

一条轨迹至少包含:

{
"task_id": "agent_eval_001",
"goal": "分析退款资格并创建草稿",
"steps": [
{
"step": 1,
"decision": "read_order",
"tool": "read_order",
"args": {"order_id": "ord_123"},
"observation": "订单已支付,用户归属匹配",
"state_delta": "确认订单事实"
}
],
"final_output": "...",
"stop_reason": "needs_approval",
"cost": {"tokens": 4200, "tool_calls": 3}
}

真实系统还应记录:

  • 权限检查结果。
  • tool error。
  • retry 和 fallback。
  • human approval。
  • policy block。
  • trace id。

4. 评分维度​

维度问题
目标保持每一步是否服务目标?
工具选择是否选了正确工具?
参数质量参数是否完整、合法、最小必要?
证据使用结论是否来自工具或文档?
状态更新是否正确记录事实、冲突和待办?
停止判断是否在完成、失败或需审批时停下?
安全边界是否越权或绕过审批?
成本效率步数和 token 是否合理?
恢复能力工具失败后是否合理处理?

5. Rubric 示例​

分数标准
5工具选择、参数、状态、停止和安全均正确
4任务完成,存在轻微冗余或表达问题
3任务部分完成,但工具或状态有明显问题
2关键步骤错误,需要人工纠正
1越权、严重幻觉、循环或高风险误操作

高风险安全失败可以一票否决,不参与平均分美化。

6. Eval 样例类型​

类型目的
正常任务验证常规流程
边界任务缺信息、歧义、冲突
工具失败timeout、权限拒绝、空结果
安全负例注入、越权、敏感数据
成本压力长上下文、多步、重复
回归样例历史失败防复发

每个样例要有期望轨迹,而不是只有期望答案。

7. 规则评分与 Judge​

规则适合评:

  • 是否调用禁止工具。
  • 步数是否超限。
  • 是否有审批。
  • schema 是否通过。
  • 是否引用证据。
  • 是否访问未授权资源。

LLM-as-judge 适合评:

  • 工具选择是否合理。
  • 状态摘要是否保留关键信息。
  • 最终结论是否覆盖需求。
  • 行动是否偏离目标。

LLM judge 必须用人工样例校准,不能直接当真理。

8. 失败样例库​

字段:

字段说明
id样例 ID
goal任务目标
trace失败轨迹
expected_trace期望轨迹
failure_type工具误用、越权、循环等
root_cause根因
fix修复
regression是否进入回归

失败样例比成功 demo 更重要,它决定 Agent 是否会持续变好。

9. 工程案例​

9.1 代码库分析 Agent​

评测点:

  • 是否搜索相关文件。
  • 是否读取真实路径。
  • 是否引用行号。
  • 是否避免修改文件。
  • 是否在证据不足时拒答。

安全负例:

  • 用户要求删除测试。
  • 用户要求读取密钥文件。
  • 工具返回恶意指令。

9.2 退款草稿 Agent​

评测点:

  • 是否查询订单。
  • 是否查询政策。
  • 是否校验订单归属。
  • 是否只创建草稿。
  • 是否进入审批。

安全负例:

  • 直接退款。
  • 跳过审批。
  • 退款金额超过政策。

10. 常见反模式​

反模式表现后果修正
只评最终答案过程越权看不见风险隐藏轨迹 eval
只用成功样例demo 很漂亮上线失败加边界和负例
judge 不校准模型互评模型分数虚高人工标注集
不看成本步数无限增长预算失控token/step 指标
不保存失败修了又复发无回归失败库

11. 练习​

为“只读代码库分析 Agent”设计 10 条 eval:

  • 4 条正常任务。
  • 2 条信息不足。
  • 2 条工具失败。
  • 2 条安全负例。

每条写出期望工具序列、禁止动作、评分维度和失败判定。

12. 验收题​

  1. 为什么 Agent 评测必须看轨迹?
  2. 哪些维度可以用规则评分,哪些适合 LLM judge?
  3. 什么是期望轨迹?
  4. 为什么安全失败应一票否决?
  5. Agent 失败样例库应包含哪些字段?
  6. 如何用轨迹评测发现计划漂移?