Anthropic:揭开 AI 代理评估的神秘面纱
概要
Anthropic 发布了一份详尽指南,介绍如何为 AI 代理构建严谨的评估("evals"),以避免陷入反应式调试循环并加速开发进程。核心要点是,有效的代理评估需要结合确定性、基于模型和人工评分机制,区分能力评估与回归测试套件,并坚持阅读对话记录,以确保评分者衡量的是实际性能,而非惩罚创造性表现。
代理评估的架构
评估 AI 代理比评估单轮大语言模型响应复杂得多,因为代理会进行多轮交互,修改环境状态,并可能找到绕过静态评分逻辑的创造性解决方案。
关键评估定义
为构建一致的评估系统,Anthropic 定义了以下组件:
- 任务(问题/测试用例): 一个具有明确定义输入和成功标准的单一测试。
- 试验(Trial): 对任务的一次尝试;运行多次试验以应对模型的非确定性。
- 评分器(Grader): 通过断言或检查来评分性能的逻辑。
- 对话记录(Transcript / Trace / Trajectory): 一次试验的完整记录,包括工具调用、推理过程和 API 交互。
- 结果(Outcome): 环境的最终状态(例如,数据库记录是否被实际创建)。
- 评估框架(Evaluation Harness): 运行任务、记录步骤并聚合结果的基础设施。
- 代理框架(Scaffold): 使模型能够作为代理运行的系统(例如,Claude Code)。
- 评估套件(Evaluation Suite): 一组用于衡量特定能力或行为的任务集合。
按代理类型划分的评估策略
不同代理架构需要量身定制的评分技术,以确保准确性和实用性。
编码代理
编码代理最适合使用确定性评分器。由于软件具有二元结果(运行成功或失败),最佳标准是在稳定环境中将生成的代码运行在单元测试上。
- 基准测试: SWE-bench Verified 和 Terminal-Bench 被列为典型示例,其中成功定义为在不破坏现有测试的前提下修复失败的测试。
- 混合方法: 尽管结果是确定性的,但可以使用大语言模型评分标准对对话记录进行评分,以评估代码质量和工具使用效率。
会话代理
会话代理需要多维度方法,因为交互质量与任务完成度同等重要。
- 模拟: 这类评估通常使用第二个大语言模型来模拟用户角色,以压力测试代理。
- 评分: 成功通过结合状态检查(例如,“工单是否已解决?”)、对话记录约束(例如,“是否在 <10 轮内完成?”)以及大语言模型评分标准来衡量语气和共情能力。
研究代理
研究代理产生开放式输出,其中“正确性”取决于上下文。
- 验证: 评估重点在于真实性(主张是否有来源支持)、覆盖度(是否包含关键事实)和来源质量。
- 校准: 由于研究质量具有主观性,基于大语言模型的评分标准必须频繁与专家人类判断进行校准。
计算机使用代理
这些代理通过截图和点击与 GUI 交互,而非 API。
- 环境: 评估需要沙盒环境(例如 WebArena 或 OSWorld),以便检查操作系统或浏览器的最终状态。
- 效率: 评估应跟踪代理选择合适工具(例如 DOM 提取 vs. 截图)的能力,以平衡延迟和 token 成本。
设计高效的评分器
Anthropic 建议采用分层评分方法,在速度、成本和细微差别之间取得平衡。
| 评分器类型 | 优势 | 劣势 |
|---|---|---|
| 基于代码 | 快速、客观、可复现、成本低。 | 对有效变化脆弱;缺乏细微差别。 |
| 基于模型 | 灵活、可扩展,能处理细微差别和开放式任务。 | 非确定性;需要人工校准。 |
| 人工 | 黄金标准;与专家判断一致。 | 成本高、速度慢,无法扩展。 |
能力评估 vs. 回归评估
- 能力(质量)评估: 旨在发现代理能力的上限。初始通过率较低,以提供“需要攀登的山峰”。
- 回归评估: 旨在确保现有功能不会退化。应保持接近 100% 的通过率。
- 生命周期: 当能力评估达到高通过率后,便“毕业”进入回归测试套件。
处理非确定性
由于代理行为在不同运行中会变化,单次通过/失败不足以判断。Anthropic 建议使用两个主要指标:
- pass@k: 在 k 次尝试中至少获得一次正确解的概率。这对任何单次成功即为胜利的工具非常有用。
- pass^k: k 次试验全部成功的概率。这对面向客户代理至关重要,因为可靠性和一致性是关键。
实施路线图
阶段 1:数据集收集
- 从小处着手: 从 20-50 个源自真实失败的任务开始。
- 避免歧义: 确保两名专家会得出相同结论。如果代理在多次试验中 100% 失败(pass@100 为 0%),通常表明任务规范已损坏,而非模型失败。
- 平衡数据集: 包含“负面”案例(即代理 不应 执行的操作),以防止过度触发行为。
阶段 2:框架与评分器设计
- 隔离: 确保每次试验从干净环境开始,防止共享状态人为提高分数。
- 结果优于路径: 评分应基于代理产生的结果,而非其采取的具体工具调用序列,以避免惩罚创造性的有效解决方案。
- 部分得分: 为包含多个组件的任务实现评分,以体现成功的连续性。
阶段 3:长期维护
- 对话记录审查: 定期阅读对话记录,以区分代理的真实错误与评分缺陷。
- 饱和度监控: 当评估达到 100% 通过率时,不再反映进步。团队必须开发更难的新评估以持续衡量进展。
- 评估驱动开发: 在构建功能前,先定义计划能力的评估任务,然后迭代直至代理通过。
全面的性能理解
自动化评估是第一道防线,但必须作为更广泛策略的一部分:
- 生产监控: 捕获真实世界中的分布漂移和意外故障。
- A/B 测试: 在大规模上验证实际用户结果(留存率、完成率)。
- 用户反馈: 揭示未预料的问题并提供真实世界示例。
- 人工审查: 建立对失败模式的直觉,并校准大语言模型评分器。
- 人类研究: 为主观任务提供黄金标准参考。
Sources
- OriginalDemystifying evals for AI agents
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch