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 建议使用两个主要指标:

  1. pass@k:k 次尝试中至少获得一次正确解的概率。这对任何单次成功即为胜利的工具非常有用。
  2. pass^k: k 次试验全部成功的概率。这对面向客户代理至关重要,因为可靠性和一致性是关键。

实施路线图

阶段 1:数据集收集

  • 从小处着手: 从 20-50 个源自真实失败的任务开始。
  • 避免歧义: 确保两名专家会得出相同结论。如果代理在多次试验中 100% 失败(pass@100 为 0%),通常表明任务规范已损坏,而非模型失败。
  • 平衡数据集: 包含“负面”案例(即代理 不应 执行的操作),以防止过度触发行为。

阶段 2:框架与评分器设计

  • 隔离: 确保每次试验从干净环境开始,防止共享状态人为提高分数。
  • 结果优于路径: 评分应基于代理产生的结果,而非其采取的具体工具调用序列,以避免惩罚创造性的有效解决方案。
  • 部分得分: 为包含多个组件的任务实现评分,以体现成功的连续性。

阶段 3:长期维护

  • 对话记录审查: 定期阅读对话记录,以区分代理的真实错误与评分缺陷。
  • 饱和度监控: 当评估达到 100% 通过率时,不再反映进步。团队必须开发更难的新评估以持续衡量进展。
  • 评估驱动开发: 在构建功能前,先定义计划能力的评估任务,然后迭代直至代理通过。

全面的性能理解

自动化评估是第一道防线,但必须作为更广泛策略的一部分:

  • 生产监控: 捕获真实世界中的分布漂移和意外故障。
  • A/B 测试: 在大规模上验证实际用户结果(留存率、完成率)。
  • 用户反馈: 揭示未预料的问题并提供真实世界示例。
  • 人工审查: 建立对失败模式的直觉,并校准大语言模型评分器。
  • 人类研究: 为主观任务提供黄金标准参考。

Sources

相关