<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Evaluation on Chang</title><link>https://jinnchang.github.io/series/evaluation/</link><description>Recent content in Evaluation on Chang</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 09 Jan 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://jinnchang.github.io/series/evaluation/index.xml" rel="self" type="application/rss+xml"/><item><title>揭开 AI Agent 评估的面纱</title><link>https://jinnchang.github.io/reads/demystifying-evals-for-ai-agents/</link><pubDate>Fri, 09 Jan 2026 00:00:00 +0800</pubDate><guid>https://jinnchang.github.io/reads/demystifying-evals-for-ai-agents/</guid><description>&lt;div class="notice note"&gt;
 &lt;div class="notice-title"&gt;
 &lt;i class="fa-solid fa-sticky-note" aria-hidden="true"&gt;&lt;/i&gt;Note
 &lt;/div&gt;
 &lt;div class="notice-content"&gt;让 Agent 有用的能力也让它们难以评估。在各类部署中行之有效的策略，是将多种技术组合以匹配其所衡量系统的复杂度。&lt;/div&gt;
&lt;/div&gt;

&lt;h2 id="引言"&gt;
 引言
 &lt;a class="heading-link" href="#%e5%bc%95%e8%a8%80"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;好的评估能帮助团队更自信地发布 AI Agent。没有评估，很容易陷入被动循环——只在生产环境中发现问题，而修复一个故障又会引发其他故障。评估让问题和行为变化在影响用户之前变得可见，其价值在 Agent 的整个生命周期中不断累积。&lt;/p&gt;
&lt;p&gt;正如我们在&lt;a href="https://www.anthropic.com/engineering/building-effective-agents" class="external-link" target="_blank" rel="noopener"&gt;构建有效的 Agent&lt;/a&gt;中所描述的，Agent 在多个轮次中运作：调用工具、修改状态，并根据中间结果进行调整。这些让 AI Agent 变得有用的能力——自主性、智能性和灵活性——同时也让它们更难评估。&lt;/p&gt;
&lt;p&gt;通过我们的内部工作以及与处于 Agent 开发前沿的客户合作，我们学会了如何为 Agent 设计更严谨、更实用的评估。以下是我们在各种 Agent 架构和实际部署用例中验证有效的经验。&lt;/p&gt;
&lt;h2 id="评估的结构"&gt;
 评估的结构
 &lt;a class="heading-link" href="#%e8%af%84%e4%bc%b0%e7%9a%84%e7%bb%93%e6%9e%84"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;评估&lt;/strong&gt;（eval）是对 AI 系统的测试：给 AI 一个输入，然后对其输出应用评分逻辑来衡量成功与否。在本文中，我们聚焦于可以在开发期间无需真实用户即可运行的&lt;strong&gt;自动化评估&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;单轮评估&lt;/strong&gt;很简单：一个提示、一个回复和评分逻辑。对于早期的 LLM，单轮、非 Agent 的评估是主要的评估方法。随着 AI 能力的进步，&lt;strong&gt;多轮评估&lt;/strong&gt;变得越来越普遍。&lt;/p&gt;
&lt;p&gt;&lt;img src="the-structure-of-an-evaluation.png" alt=""&gt;
&lt;em&gt;在简单的评估中，智能体处理一条提示词，评分器检查输出是否符合预期。对于更复杂的多轮评估，编码智能体会获得工具、任务（此处为构建一个MCP服务器）和环境，执行“智能体循环”（工具调用与推理），并用实现结果更新环境。随后，评分环节通过单元测试来验证MCP服务器是否正常工作。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agent 评估&lt;/strong&gt;更加复杂。Agent 在多个轮次中使用工具，在环境中修改状态并不断适应——这意味着错误可能传播和累积。前沿模型还可能找到超越静态评估限制的创造性解决方案。例如，Opus 4.5 通过&lt;a href="https://www.anthropic.com/news/claude-opus-4-5" class="external-link" target="_blank" rel="noopener"&gt;发现&lt;/a&gt;策略中的漏洞，解决了一个关于预订航班的 &lt;a href="https://github.com/sierra-research/tau2-bench" class="external-link" target="_blank" rel="noopener"&gt;𝜏2-bench&lt;/a&gt; 问题。它按照评估的设定&amp;quot;失败&amp;quot;了，但实际上为用户想出了一个更好的解决方案。&lt;/p&gt;
&lt;p&gt;在构建 Agent 评估时，我们使用以下定义：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;任务&lt;/strong&gt;（也称&lt;strong&gt;问题&lt;/strong&gt;或&lt;strong&gt;测试用例&lt;/strong&gt;）是一个具有明确输入和成功标准的单一测试。&lt;/li&gt;
&lt;li&gt;对任务的每次尝试称为一次&lt;strong&gt;试验&lt;/strong&gt;。由于模型输出在不同运行之间会有变化，我们运行多次试验以产生更一致的结果。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评分器&lt;/strong&gt;是对 Agent 性能的某个方面进行评分的逻辑。一个任务可以有多个评分器，每个评分器包含多个断言（有时称为&lt;strong&gt;检查&lt;/strong&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;记录&lt;/strong&gt;（也称&lt;strong&gt;轨迹&lt;/strong&gt;或&lt;strong&gt;轨迹线&lt;/strong&gt;）是试验的完整记录，包括输出、工具调用、推理、中间结果以及所有其他交互。对于 Anthropic API，这是评估运行结束时的完整消息数组——包含评估期间对 API 的所有调用和所有返回的响应。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结果&lt;/strong&gt;是试验结束时环境中的最终状态。一个航班预订 Agent 可能在记录末尾说&amp;quot;您的航班已预订&amp;quot;，但结果是环境的 SQL 数据库中是否存在预订记录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评估 Harness&lt;/strong&gt; 是端到端运行评估的基础设施。它提供指令和工具、并发运行任务、记录所有步骤、评分输出并汇总结果。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Harness&lt;/strong&gt;（或&lt;strong&gt;脚手架&lt;/strong&gt;）是使模型能够作为 Agent 行动的系统：它处理输入、编排工具调用并返回结果。当我们评估&amp;quot;一个 Agent&amp;quot;时，我们评估的是 Harness 与模型协同工作的整体。例如，&lt;a href="https://claude.com/product/claude-code" class="external-link" target="_blank" rel="noopener"&gt;Claude Code&lt;/a&gt; 是一个灵活的 Agent Harness，我们通过 &lt;a href="https://platform.claude.com/docs/en/agent-sdk/overview" class="external-link" target="_blank" rel="noopener"&gt;Agent SDK&lt;/a&gt; 使用其核心原语来构建我们的&lt;a href="https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents" class="external-link" target="_blank" rel="noopener"&gt;长时间运行 Agent Harness&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评估套件&lt;/strong&gt;是为衡量特定能力或行为而设计的任务集合。套件中的任务通常共享一个广泛的目标。例如，客户支持评估套件可能测试退款、取消和升级。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="the-structure-of-an-evaluation-2.png" alt=""&gt;
&lt;em&gt;Agent 评估的组成部分。&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>