AI Agent评测从0到1:三层指标体系与一份可直接套用的评测表
大多数Agent评测失败在指标设计。本文给出结果层、过程层、成本层三层指标体系,附30条任务集的构建方法与一份可落地的评测表模板。
“我们的 Agent 感觉不太好用”——这句话没法推动工程改进,因为它不可度量。
做 Agent 评测最常见的失败场景是:搭了一套评测,跑出来一个”准确率 82%“的数字,然后没人知道该怎么改进。原因通常是指标只盯结果、不看过程。
一、为什么单一准确率不够
Agent 与普通模型调用的区别在于多步。同一个任务,成功与失败之间还有大量”过程质量”差异:
- 成功但用了 15 步(本该 4 步)
- 成功但中途查了敏感数据
- 失败但没有陷入死循环(及时放弃,可接受)
- 失败并陷入死循环(不可接受)
只统计”成功/失败”,会把上述四类全塞进两个桶,改进方向就丢失了。
二、三层指标体系
结果层:任务做成了没有
- 完成率:按难度分档统计,不要把简单题和难题混算。
- 正确率:区分”完成了但结果错”和”没完成”。
- 一致性:同一任务跑 3 次,结果是否稳定。这把”运气好”和”真稳定”分开。
过程层:怎么做到的
- 步数效率:实际步数 / 专家参考步数。
- 工具选择正确率:该用 A 工具时是否用了 A。
- 无效调用率:调用失败、返回空、参数错误的占比。
- 安全性违规次数:越权、写入未确认、访问敏感资源。
- 异常处理质量:遇到错误是重试、换路,还是直接崩溃。
成本层:花了多少
- 单任务 token 消耗(输入/输出分开)
- 单任务耗时(含模型延迟与工具耗时)
- 重试次数
三、任务集怎么构建
30 条就够起步,关键是分层:
| 类型 | 数量 | 说明 |
|---|---|---|
| 顺风题 | 10 | 标准流程,验证基本能力 |
| 需要澄清题 | 8 | 信息不全,看是否主动提问 |
| 边界题 | 6 | 政策边界、权限边界 |
| 故障注入题 | 4 | 工具返回错误、超时、空结果 |
| 对抗题 | 2 | 诱导越权或诱导编造 |
故障注入题是最容易被忽略、也最能暴露问题的一类。 大多数团队上线后遇到的真事故,都发生在工具失败的时候。
每条任务必须带三样东西:清晰的验收标准、专家参考路径、不可接受的行为清单。
四、可套用的评测表
任务ID:
任务描述:
难度:简单 / 中 / 难
─────────────────────────
[结果层]
是否完成:是 / 否
结果正确:是 / 否 / 部分
三次运行一致性:高 / 中 / 低
─────────────────────────
[过程层]
步数:___ (参考:___)
工具调用:正确__次 / 错误__次 / 失败__次
是否主动澄清:是 / 否
是否陷入循环:是 / 否(超过__步判定)
违规行为:无 / ______
─────────────────────────
[成本层]
输入token:___ 输出token:___
耗时:___秒 重试:__次
─────────────────────────
[备注]
失败原因归类:信息不足 / 工具错误 / 判断错误 / 流程缺失 / 其他
五、怎么把结果变成改进动作
评测出来的数据要对到具体的改进点上:
| 症状 | 改进方向 |
|---|---|
| 步数明显偏高 | 检查工具描述、增加流程说明(Skill)、减少无关工具 |
| 工具选择错 | 精简工具清单、改工具名与描述、加使用示例 |
| 澄清题失败 | 补系统提示中的”信息不足时应先问”、检查是否有强制澄清节点 |
| 故障注入题失败 | 补重试策略、加降级路径、加最大步数限制 |
| 一致性低 | 降低温度、固定随机性、减少开放式判断 |
| 成本高 | 上下文压缩、模型分级路由、缓存重复调用 |
六、持续化:从一次性评测到回归
一次性评测很快会过时。要做的是把它变成回归测试:
- 每次改提示词、改工具、换模型,跑一遍全套
- 把线上真实失败案例沉淀成新任务
- 记录每个版本的三层指标,画趋势线
判断标准很简单:如果一次改动让完成率涨了 2% 但成本涨了 40%,这个改动是否值得,表格会告诉你。
评测的意义不是给你一个漂亮的数字,是让你在每次改动前知道自己在拿什么换什么。