Agent 评测
三种 Grader:代码、模型、人工
Grader 是评测系统的裁判。选错了 Grader,评测结果就不可信。生产环境的经验表明,三种 Grader 组合使用,各取所长。没有银弹,但有最优组合。
Grader 1:代码评判器
代码 Grader
用程序逻辑自动判定对错
| 维度 | 详情 |
|---|---|
| 方法 | 字符串匹配、正则表达式、静态分析(AST)、单元测试 pass/fail、工具调用验证(是否调用了正确的 API 和参数) |
| 优点 | 速度快(毫秒级)、成本几乎为零、结果完全客观可复现、适合 CI/CD 自动化 |
| 缺点 | 对合理变体过于严格(比如变量名不同就判错)、缺乏语义理解、无法评判主观质量 |
| 适用场景 | 有明确正确答案的任务:代码编译是否通过、API 返回值是否正确、文件格式是否合规、数学计算是否准确 |
Grader 2:模型评判器(LLM-as-Judge)
模型 Grader(LLM-as-Judge)
让另一个 LLM 按评分标准打分
| 维度 | 详情 |
|---|---|
| 方法 | 将 Agent 的输出和评分 Rubric 一起交给一个评委 LLM,让它按预设标准给出分数和理由 |
| 优点 | 能评判主观质量(文笔、逻辑性、创造力)、能理解意图而超越字面匹配、灵活适应不同任务类型 |
| 缺点 | 成本较高(每次评判都消耗 token)、可能存在评分偏见、需要精心设计评分标准、结果不完全可复现 |
| 适用场景 | 开放式任务:研究报告的质量评判、代码风格评估、对话的自然度、摘要的完整性和准确性 |
关键技巧:Rubric 要具体到每一分
模糊的标准如「给输出质量打 0-1 分」几乎没用。好的 Rubric 应该明确:
0 分 = 完全没有回答问题,或包含严重事实错误
0.3 分 = 回答了问题但遗漏关键信息
0.7 分 = 回答完整准确,但组织混乱或有冗余
1 分 = 完整、准确、简洁、结构清晰
0 分 = 完全没有回答问题,或包含严重事实错误
0.3 分 = 回答了问题但遗漏关键信息
0.7 分 = 回答完整准确,但组织混乱或有冗余
1 分 = 完整、准确、简洁、结构清晰
Grader 3:人工评判器
人工 Grader
由领域专家直接评判
| 维度 | 详情 |
|---|---|
| 何时用 | 评测初期校准评分标准、LLM 评判出现明显盲点时、需要领域专家判断的高风险场景(医疗、法律、金融) |
| 优点 | 最高质量的反馈、能发现自动化方法的盲区、提供改进方向的深度洞察 |
| 缺点 | 不可扩展(人的时间有限)、速度慢(小时级到天级)、成本高、评判者之间也有分歧 |
| 适用场景 | 定期抽检校准模型 Grader 的准确度、全新场景的评测标准建立、关键产品决策的最终验证 |
混合策略:推荐流程
三层评判体系
1
代码 Grader 打底
先覆盖所有确定性场景:编译通过、格式正确、API 调用准确。快且便宜。
2
模型 Grader 扩展
覆盖主观场景:输出质量、逻辑性、用户体验。设计好 Rubric 是关键。
3
人工定期校准
定期抽检模型 Grader 的评分是否漂移,修正偏见,确保评测体系可信。
核心逻辑:代码 Grader 保证底线(不出大错),模型 Grader 提升上限(产出质量),人工 Grader 校准裁判(保证公正)。三者缺一不可。
真实案例
Descript
视频编辑 Agent
Descript 的评测体系围绕三个维度展开,每个维度独立打分,组合评估:
不破坏 -- 编辑后视频无损
做了该做的 -- 指令被正确执行
做得好 -- 剪辑质量专业
Bolt AI
代码生成 Agent
Bolt AI 组合了三类 Grader 形成完整评测链:
- 静态分析(代码 Grader):检查生成代码是否编译通过、lint 无错误
- 浏览器 Agent 测试(代码 Grader):自动打开生成的页面,验证 UI 是否符合预期
- LLM Judge(模型 Grader):评判代码质量、可读性、最佳实践遵循度
没有银弹,三种 Grader 组合使用效果最好。代码 Grader 守底线、模型 Grader 提上限、人工 Grader 做校准,这是经过多个头部 Agent 团队验证的最佳实践。