Agent Evals 速查表
不要只看 raw agreement。
设计顺序
| 步骤 | 产出 |
|---|---|
| 定义产品成功 | success/failure spec |
| 抽样真实 trace | 20 到 100 条样本 |
| Open coding | 每条失败的一句最上游错误 |
| Axial coding | 4 到 8 个失败类别 |
| 优先级排序 | frequency x severity x business value |
| 写 scorer | assertion / verifier / judge |
| 校准 judge | TP/FP/TN/FN, TPR/TNR |
| 回归保护 | regression cases + CI gate |
| 线上监控 | 抽样评分 + 新失败回流 |
Scorer 选择
| 问题 | 首选 |
|---|---|
| 格式、字段、范围 | deterministic assertion |
| 数据库、文件、测试结果 | state verifier / unit tests |
| 工具是否调用 | trace assertion |
| 多条合理路径 | outcome verifier + trajectory diagnostics |
| 语气、忠实性、是否该追问 | binary LLM judge |
| 高风险合规 | verifier + judge + human audit |
指标选择
| 你关心的问题 | 指标 |
|---|---|
| 单次能不能做对 | pass@1 |
| 多试几次至少一次成功 | pass@k |
| 每次重复都成功 | pass^k |
| judge 是否抓住真实失败 | TPR / recall |
| judge 是否放行真实通过 | TNR / specificity |
| judge 判失败时有多准 | precision |
| 失败是否集中在某类用户 | failure rate by segment |
| 是否值得上线 | success rate + severity + cost + latency |
Judge 校准
positive = failure
TP: judge 判 FAIL,人工也是 FAIL
FP: judge 判 FAIL,人工是 PASS
TN: judge 判 PASS,人工也是 PASS
FN: judge 判 PASS,人工是 FAIL
TPR = TP / (TP + FN)
TNR = TN / (TN + FP)
Precision = TP / (TP + FP)不要只看 raw agreement。
Agent Eval 必查
| 检查 | 问题 |
|---|---|
| Output | 最终回答是否正确、合规、格式正确 |
| Trace | 工具选择、参数、顺序、错误处理是否合理 |
| Outcome | 最终环境状态是否正确 |
| Side effects | 是否改变了不该改变的状态 |
| Reliability | 同一任务重复运行是否稳定 |
| Runtime | eval 环境是否贴近生产环境 |
| Cost | 成本和延迟是否可接受 |
Dataset 类型
| 类型 | 用途 |
|---|---|
| Golden set | 日常比较版本 |
| Regression set | 防止旧 bug 复活 |
| Holdout set | 发布前估计泛化 |
| Production sample | 发现新失败和漂移 |
| Synthetic set | 无数据时覆盖维度,但必须验证触发路径 |
Benchmark 审计
| 问题 | 说明 |
|---|---|
| 是否可能污染 | 训练 cutoff、题目公开时间、相似题 |
| 是否饱和 | 强模型是否接近满分 |
| 标签是否可靠 | ground truth、测试、人工审计 |
| harness 是否透明 | prompt、tools、runtime、sampling |
| 是否报告成本 | token、latency、tool calls |
| 是否有 hidden/OOD | public rank 是否预测 hidden rank |
| 是否有治理规则 | 私测、撤分、deprecation、版本披露 |
CI Gate 建议
适合 gate:
- deterministic assertions
- state verifiers
- high-risk regression cases
- 已校准的低波动 binary judges
不适合硬 gate:
- 未校准 judge
- 连续主观分
- 小样本探索指标
- 高波动线上抽样
常用判断
- 能用代码检查,就不要用 LLM judge。
- 能看最终状态,就不要只看聊天文本。
- 能分 failure mode,就不要用一个综合质量分。
- 能看 TPR/TNR,就不要只看 agreement。
- 能做 pass^k,就不要只展示 demo 成功样本。
- 能记录 trace,就不要只存 final answer。
- 能用真实数据,就不要只靠 synthetic data。