评估智能体

B13
概念 · 核心构件

评估智能体。

只凭最终答案评判一个智能体,你就会心安理得地上线一个通过破碎、危险或浪费的路径得出"看似正确"结果的智能体——而且毫无察觉。评估智能体,意味着对整条轨迹打分,同时衡量成功率、成本、延迟与安全,并以一个从你自己真实任务里搭起来的小评测集为准。

STEP 1

为何智能体不是一次模型调用。

evals-101 里,一条 eval 是列表中的三样东西:一个输入、一个期望行为、一条评分规则。这个模型完美契合单次模型调用——一个提示进去,一个输出出来,一个东西要打分。智能体打破了它。跑 智能体循环产出的不是一个输出,而是一条轨迹:一段跨越多轮、会分叉、带状态的序列,由推理步骤、工具调用与观测交织展开。

这条轨迹的两个性质,使智能体评估与给一次对话补全打分真正地不同:

  • 多条有效路径。同一个任务可以由截然不同的动作序列正确完成。很少存在唯一的黄金轨迹可供逐行比对——好的评估必须接受一可接受的路径,而非一份标准脚本。
  • 非确定性与状态。同一个智能体对同一个输入跑两次可能分道扬镳——不同的工具结果、不同的采样、向前携带的不同中间状态。单跑一次几乎说明不了什么;你得把每个用例跑好几遍,去推断整个分布,而不是某个走运或倒霉的样本。

所以本条目是 evals-101 的智能体专属续篇:小而可信评测集的纪律依然成立,但被测的单元变成了一个多步、带状态、非确定的过程——这改变了你衡量什么、以及怎么衡量。

STEP 2

结果评估、轨迹评估,与给它们打分的评判器。

有两种互补的视角,成熟团队两者都用:

  • 结果(最终答案)评估。它有没有得到正确的最终结果?跑起来便宜、打分容易,但对智能体如何走到那里视而不见。
  • 轨迹(过程)评估。给步骤本身打分:它有没有调用对的工具、传对的参数、以合理的顺序、不含浪费或危险的动作?这能抓住结果评估抓不到的失败——某一步在这里没造成可见伤害,但在生产中会;或者一个正确答案是经由破碎或走运的路径得来的。

"最终答案对了,所以智能体过关"是新手陷阱。只看结果的评估会藏起破碎、危险与浪费的轨迹,也分不清一个真正解决了的任务和一次走运的瞎猜。一个智能体可以删错文件、白烧十次冗余的工具调用,或纯属偶然撞上正确输出——却照样拿到一个绿色对勾。轨迹评估正是把那些日后会咬你一口的路径浮出水面的东西。

对于开放式的智能体输出——一段书面回答、一份计划、一则摘要——往往没有可用代码核验的规则,于是主流手段是 LLM-as-a-judge:用第二个 LLM 依据一份评分表给输出打分。它确实有用、也能规模化,但它不是真相基准,而且带有你必须绕开设计的、有充分文献记载的偏差:

  • 位置/顺序偏差——在比较两个候选时,评判器倾向于偏爱排在前面的那个。缓解办法是交换顺序、对两个方向取平均。
  • 冗长/长度偏差——评判器倾向于给更长的答案打更高分,无论质量如何。一份只看实质、不看字数的紧凑评分表能钝化这一点。
  • 自我偏好偏差——评判器倾向于高估以它自己风格、或由它同一模型家族写出的输出。

解法不是弃用评判器,而是校准它:写清晰的评分表、随机化顺序,并把评判器的打分与一批人工标注核对,好知道该信它到几分。这个校准回路——以及如何对评判器本身做元评测——正是 评判器校准与元评测 的主题。

STEP 3

你的小定制集胜过排行榜——而且它必须是多轮的。

批判地阅读基准已经讲过一般性的道理;这里是它在智能体上的锋刃。静态的公开基准会低估你的智能体在生产中的表现,因为排行榜跑的是固定、往往被污染、通用的任务——而你的应用有自己的工具、自己的数据、自己的策略、自己的失败模式。像用于编码智能体的 SWE-bench(及经筛选的 SWE-bench Verified)、面向助手的 GAIA、面向多轮工具使用的 τ-bench,以及 AgentBench 这些具名基准,都是这个领域出色的参照点,但在其中任何一个上排名靠前,都不能证明你的智能体对好用。一个从你自己真实任务里搭起来的、小而定制、可信的评测集,才是真正做这个决定的东西——正是 evals-101 教的那一课,如今应用到轨迹上。

还有一条智能体专属的要求。真实使用一个智能体是一场对话,而非一次提示与一次回复,所以你的评估也必须如此。标准手段是一个模拟用户——通常是另一个 LLM——扮演人类,推着智能体走完一个多轮情景,检验它是否跨轮保持连贯、是否在压力下遵守你的策略。τ-bench 就是这一形态广为人知的公开范例:多轮、模拟用户、策略遵从性打分。你要的是把同一形态对准你自己的策略。

STEP 4

记分牌有四栏,而且它跑在 CI 里。

对一个智能体来说,只看准确率是错的记分牌。真正重要的指标是多维的,而且你要把它们放在一起读:

  • 任务成功率——它到底有没有完成任务,跨多次运行来评判。
  • 成本——每个任务花的 token 与美元。这如今是头等的评估维度,而非事后补记。
  • 延迟——一个任务从头到尾要多久。
  • 安全——它有没有采取过被禁止的或破坏性的动作,正是 guardrails-101 所围绕的那个关切。

放在一起读,这些会推翻排行榜的直觉。一个更便宜的智能体,以十分之一的成本达到大约 80% 的成功率,可以胜过一个成功率 85% 的——这就是把 成本、质量、延迟的权衡应用到评估上,也是为何成本理应与准确率并列在记分牌上。

最后,把这一切当测试来对待,而非凭感觉。在评测驱动开发里,评测套件是纳入版本管理的,会在每次提示、模型或工具变更时运行,好在上线前抓住回归,并且每发现一次生产失败就增长一次——每个新 bug 都变成一个永久用例,好让它再也不能悄悄回来。像 LangSmith、Braintrust、Arize Phoenix,以及开源的 OpenAI Evals 框架这样的平台,正是为在 CI 里跑这些套件而存在。当你准备好深入本条目背后的门道时——公开的智能体基准正如何饱和(见 AgentBench 与更新的全景),以及像 HAL 这样的排行榜如今如何把准确率对着成本作图——去读评估智能体深入解析组里的 2026 年基准全景HAL 与异步智能体评测 两篇文章。