刘常宁

正在加载内容与界面动效

揭秘AI智能体的评估方法

2026/03/271 次浏览0 个赞

揭秘AI智能体的评估方法

2026年1月9日 发布 Anthropic工程团队

让AI智能体具备实用价值的那些能力,也让其评估工作变得极具挑战性。能在实际部署中落地的评估策略,需要结合多种技术手段,才能匹配所测系统的复杂程度。

引言

完善的评估体系能让研发团队更有信心地推出AI智能体。缺少评估,团队很容易陷入被动的问题解决循环——只有在生产环境中才发现问题,而修复一个故障又可能引发新的问题。评估能在问题影响用户前,就让其暴露出来,同时让智能体的行为变化变得可感知,其价值会在智能体的全生命周期中持续累积。

正如我们在《构建高效AI智能体》一文中所阐述的,智能体的运行涉及多轮交互:调用工具、更新状态,并根据中间结果调整行为。正是这些让AI智能体具备实用价值的能力——自主性、智能性和灵活性,使其评估工作难度大增。

通过内部研发实践,以及与身处智能体开发前沿的客户合作,我们总结出了设计更严谨、更实用的智能体评估体系的方法。以下是经各类智能体架构和实际落地场景验证的有效实践。

评估的构成体系

评估,即对AI系统的测试:向AI输入信息,再通过评分逻辑对其输出结果进行评判,以此衡量任务完成的成功率。本文聚焦于自动化评估,这类评估可在研发阶段独立运行,无需真实用户参与。

单轮评估的流程十分直观:输入提示词、获取模型响应、通过评分逻辑评判。早期大语言模型的评估主要采用这种单轮、非智能体式的评估方法。随着AI能力的提升,多轮评估的应用越来越广泛。

在简单的评估中,智能体处理提示词后,评估器会检查其输出是否符合预期。而在更复杂的多轮评估中,代码智能体将获得工具、任务(如搭建MCP服务器)和运行环境,执行“智能体循环”(工具调用与逻辑推理),并通过实际开发更新环境状态。后续评估则会通过单元测试验证搭建的MCP服务器是否可正常运行。

AI智能体的评估则复杂得多。智能体会在多轮交互中持续调用工具,在环境中修改状态并动态调整行为——这意味着错误会不断传播和叠加。前沿模型还可能找到超出静态评估体系限定的创新解决方案。例如,Opus 4.5在解决τ2基准测试中的机票预订问题时,发现了政策中的一个漏洞。从评估规则来看,它的解法属于“失败”,但实际上它为用户提供了更优的解决方案。

在构建智能体评估体系时,我们采用以下定义:

  • 任务(也可称问题、测试用例):一项独立的测试,包含明确的输入要求和成功判定标准。
  • 尝试:针对某一任务的单次执行过程。由于模型输出存在随机性,需通过多次尝试获得更稳定的评估结果。
  • 评估器:对智能体某方面表现进行评分的逻辑体系。一个任务可搭配多个评估器,每个评估器包含多项断言(也可称检查项)。
  • 记录文本(也可称轨迹):一次尝试的完整记录,包括输出结果、工具调用、逻辑推理、中间结果及其他所有交互行为。对于Anthropic API而言,这是评估结束后生成的完整消息数组,包含评估过程中所有的API调用和返回响应。
  • 结果状态:一次尝试结束后,环境的最终状态。例如,机票预订智能体的记录文本中可能显示“机票已完成预订”,但实际结果状态需以环境的SQL数据库中是否存在预订记录为准。
  • 评估框架:端到端运行评估的基础设施,负责下发指令、提供工具、并发执行任务、记录所有步骤、对输出评分并汇总结果。
  • 智能体框架(也可称脚手架):让模型具备智能体能力的系统,可处理输入、协调工具调用并返回结果。我们评估“某一智能体”时,实际是评估智能体框架与模型的协同表现。例如,Claude Code是一款灵活的智能体框架,我们通过智能体开发工具包(Agent SDK)调用其核心原语,搭建了长时运行的智能体框架。
  • 评估套件:用于衡量特定能力或行为的一系列任务集合,套件内的任务通常围绕一个核心目标设计。例如,客户服务评估套件可包含退款、取消订单、问题升级等测试任务。

为何要构建评估体系?

团队在开发智能体的初期,通过人工测试、内部试用和经验判断,往往能取得不错的初期进展。此时,更严谨的评估甚至会被视为拖慢上线进度的额外工作。但当智能体完成早期原型开发、投入生产并开始规模化落地后,缺乏评估体系的开发模式便会暴露出诸多问题。

问题的爆发点通常出现在:用户反馈智能体在更新后表现变差,而团队却“两眼一抹黑”,除了反复试错,没有任何有效手段验证问题。缺少评估体系,调试工作只能被动进行:等待用户投诉、人工复现问题、修复漏洞,再祈祷不会引发新的问题。团队无法区分真实的性能退化和随机波动,无法在上线前针对数百种场景自动测试更新内容,也无法量化评估智能体的性能提升。

我们多次见证过这一发展过程。例如,Claude Code最初依靠Anthropic员工和外部用户的反馈快速迭代,后续才逐步引入评估体系——先针对简洁性、文件编辑等细分场景,再扩展到过度工程化等更复杂的行为。这些评估体系帮助团队发现问题、指导优化方向,并推动研发与产品团队的协作。结合生产环境监控、A/B测试、用户研究等手段,评估体系为Claude Code的规模化迭代优化提供了关键依据。

在智能体生命周期的任何阶段,构建评估体系都具有重要价值。开发初期,评估能倒逼产品团队明确智能体的成功标准;后期则能帮助团队维持稳定的质量基准。

Descript公司的智能体助力用户进行视频编辑,该团队围绕视频编辑工作流的三个核心维度构建了评估体系:不破坏原有内容、完成用户指令、高质量完成任务。其评估方式从人工评分,逐步演进为结合产品团队制定的评判标准、并经人工定期校准的大语言模型评分模式,目前还会定期运行两套独立的评估套件,分别用于质量基准测试和回归测试。Bolt AI团队则是在其智能体已广泛落地后,才开始构建评估体系,仅用3个月就搭建了一套完整的评估系统:通过静态分析运行智能体并评分,借助浏览器智能体测试应用,同时利用大语言模型评估智能体的指令遵循能力等行为。

部分团队在开发初期就搭建评估体系,也有团队在智能体规模化落地、评估成为性能优化瓶颈时才着手建设。开发初期构建评估体系的优势尤为明显,能将预期的智能体行为明确编码为测试标准。两名工程师阅读同一初始需求文档,对AI如何处理边缘场景可能会有不同理解,而评估套件能有效消除这种歧义。无论在哪个阶段构建,评估体系都能加速智能体的开发进程。

评估体系还能大幅提升团队对接新模型的效率。当更强大的模型发布时,没有评估体系的团队需要数周时间开展测试,而拥有评估体系的竞争对手能快速识别新模型的优势、调优提示词,并在数天内完成模型升级。

一旦搭建好评估体系,团队就能免费获得性能基准和回归测试能力:可基于固定的任务库,持续跟踪延迟、令牌使用量、单任务成本和错误率等指标。评估体系还能成为产品与研发团队之间最高效的沟通渠道,为研发团队明确需要优化的核心指标。显然,评估体系的价值远不止于跟踪性能退化和提升,其长期累积的价值往往容易被忽视——因为搭建成本是显性的,而价值会在后续逐步体现。

如何评估AI智能体?

目前规模化落地的AI智能体主要包括代码智能体、研究智能体、计算机操作智能体和对话智能体等类型。尽管这些智能体的应用行业各不相同,但评估方法具有共通性,无需从零开始设计评估体系。以下介绍经验证的各类智能体评估技巧,可将其作为基础,结合具体业务场景扩展优化。

智能体的评估器类型

智能体评估通常结合三种类型的评估器:代码型模型型人工型。每种评估器都会针对记录文本或结果状态的特定部分进行评判。设计高效评估体系的核心,是为具体任务选择合适的评估器。

代码型评估器

评估方法 优势 劣势
字符串匹配检查(精确匹配、正则匹配、模糊匹配等)
二元测试(失败/成功)
静态分析(代码检查、类型校验、安全检测)
结果状态验证
工具调用验证(调用的工具、参数)
记录文本分析(交互轮数、令牌使用量)
速度快
成本低
结果客观
可复现
易调试
能验证特定条件
对未完全匹配预期模式的有效变体兼容性差
缺乏细节考量
对主观性较强的任务评估能力有限

模型型评估器

评估方法 优势 劣势
基于评分标准的打分
自然语言断言
两两对比
基于参考答案的评估
多评估器共识判定
灵活性高
可规模化
能捕捉细节差异
适配开放式任务
支持自由格式输出
结果非确定性
成本高于代码型评估器
需结合人工评估校准以保证准确性

人工型评估器

评估方法 优势 劣势
领域专家评审
众包判定
随机抽样检查
A/B测试
标注者间一致性校验
黄金标准级别的评估质量
匹配专业用户的判断标准
可用于校准模型型评估器
成本高
速度慢
规模化落地需大量领域专家

针对单个任务,评分方式可采用加权制(各评估器得分总和达到阈值即为通过)、全通制(所有评估器均判定通过)或混合制

能力评估与回归评估

能力评估(也叫质量评估) 旨在回答“这款智能体擅长完成哪些任务?”。这类评估的初始通过率应设定在较低水平,聚焦于智能体现阶段难以完成的任务,为团队设定明确的优化目标。

回归评估 旨在回答“智能体是否仍能完成所有原本擅长的任务?”,其通过率应接近100%。这类评估用于防止智能体性能退化,一旦评分下降,即表明系统出现故障,需要优化。团队在推进能力评估目标的同时,必须同步开展回归评估,确保优化不会引发其他环节的问题。

当智能体上线并完成优化后,原本高通过率的能力评估任务可“升级”为回归评估套件,持续运行以捕捉性能漂移。这些任务的评估目标也会从“我们能否完成这项任务?”转变为“我们能否稳定可靠地完成这项任务?”。

代码智能体的评估

代码智能体可完成代码编写、测试和调试,能像人类开发者一样浏览代码库、执行命令。评估现代代码智能体的有效方式,通常依赖定义清晰的任务稳定的测试环境对生成代码的全面测试

代码智能体天然适合采用确定性评估器,因为软件的评估标准十分明确:代码能否运行?测试是否通过?SWE-bench Verified和Terminal-Bench是两款广泛使用的代码智能体基准测试工具,均采用这一评估思路。SWE-bench Verified向智能体提供主流Python仓库中的GitHub问题,通过运行测试套件评判解决方案,只有在修复故障测试且不破坏原有功能的情况下,解决方案才会被判定为通过。仅一年时间,大语言模型在该评估中的通过率就从40%提升至80%以上。Terminal-Bench则采用不同思路,聚焦端到端的技术任务,例如从源码编译Linux内核、训练机器学习模型等。

在为代码任务设计了一系列成功/失败的验证测试后,对记录文本进行评分也能带来重要价值。例如,基于启发式规则的代码质量标准,可从超越“测试通过”的维度评估生成代码;结合清晰评分标准的模型型评估器,可评估智能体的工具调用方式、与用户的交互行为等。

示例:代码智能体的理论评估方案

以修复身份验证绕过漏洞的代码任务为例,可通过如下YAML文件所示的方式,结合多种评估器和指标对智能体进行评估:

task:
  id: "fix-auth-bypass_1"
  desc: "修复密码字段为空时的身份验证绕过漏洞……"
  graders:
    - type: deterministic_tests
      required: [test_empty_pw_rejected.py, test_null_pw_rejected.py]
    - type: llm_rubric
      rubric: prompts/code_quality.md
    - type: static_analysis
      commands: [ruff, mypy, bandit]
    - type: state_check
      expect:
        security_logs: {event_type: "auth_blocked"}
    - type: tool_calls
      required:
        - {tool: read_file, params: {path: "src/auth/*"}}
        - {tool: edit_file}
        - {tool: run_tests}
  tracked_metrics:
    - type: transcript
      metrics:
        - n_turns
        - n_toolcalls
        - n_total_tokens
    - type: latency
      metrics:
        - time_to_first_token
        - output_tokens_per_sec
        - time_to_last_token

本示例为展示评估器的完整类型而设计,实际的代码评估中,通常仅通过单元测试验证代码正确性,并通过大语言模型评分标准评估整体代码质量,仅在需要时才添加其他评估器和指标。

对话智能体的评估

对话智能体主要在客户支持、销售、辅导等领域与用户交互,与传统聊天机器人不同,它能维持会话状态、调用工具,并在对话过程中执行操作。尽管代码智能体和研究智能体也会与用户进行多轮交互,但对话智能体的评估存在独特挑战:交互过程本身的质量也是评估的核心维度

评估对话智能体的有效方式,通常依赖可验证的最终状态结果,以及能同时捕捉任务完成度交互质量的评分标准。与其他类型的评估不同,对话智能体的评估通常需要借助第二个大语言模型模拟用户行为。我们在对齐审计智能体中就采用了这一方法,通过长时间的对抗性对话,对模型进行压力测试。

对话智能体的成功标准具有多维性:工单是否解决(状态检查)、是否在10轮内完成(记录文本约束)、语气是否恰当(大语言模型评分)。τ-Bench及其升级版τ2-Bench是两款融入多维评估标准的基准测试工具,它们能模拟零售客服、机票预订等领域的多轮交互,由一个模型扮演用户角色,智能体则处理真实的业务场景。

示例:对话智能体的理论评估方案

以处理愤怒客户的退款申请这一客服任务为例,评估方案如下:

graders:
  - type: llm_rubric
    rubric: prompts/support_quality.md
    assertions:
      - "智能体对客户的不满表达了共情"
      - "问题解决方案向客户清晰说明"
      - "智能体的回复基于fetch_policy工具的查询结果"
  - type: state_check
    expect:
      tickets: {status: resolved}
      refunds: {status: processed}
  - type: tool_calls
    required:
      - {tool: verify_identity}
      - {tool: process_refund, params: {amount: "<=100"}}
      - {tool: send_confirmation}
  - type: transcript
    max_turns: 10
tracked_metrics:
  - type: transcript
    metrics:
      - n_turns
      - n_toolcalls
      - n_total_tokens
  - type: latency
    metrics:
      - time_to_first_token
      - output_tokens_per_sec
      - time_to_last_token

与代码智能体示例一致,本示例为展示评估器类型而设计。实际的对话智能体评估中,通常采用模型型评估器,同时评估沟通质量和目标完成度——因为许多任务(如回答问题)存在多种“正确”的解决方案。

研究智能体的评估

研究智能体可收集、整合、分析信息,并生成答案、报告等输出结果。与代码智能体的单元测试能给出明确的成功/失败信号不同,研究成果的质量评估具有场景依赖性。“全面”“来源可靠”甚至“正确”的定义,会随场景变化:市场扫描、收购尽职调查、科学报告,三者的评估标准截然不同。

研究智能体的评估面临独特挑战:领域专家可能对某一整合结果是否全面存在分歧;参考资料的不断更新会导致“标准答案”发生变化;更长、更开放的输出结果,也会增加错误出现的概率。例如,BrowseComp基准测试工具专门检验AI智能体在互联网中“大海捞针”的能力——设计的问题验证难度低,但解决难度高。

构建研究智能体评估体系的一个有效策略,是组合多种类型的评估器

  • 真实性检查:验证结论是否有检索来源支撑;
  • 覆盖度检查:定义优质答案必须包含的核心事实;
  • 来源质量检查:确认参考来源具有权威性,而非仅检索到的首个结果。

对于存在客观标准答案的任务(如“X公司第三季度的营收是多少?”),可采用精确匹配的评估方式。大语言模型不仅能标记无依据的结论和信息覆盖的漏洞,还能验证开放式整合结果的连贯性和完整性。

鉴于研究质量评估的主观性,基于大语言模型的评分标准需要定期结合领域专家的判断进行校准,才能实现对研究智能体的有效评估。

计算机操作智能体的评估

计算机操作智能体并非通过API或代码执行,而是通过与人类相同的界面与软件交互——包括截图、鼠标点击、键盘输入、滚动操作等,能操作任何带有图形用户界面(GUI)的应用,从设计工具到传统企业级软件均能适配。

这类智能体的评估,需要让其在真实或沙箱化的环境中运行,操作各类软件应用,并检查其是否达成预期目标。例如,WebArena专门测试浏览器相关任务,通过URL和页面状态检查验证智能体的导航是否正确,同时对修改数据的任务进行后端状态验证(确认订单实际提交成功,而非仅显示确认页面)。OSWorld则将评估范围扩展到全操作系统控制,通过评估脚本在任务完成后检查各类产物:文件系统状态、应用配置、数据库内容、UI元素属性等。

浏览器操作智能体的评估,需要在令牌效率延迟之间找到平衡:基于DOM的交互执行速度快,但消耗大量令牌;基于截图的交互速度较慢,但令牌效率更高。例如,让Claude总结维基百科内容时,从DOM中提取文本的效率更高;而让其在亚马逊上寻找新款电脑包时,截图方式的效率更高(提取完整DOM会消耗大量令牌)。在开发Claude for Chrome产品时,我们构建了专门的评估体系,确保智能体能根据不同场景选择合适的交互方式,从而提升浏览器相关任务的执行速度和准确性。

如何看待AI智能体评估中的非确定性

无论哪种类型的智能体,其行为在不同次运行中都存在随机性,这让评估结果的解读难度远超表面看起来的程度。每个任务都有其独立的成功率——可能在某一任务上达到90%,在另一任务上仅50%,且某次评估中通过的任务,在下次评估中可能失败。有时,我们需要衡量的是智能体在某一任务上的成功概率(即多次尝试中的成功比例)。

以下两个指标能有效捕捉这一细节:

  1. pass@k:衡量智能体在k次尝试中至少获得一次正确解决方案的概率。k值越大,pass@k得分越高——尝试次数越多,至少成功一次的概率就越大。若pass@1得分为50%,表示模型在首次尝试时,能完成评估中50%的任务。在代码领域,我们通常最关注智能体的首次尝试成功率(pass@1);而在其他场景中,只要能提出多种解决方案且其中一种有效,就是符合要求的。
  2. pass^k:衡量智能体在k次尝试中全部成功的概率。k值越大,pass^k得分越低——要求多次尝试均成功的难度更高。若智能体的单次尝试成功率为75%,进行3次尝试后,全部成功的概率为(0.75)³≈42%。这一指标对面向客户的智能体尤为重要,因为用户期望智能体的行为始终保持稳定可靠。

随着尝试次数k的增加,pass@k和pass^k的结果会逐渐偏离:k=1时,两者数值相同(均等于单次尝试成功率);当k=10时,两者呈现完全相反的趋势——pass@k趋近于100%,而pass^k趋近于0%。

两个指标均具有重要价值,具体选择需根据产品需求确定:若工具只需一次成功即可,选择pass@k;若智能体需要保持行为的一致性,选择pass^k。

从0到1搭建优质智能体评估体系:实操路线图

本节分享经实际验证的实操建议,帮助团队从无到有搭建可信赖的评估体系,即以评估为驱动的智能体开发模式:尽早定义成功标准、清晰衡量性能、持续迭代优化。

收集初始评估数据集的任务

步骤0:尽早启动

许多团队会推迟搭建评估体系,因为他们认为需要数百个任务才能开展评估。但实际上,从真实故障中提取20-50个简单任务,就是一个极佳的起点。毕竟在智能体开发初期,系统的每一次修改通常都会带来显著的性能变化,这种大效应量意味着小样本量就足以实现有效评估。成熟的智能体可能需要更大规模、更具挑战性的评估任务,才能检测到微小的性能变化,但在初期应遵循80/20原则——先搭建基础评估体系。

评估体系的搭建时机越晚,难度越大:开发初期,产品需求能自然转化为测试用例;而如果等待过久,团队则需要从已上线的系统中反向推导成功标准。

步骤1:从现有人工测试内容入手

从研发过程中已开展的人工检查工作开始——即每次发布前验证的行为,以及终端用户常尝试的核心任务。若智能体已投入生产,可梳理漏洞追踪系统和客服工单,将用户反馈的故障转化为测试用例,确保评估套件贴合实际使用场景;同时根据用户影响程度划分优先级,将精力投入到最关键的场景中。

步骤2:编写定义明确、附带参考方案的任务

设计高质量的任务,难度远超想象。优质的任务应满足:两名领域专家独立评判时,能得出一致的成功/失败结论。专家自身能否完成该任务?若不能,说明任务需要优化。任务描述中的歧义,会转化为评估指标的噪声。这一要求同样适用于模型型评估器的评判标准:模糊的评分标准会导致判定结果不一致。

每个任务都应让能遵循指令的智能体有能力完成,这一点需要细致把控。例如,对Terminal-Bench的审计发现,若某一任务要求智能体编写脚本,但未指定文件路径,而测试用例默认脚本使用特定路径,那么智能体的失败并非自身问题导致。评估器的所有检查项,都应在任务描述中明确说明,不能因任务描述歧义导致智能体评估失败。

对于前沿模型而言,若某一任务在多次尝试后通过率仍为0%(即pass@100=0%),这通常意味着任务设计存在问题,而非智能体能力不足,需要重新检查任务描述和评估器。为每个任务设计参考解决方案十分必要:即能通过所有评估器的有效输出,这既能验证任务的可完成性,也能确认评估器的配置是否正确。

步骤3:构建均衡的问题集

既要测试智能体应执行某一行为的场景,也要测试不应执行的场景。片面的评估会导致片面的优化。例如,若仅测试智能体在需要搜索时的表现,可能会使其变成“无差别搜索”的智能体,在无需搜索时也执行搜索操作。应尽量避免类别不平衡的评估。

我们在为Claude.ai的网页搜索功能搭建评估体系时,就得到了这一经验。当时的挑战是:在防止模型无需搜索却执行搜索的同时,保证其在需要时能开展全面的研究。团队为此搭建了双向的评估体系:既包含需要模型搜索的查询(如查询天气),也包含模型可通过已有知识回答的查询(如“苹果公司的创始人是谁?”)。在“触发不足”(需要搜索却未执行)和“触发过度”(无需搜索却执行)之间找到平衡难度极大,团队通过多轮优化提示词和评估体系,才逐步达成目标。随着新的问题案例出现,我们会持续补充到评估体系中,提升场景覆盖度。

设计评估框架与评估器

步骤4:搭建鲁棒的评估框架与稳定的运行环境

评估中的智能体,其表现应与生产环境中的智能体基本一致,且运行环境本身不能引入额外的噪声,这一点至关重要。每次尝试都应从干净的环境开始,实现隔离运行。尝试之间不必要的共享状态(残留文件、缓存数据、资源耗尽),会因基础设施的不稳定性导致相关故障,而非智能体性能问题;共享状态还可能人为提升智能体的评估性能。

例如,在部分内部评估中,我们发现Claude能通过查看前次尝试的git历史,在部分任务中获得不公平的优势。若多个独立尝试因环境的同一限制(如CPU内存不足)而失败,这些尝试并非真正独立,评估结果也无法可靠衡量智能体的性能。

步骤5:精心设计评估器

如前文所述,优质的评估设计,核心是为智能体和任务选择最合适的评估器。我们建议:尽可能使用确定性评估器,在需要灵活性时使用模型型评估器,仅在需要额外验证时谨慎使用人工型评估器。

很多人会本能地想要检查智能体是否严格遵循特定步骤,例如按固定顺序调用工具,但我们发现这种方式过于僵化,会导致测试的鲁棒性极差——因为智能体常会找到评估设计者未预料到的有效解决方案。为了不盲目否定智能体的创新解法,评估的核心应是智能体的产出结果,而非其实现路径

对于包含多个环节的任务,应设计部分得分机制。例如,客服智能体能正确识别问题、验证客户身份,但未能完成退款操作,其表现仍远优于直接失败的智能体。评估结果需要准确反映这种“成功程度的梯度”。

模型型评估的准确性,通常需要经过多轮迭代验证。将大语言模型作为评估器时,需与领域专家紧密校准,确保人工评分与模型评分的偏差极小。为避免模型产生幻觉,应给其设置“容错机制”,例如指令其在信息不足时返回“未知”。同时,可针对任务的每个维度设计清晰、结构化的评分标准,并用独立的大语言模型评估器对每个维度分别评分,而非用一个评估器完成所有维度的评分。当评估体系足够鲁棒后,仅需偶尔开展人工复核即可。

部分评估存在隐蔽的故障模式,即使智能体表现良好,也会得到低分——原因可能包括评估器漏洞、智能体框架限制、任务描述歧义等。即便是技术成熟的团队,也可能忽略这些问题。

例如,Opus 4.5在CORE-Bench基准测试中的初始得分为42%,直到Anthropic的一名研究员发现了多个问题:评估规则过于僵化(如输出96.12会被判定为错误,而预期值为96.124991……)、任务描述歧义、任务具有随机性无法精准复现。在修复漏洞并更换限制更少的脚手架后,Opus 4.5的得分飙升至95%。类似地,METR团队在其时间范围基准测试中发现,部分任务要求智能体将分数优化至指定阈值,但评估规则却要求分数超过该阈值,这导致严格遵循指令的Claude等模型被扣分,而无视目标的模型反而获得更高分数。仔细检查任务描述和评估器,能有效避免这类问题。

同时,应让评估器具备抗绕过、抗破解的能力,智能体不应能轻易“钻空子”通过评估。任务和评估器的设计,应保证通过评估的前提是真正解决了问题,而非利用未被考虑到的漏洞。

长期维护与使用评估体系

步骤6:检查评估的记录文本

只有阅读大量尝试的记录文本和评分结果,才能确认评估器的运行是否正常。在Anthropic,我们开发了专门的工具用于查看评估的记录文本,并会定期投入时间分析。当某一任务评估失败时,记录文本能告诉我们:是智能体确实出现了错误,还是评估器否决了有效的解决方案。同时,记录文本还能揭示智能体和评估体系的关键行为细节。

评估的失败判定应具备合理性:能清晰看出智能体的问题所在及原因。当评估分数长期无法提升时,我们需要确认问题源于智能体性能,而非评估体系本身。阅读记录文本是验证评估体系是否衡量核心指标的关键方式,也是智能体开发的核心技能。

步骤7:监控能力评估的饱和状态

当某一评估的通过率达到100%时,其仅能用于跟踪性能回归,无法为性能提升提供有效信号。评估饱和指智能体通过了所有可完成的任务,已无优化空间。例如,今年SWE-Bench Verified的初始通过率为30%,而目前前沿模型的通过率已接近80%的饱和值。随着评估接近饱和,性能提升的速度也会放缓,因为仅剩最具挑战性的任务尚未完成。这会导致评估结果具有欺骗性——智能体的能力大幅提升,却仅表现为评估分数的小幅增长。

例如,代码审查初创公司Qodo最初对Opus 4.5的表现并不满意,因为其单轮代码评估无法捕捉到模型在更长、更复杂任务中的性能提升。为此,该公司开发了一套新的智能体评估框架,才清晰展现出模型的进步。

我们的原则是:在有人深入分析评估细节、阅读部分记录文本前,绝不轻信评估分数。若评估规则不公平、任务描述歧义、有效解决方案被否决,或框架限制了模型性能,都需要对评估体系进行修订。

步骤8:通过开放贡献与持续维护,保持评估套件的长期有效性

评估套件是活的产物,需要持续的关注和明确的负责人,才能保持其使用价值。

在Anthropic,我们尝试了多种评估维护方式,实践证明最有效的模式是:成立专门的评估团队,负责核心基础设施的维护;同时,由领域专家和产品团队主导设计评估任务,并自行运行评估。

对于AI产品团队而言,维护和迭代评估体系应像维护单元测试一样,成为日常工作。团队可能会在看似“可用”的AI功能上浪费数周时间,而这些功能在实际落地中会因未明确的预期而失败——若提前搭建了设计完善的评估体系,这些问题能在早期就被发现。设计评估任务,也是检验产品需求是否具体、是否具备开发条件的有效方式。

我们建议采用评估驱动的开发模式:在智能体实现预期能力前,先搭建评估体系定义能力标准,再通过迭代优化,让智能体达到评估要求。在内部研发中,我们常会开发一些目前“基本可用”的功能,这些功能也是对模型未来数月能力的预判。初始通过率低的能力评估,能让这种预判的合理性变得可感知——当新模型发布时,运行评估套件就能快速判断这些预判是否实现。

最贴近产品需求和用户的人,最适合定义智能体的成功标准。以当前的模型能力,产品经理、客户成功经理、销售都能通过Claude Code以提交PR的方式参与评估任务的设计——请鼓励他们参与!甚至可以主动为其创造条件。

评估体系与其他方法的结合:全面理解智能体性能

自动化评估可在数千个任务中对智能体进行测试,无需部署到生产环境,也不会影响真实用户,但这只是理解智能体性能的方式之一。要形成对智能体性能的全面认知,还需要结合生产环境监控用户反馈A/B测试人工记录文本审查系统化的人工评估

理解AI智能体性能的各类方法对比

方法 优势 劣势
自动化评估
通过程序自动运行测试,无需真实用户
迭代速度快
结果完全可复现
无用户影响
可在每次代码提交后运行
无需生产部署,即可规模化测试各类场景
前期搭建投入大
需随产品和模型的迭代持续维护,防止评估漂移
若与实际使用模式不符,可能产生错误的信心
生产环境监控
跟踪线上系统的指标和错误
展现规模化的真实用户行为
捕捉人工合成评估未覆盖的问题
为智能体的实际表现提供真实基准
被动式监控,问题影响用户后才会被发现
指标信号存在噪声
需投入资源搭建监控体系
缺乏评分的客观基准
A/B测试
通过真实用户流量对比不同版本的表现
衡量真实的用户结果(留存、任务完成率)
能控制干扰因素
可规模化、系统化开展
速度慢,需数天/数周才能获得显著结果,且需要足够的流量
仅能测试已部署的更新内容
若不深入分析记录文本,难以理解指标变化的深层原因
用户反馈
点赞/点踩、漏洞报告等显性信号
发现未预料到的问题
包含真实用户的实际案例
反馈通常与产品目标相关
反馈数量少、且为用户主动提交
聚焦于严重问题
用户极少说明问题原因
非自动化
主要依赖用户发现问题,可能对用户体验造成负面影响
人工记录文本审查
人工阅读智能体的交互记录
建立对故障模式的直观认知
捕捉自动化检查未发现的细微质量问题
帮助校准“优质表现”的标准,掌握细节
耗时耗力
无法规模化
场景覆盖不一致
审查者疲劳或人员更换会影响信号质量
通常仅能提供定性信号,无法给出清晰的定量评分
系统化人工研究
由经过培训的标注者对智能体输出进行结构化评分
多标注者给出的黄金标准级质量判断
适配主观性、歧义性的任务
为优化模型型评估器提供依据
成本较高、周转速度慢
难以高频开展
标注者间的分歧需要调和
法律、金融、医疗等复杂领域,需领域专家开展研究

这些方法适用于智能体开发的不同阶段:自动化评估在上线前和CI/CD流程中尤为重要,可在智能体每次更新、模型每次升级后运行,作为质量保障的第一道防线;生产环境监控在上线后启动,用于检测数据分布漂移和未预料到的实际故障;A/B测试在流量足够时,用于验证重要的更新内容;用户反馈和记录文本审查则是持续开展的工作,用于填补各类方法的空白:持续分类处理用户反馈、每周抽样阅读记录文本,并在需要时深入分析;系统化人工研究则用于校准模型型评估器,或评估以人类共识为参考标准的主观性输出。

这就像安全工程中的“瑞士奶酪模型”:单一的评估层无法捕捉所有问题,但多种方法结合后,从一个层面漏掉的故障,会被另一个层面捕捉到。

最高效的团队会将这些方法结合使用:通过自动化评估实现快速迭代,通过生产环境监控获取真实基准,通过定期人工审查完成校准。

结论

缺少评估体系的团队,会陷入被动的问题解决循环——修复一个故障,又引发新的问题,无法区分真实的性能退化和随机波动。而尽早投入搭建评估体系的团队,会迎来完全相反的结果:故障转化为测试用例,测试用例防止性能退化,量化指标替代主观猜测,开发进程大幅加速。

评估体系为整个团队设定了清晰的优化目标,将“智能体表现变差了”这种模糊的反馈,转化为可落地的优化行动。其价值会持续累积,但前提是将评估体系视为核心研发组件,而非事后补充的工作。

不同类型智能体的评估模式存在差异,但本文阐述的核心原则具有普适性: 尽早启动,不必追求完美的评估套件; 从实际发现的故障中提取真实的评估任务; 定义清晰、鲁棒的成功判定标准; 精心设计评估器,结合多种类型使用; 确保评估问题的难度与模型能力匹配; 迭代优化评估体系,提升信号噪声比; 务必阅读评估的记录文本!

AI智能体评估仍是一个处于发展初期、快速演进的领域。随着智能体处理的任务越来越复杂、多智能体系统的协同合作、以及处理的主观性工作越来越多,我们需要不断调整评估技术。我们也会持续分享在实践中总结的最佳实践。