AI Agent Eval Dataset 构建指南:怎样做一套能发现退化的测试集

HTMLPAGE 团队
14 分钟阅读

很多 AI Agent 团队有日志,也有线上投诉,但没有真正能复用的评测集。本文讲清 Eval Dataset 应该怎么抽样、写断言、做基线和持续回归,帮助你把“感觉变差了”变成可验证的退化信号。

#AI Agent #Eval Dataset #Evaluation #Regression Testing #工程化

如果没有评测集,AI Agent 的每次升级几乎都像一次下注。

你也许会有这些东西:

  • 几条线上事故样本
  • 一些用户反馈截图
  • 一份“我们感觉这次变好了”的主观印象

但这些都不等于一套能持续发现退化的 Eval Dataset。

真正可用的评测集,不只是收集问题样本,而是让团队能在版本变化后回答:

$$ 这次改动,究竟让系统在哪些任务上更好,在哪些任务上更差? $$

建议先看 AI Agent 评估框架完全指南AI Agent Session Replay 调试指南AI Agent 可观测性与 Tracing 实战AI Agent 记忆淘汰与摘要策略

一、Eval Dataset 不是题库,而是系统行为样本

很多团队会把评测集做成“问答题库”,然后发现它对真实 Agent 没什么帮助。

原因在于 Agent 不是单轮问答系统,它通常包含:

  • 上下文组装
  • 工具选择
  • 状态迁移
  • 权限判断
  • 最终输出或执行动作

所以评测集样本也应该覆盖这些层,而不是只测一句最终回答。

二、一个样本至少要包含什么

字段作用
task_id唯一样本标识
input用户输入或触发事件
context_snapshot当时关键上下文
expected_behavior希望系统做出的行为
assertions可以被机器验证的断言
risk_level样本风险等级

如果没有 expected_behaviorassertions,你的评测集最终会退化成“看人工感觉”的样本仓库。

三、典型失败案例:只测回答正确,不测动作是否安全

某团队给客服 Agent 做回归测试时,只验证“最终回复是否看起来合理”。

结果某次升级后,系统在文本上更流畅了,但工具调用策略变得更激进:

  • 本来应该先审批的动作被直接执行
  • 本来只该查只读数据,却调用了写工具

如果你的断言只覆盖回答质量,不覆盖执行安全,很多退化根本不会被发现。

四、样本从哪里来

推荐四个来源混合:

  1. 线上高价值成功样本:验证核心链路不退化
  2. 线上失败样本:确保老问题不会回来
  3. 边界条件样本:极长上下文、异常输入、冲突证据
  4. 人工构造样本:覆盖还没大规模出现但高风险的场景

评测集不要只采“最常见问题”,还要覆盖“最危险问题”。

五、断言怎么写才有工程价值

可以把断言拆成三层:

层级示例
结构断言是否返回了必填字段、是否符合 schema
行为断言是否调用了正确工具、是否进入正确状态
结果断言是否完成任务、是否满足质量阈值

这样即使最终结果没完全失败,你也能看到它是在哪一层开始偏离的。

六、Eval Dataset 要和版本管理绑在一起

每次变更下面这些内容,都应该跑回归:

  • prompt
  • policy
  • tool schema
  • memory strategy
  • routing / state machine

否则你再好的评测集,也只能在事故之后补救,而不能在上线前发现退化。

七、最值得追踪的评测指标

  • task_success_rate
  • assertion_pass_rate
  • safety_violation_rate
  • regression_case_reopen_rate
  • cost_per_eval_run

其中 regression_case_reopen_rate 很关键。它反映的是:已经修过的问题,有没有在后来又回来。

八、AI Agent Eval Dataset 上线清单

  • 样本覆盖成功链路、失败链路和高风险边界条件
  • 每个样本都有明确的期望行为和机器可验断言
  • 断言不只测回答质量,也测工具、状态和安全行为
  • 版本变更后会自动跑回归评测
  • replay 中的高价值失败 run 能沉淀回评测集

延伸阅读