评分器设计
概述
评分器设计是 Agent 评测的核心组件,涵盖基于代码、基于模型(LLM-as-Judge)、人工三类评分器的选择策略与最佳实践。
关键内容
- 基于代码的评分器:
- 字符串匹配(精确/正则/模糊):快速、便宜、客观,但对格式变体过于严格
- 二进制测试(fail-to-pass/pass-to-pass):天然适合编码任务,但缺乏细粒度
- 静态分析(lint/类型/安全):客观评估代码质量,不能评估语义正确性
- 结果验证(检查 DB 状态等):最接近真实用户体验,需要可访问的持久化状态
-
工具调用验证:验证关键流程步骤,但 Agent 可能以不同方式完成任务
-
基于模型的评分器(LLM-as-Judge):
- 灵活、可扩展、能捕捉细粒度、适合开放性任务
- 非确定性、更昂贵、需要与人类持续校准
-
最佳实践:给退路、独立维度、结构化 Rubric、定期校准
-
人工评分器:
- 黄金标准,捕捉自动化检查遗漏的边缘情况
- 典型案例:Descript 发现 Agent 视频编辑意外行为;Anthropic 发现研究 Agent 偏向 SEO 内容农场
-
应用于校准 LLM 评分器和发现系统性偏差
-
设计原则:
- 避免检查具体工具调用序列(Agent 可能以不同方式完成任务)
- 验证实际环境状态(Outcome),而非 Agent 自我报告(Transcript 声明)
- 为多组件任务设置部分分数(如解决但遗漏退款的客服 Agent 比立即失败的强)
- 设计评分器对绕过和作弊有抵抗性
来源
- raw/articles/ai-engineering/anthropic-engineering/claude-engineering/12_demystifying_evals.md — 三类评分器章节
相关
- Agent 评测体系 — part_of(评分器是评测体系的核心组件)
- LLM-as-Judge — implements(基于模型的评分器实现)
- 评测驱动开发 — uses(评分器设计是评测框架的基础)
- Transcript vs Outcome — relates_to(评分器应验证 Outcome 而非 Transcript)