Anthropic 揭秘 AI 智能体的评估——最佳实践与路线图
摘要
Anthropic 发布了一个用于设计 AI 智能体自动化评估的详细框架,展示了为什么严格的评估对于可靠交付至关重要,并提供了从任务收集到长期维护的实用路线图。
什么是评估?
评估(eval) 是一种测试,它将输入馈送给 AI 系统,然后对其输出应用评分逻辑。Anthropic 专注于在开发过程中无需人工用户即可运行的自动化评估。
- 单轮评估:一个提示、一个响应、简单的评分器。
- 多轮评估:涉及工具调用、状态变化以及一系列推理步骤。
- 智能体评估:结合多轮交互、环境变化,以及通常可能超越静态预期的创造性模型行为。
核心术语
| 术语 | 含义 |
|---|---|
| 任务 / 问题 | 具有明确输入和成功标准的单个测试用例。 |
| 试验 | 对任务的一次尝试;多次试验用于捕捉随机性。 |
| 评分器 | 对性能的某个方面进行评分的逻辑;可能包含多个检查项。 |
| 记录 / 轨迹 | 一次试验的完整记录,包括所有消息、工具调用和中间结果。 |
| 结果 | 环境的最终状态(例如,数据库中已存在预订)。 |
| 评估框架 | 运行任务、记录步骤、评分输出并汇总结果的基础设施。 |
| 智能体框架 / 脚手架 | 使模型能够充当智能体(编排工具调用)的系统。 |
| 评估套件 | 针对特定能力(例如客户支持场景)的任务集合。 |
为什么评估很重要
- 早期阶段的智能体可以手动测试,但一旦投入生产,团队就会失去对回归问题的可见性。
- 没有评估,调试是被动的:等待用户投诉、手动复现、修复,然后希望没有其他问题被破坏。
- 评估提供了基线指标、回归防护以及产品与研究之间的沟通渠道。
- 拥有评估管道的公司可以在几天内而非几周内采用新模型,因为他们可以快速衡量优势、调整提示并验证安全性。
评分器类型
- 基于代码的评分器——确定性检查(例如单元测试、静态分析)。非常适合编码智能体。
- 基于模型的评分器——LLM 作为评判者,使用结构化评分标准。对于语气或推理质量等主观维度很有用。
- 人工评分器——偶尔用于校准模型评判者或验证边缘情况。
评分器分数可以根据任务以加权、二元或混合方式组合。
能力评估与回归评估
- 能力评估 针对较低的通过率,以揭示弱点并指导改进。
- 回归评估 旨在接近 100% 的通过率,以捕获意外的破坏。
- 随着时间的推移,一旦智能体能够可靠地解决任务,能力测试集可以升级为回归测试集。
按智能体类型划分的评估技术
编码智能体
- 使用规格明确的任务和稳定的测试环境。
- 确定性评分器(单元测试)是主要的;例如,SWE-bench Verified 和 Terminal-Bench。
- 辅以转录评分器,用于评估工具使用模式和代码质量启发式方法。
对话智能体
- 同时衡量结果(例如,工单是否解决)和交互质量(语气、轮次数量)。
- 通常需要第二个 LLM 来模拟用户。
- 诸如 τ-Bench 和 τ2-Bench 之类的基准测试可评估多轮对抗性对话。
研究智能体
- 结合接地性检查、覆盖性检查和来源质量检查。
- 使用针对专家人类校准的 LLM 评分标准,因为“正确性”通常是主观的。
- 示例基准:BrowseComp(在开放网络上大海捞针)。
计算机使用智能体
- 在沙盒 GUI(浏览器、操作系统)中运行智能体,并验证最终状态(文件、数据库条目、UI 元素)。
- 基准测试:WebArena(浏览器任务)和 OSWorld(完整的操作系统控制)。
- 评估工具选择效率:DOM 提取与基于截图的交互。
处理非确定性
- pass@k – k 次试验中至少一次成功的概率。当单次成功就足够时很有用。
- pass^k – k 次试验全部成功的概率。对于注重一致性的产品至关重要。
- 应同时报告这两个指标;选择取决于是需要偶尔成功还是保证可靠性。
路线图:从零到可信赖的评估
| 步骤 | 行动 | 关键见解 |
|---|---|---|
| 0 | 尽早从 20-50 个真实世界失败案例开始。 | 当智能体频繁变化时,小样本也能提供高信号。 |
| 1 | 将现有的手动检查或 bug 跟踪器条目转换为任务。 | 确保评估反映实际用户影响。 |
| 2 | 编写无歧义的任务规范和参考解决方案。 | 两位专家应就通过/失败达成一致;模糊的规范会导致指标嘈杂。 |
| 3 | 平衡正面和负面案例,避免单边优化。 | 防止过度触发或欠触发行为(例如,不必要的搜索)。 |
| 4 | 构建稳定、隔离的评估框架(每次试验使用干净的环境)。 | 消除基础设施噪声,防止先前状态带来的不公平优势。 |
| 5 | 首先选择确定性评分器,在需要时添加 LLM 评分器,并偶尔通过人工审查进行校准。 | 僵化的逐步评分会惩罚创造性解决方案;应评分结果而非路径。 |
| 6 | 定期检查记录以验证评分器的公平性并发现隐藏的缺陷。 | 记录审查是确认评估衡量预期行为的主要方式。 |
| 7 | 注意评估饱和(分数接近 100%)。当出现饱和时,引入更困难的任务或新的维度。 | |
| 8 | 通过专门的评估团队以及产品负责人的贡献来维护套件;将套件视为单元测试库。 |
将评估与其他质量信号集成
- 自动化评估——在每次代码/模型变更时于 CI/CD 中运行。
- 生产监控——检测分布漂移和真实世界故障。
- A/B 测试——当流量允许时,验证重大变更。
- 用户反馈与转录采样——持续发现新的失败模式。
- 系统性人工研究——校准 LLM 评判者并评估高度主观的输出。
这些层共同构成一个瑞士奶酪模型的安全保障:每一层都能捕捉其他层可能遗漏的问题。
开源与商业评估框架
| 框架 | 优势 |
|---|---|
| Harbor | 容器化智能体执行,基准注册(例如 Terminal‑Bench 2.0)。 |
| Braintrust | 将离线评估与生产可观测性相结合;包含 autoevals 库。 |
| LangSmith / Langfuse | 紧密的 LangChain 集成、追踪、数据集管理;Langfuse 可自托管。 |
| Arize Phoenix / AX | 开源追踪与调试;AX 增加了 SaaS 扩展和监控。 |
选择适合你技术栈的框架,然后将精力集中在构建高质量的任务和评分器上。
结论
严格、自动化的评估是可靠 AI 智能体开发的支柱。通过定义清晰的任务、使用确定性和经过校准的评分器、同时衡量能力和回归,并长期维护评估套件,团队可以更快地交付智能体,自信地采用新模型,并避免代价高昂的被动调试循环。
核心术语
| 术语 | 含义 |
|---|---|
| 任务 / 问题 | 具有明确输入和成功标准的单个测试用例。 |
| 试验 | 对任务的一次尝试;多次试验可捕捉随机性。 |
| 评分器 | 对性能的某个方面进行评分的逻辑;可能包含多个检查项。 |
| 记录 / 轨迹 | 一次试验的完整记录,包括所有消息、工具调用和中间结果。 |
| 结果 | 环境的最终状态(例如,数据库中已存在预订)。 |
| 评估框架 | 运行任务、记录步骤、评分输出并汇总结果的基础设施。 |
| 智能体框架 / 脚手架 | 使模型能够作为智能体运行(编排工具调用)的系统。 |
| 评估套件 | 针对特定能力(例如客户支持场景)的任务集合。 |
为什么评估很重要
- 早期智能体可以手动测试,但一旦投入生产,团队就会失去对回归问题的可见性。
- 没有评估,调试是被动的:等待用户投诉、手动复现、修复,然后祈祷没有其他问题被破坏。
- 评估提供了基线指标、回归防护以及产品与研究之间的沟通渠道。
- 拥有评估管道的公司可以在几天内而非几周内采用新模型,因为他们可以快速衡量优势、调整提示并验证安全性。
评分器类型
- 基于代码的评分器——确定性检查(例如单元测试、静态分析)。非常适合编码智能体。
- 基于模型的评分器——LLM 作为裁判,使用结构化评分标准。适用于主观维度,如语气或推理质量。
- 人工评分器——偶尔校准模型裁判或验证边缘情况。
评分器分数可以根据任务以加权、二元或混合方式组合。
能力评估与回归评估
- 能力评估 针对较低的通过率,以揭示弱点并指导改进。
- 回归评估 旨在接近 100% 的通过率,以捕获意外的破坏。
- 随着时间的推移,一旦智能体能够可靠地解决任务,能力测试集可以升级为回归测试集。
按智能体类型划分的评估技术
编码智能体
- 使用规格明确的任务和稳定的测试环境。
- 确定性评分器(单元测试)是主要的;例如,SWE-bench Verified 和 Terminal-Bench。
- 辅以转录评分器,用于评估工具使用模式和代码质量启发式方法。
对话智能体
- 同时衡量结果(例如,工单是否解决)和交互质量(语气、轮次数量)。
- 通常需要第二个 LLM 来模拟用户。
- 诸如 τ-Bench 和 τ2-Bench 之类的基准测试可评估多轮对抗性对话。
研究智能体
- 结合基础性检查、覆盖性检查和来源质量检查。
- 使用针对专家人类校准的 LLM 评分标准,因为“正确性”通常是主观的。
- 示例基准:BrowseComp(在开放网络上大海捞针)。
计算机使用智能体
- 在沙盒 GUI(浏览器、操作系统)中运行智能体,并验证最终状态(文件、数据库条目、UI 元素)。
- 基准测试:WebArena(浏览器任务)和 OSWorld(完整的操作系统控制)。
- 评估工具选择效率:DOM 提取与基于截图的交互。
处理非确定性
- pass@k – k 次试验中至少一次成功的概率。当单次成功就足够时很有用。
- pass^k – k 次试验全部成功的概率。对于注重一致性的产品至关重要。
- 应同时报告这两个指标;选择取决于是需要偶尔成功还是保证可靠性。
路线图:从零到可信赖的评估
| 步骤 | 行动 | 关键见解 |
|---|---|---|
| 0 | 尽早从 20-50 个真实世界失败案例开始。 | 当智能体频繁变化时,小样本也能提供高信号。 |
| 1 | 将现有的手动检查或 bug 跟踪器条目转换为任务。 | 确保评估反映实际用户影响。 |
| 2 | 编写无歧义的任务规范和参考解决方案。 | 两位专家应就通过/失败达成一致;模糊的规范会导致指标嘈杂。 |
| 3 | 平衡正面和负面案例,避免单方面优化。 | 防止过度触发或欠触发行为(例如,不必要的搜索)。 |
| 4 | 构建稳定、隔离的评估框架(每次试验使用干净环境)。 | 消除基础设施噪声,防止先前状态带来的不公平优势。 |
| 5 | 首先选择确定性评分器,在需要的地方添加 LLM 评分器,并偶尔通过人工审查进行校准。 | 僵化的逐步评分会惩罚创造性解决方案;应评分结果而非路径。 |
| 6 | 定期检查记录以验证评分器的公平性并发现隐藏的缺陷。 | 记录审查是确认评估衡量预期行为的主要方式。 |
| 7 | 注意评估饱和(分数接近 100%)。当出现饱和时,引入更困难的任务或新的维度。 | |
| 8 | 通过专门的评估团队以及产品负责人的贡献来维护测试套件;将测试套件视为单元测试库。 |
将评估与其他质量信号集成
- 自动化评估——在每次代码/模型变更时于 CI/CD 中运行。
- 生产监控——检测分布漂移和真实世界故障。
- A/B 测试——在流量允许时验证重大变更。
- 用户反馈与转录采样——持续发现新的失败模式。
- 系统性人工研究——校准 LLM 评判器并评估高度主观的输出。
这些层共同构成一个瑞士奶酪模型的安全保障:每一层都能捕捉其他层可能遗漏的问题。
开源和商业评估框架
| 框架 | 优势 |
|---|---|
| Harbor | 容器化智能体执行,基准注册(例如 Terminal‑Bench 2.0)。 |
| Braintrust | 将离线评估与生产可观测性相结合;包含 autoevals 库。 |
| LangSmith / Langfuse | 紧密的 LangChain 集成、追踪、数据集管理;Langfuse 可自托管。 |
| Arize Phoenix / AX | 开源追踪与调试;AX 增加了 SaaS 扩展和监控。 |
选择适合你技术栈的框架,然后将精力集中在构建高质量的任务和评分器上。
要点
严格、自动化的评估是可靠 AI 智能体开发的支柱。通过定义清晰的任务、使用确定性和经过校准的评分器、同时衡量能力和回归,并长期维护评估套件,团队可以更快地交付智能体,自信地采用新模型,并避免代价高昂的被动调试循环。
Sources
- OriginalDemystifying evals for AI agents