评测驱动的 Agent 开发

Learn + Build~60 minutesPython (stdlib)先修要求: All of Phase 14.
Anthropic 的指导:「从简单的 prompt 开始,用全面的评估来优化它们,只在需要时加入多步 Agent 系统。」评估不是最后一步。它是驱动第 14 章所有其他选择的外层循环。
学习目标
  • 说出三层评估——静态基准、自定义离线、线上生产——以及各自的用途。
  • 解释评估器-优化器的紧密循环。
  • 描述 2026 年的最佳实践:评测与代码同处,在 CI 中运行,为 PR 设卡。
  • 把第 14 章的每一课与它生成的评测用例联系起来。

问题

Agent 能通过演示。它们在生产中以演示无法预测的方式失败。基准回答的是「这个模型是否广泛有能力?」,而不是「这个 Agent 是否在为我的产品交付正确的补丁?」答案是:在三层进行评估,持续运行,并把每条防护栏和学到的规则都映射到一个评测用例。

概念

三层评估

  1. 静态基准——代码用 SWE-bench Verified(第 19 课)、浏览 / 桌面用 WebArena/OSWorld(第 20 课)、通用型用 GAIA(第 19 课)、工具使用用 BFCL V4(第 06 课)。用于跨模型比较和回归门禁。数据污染是真实存在的:SWE-bench+ 发现 32.67% 的解法泄漏。始终报告 Verified / 经 + 审计的分数。
  1. 自定义离线评测——贴合你的产品形态:

- LLM-as-judge(Langfuse、Phoenix、Opik——第 24 课)。

- 基于执行(运行补丁,检查测试)。

- 基于轨迹(将动作序列与金标准比较;OSWorld-Human 显示顶级 Agent 是金标准的 1.4-2.7 倍)。

  1. 线上评估——生产环境:

- 会话回放(Langfuse)。

- 防护栏触发的告警(第 16、21 课)。

- 每步成本 / 延迟跟踪(第 23 课 OTel span)。

评估器-优化器(Anthropic)

紧密循环:

  1. 提议者生成输出。
  2. 评估器评判。
  3. 精炼,直到评估器通过。

这是 Self-Refine(第 05 课)的泛化。你关心的任何 Agent 流程都可以包在评估器-优化器里以获得可靠性。

2026 年的最佳实践

  • 评测与代码同处。
  • 在每个 PR 的 CI 中运行。
  • 以评测分数为合并设卡(例如「相对 main 不回退超过 5%」)。
  • 每条防护栏都映射到一个评测用例。
  • 每条学到的规则(Reflexion、pro-workflow learn-rule)都映射到一个失败用例。

串起第 14 章

第 14 章的每一课都会生成评测用例:

课程它生成的评测用例
01 Agent 循环预算耗尽、无限循环防护
02 ReWOO工具失败时规划器正确重规划
03 Reflexion学到的反思在重试时生效
05 Self-Refine/CRITIC评审通过精炼后的输出
06 工具使用参数强制转换生效;未知工具被拒绝
07-10 记忆检索引用与来源匹配;过时事实失效
12 工作流模式每种模式产出正确输出
13 LangGraph恢复后精确复现状态
14 AutoGen ActorDLQ 捕获崩溃的处理器
16 OpenAI Agents SDK防护栏在正确的输入上触发
17 Claude Agent SDK子 Agent 结果返回编排器
19-20 基准SWE-bench Verified 分数、WebArena 成功率、OSWorld 效率
21 计算机使用每步安全捕获注入的 DOM
23 OTelspan 发出必需属性
26 失败模式检测器标记已知失败
27 提示注入PVE 拒绝被投毒的检索
28 编排监督者路由到正确的专家
29 运行时形态DLQ 处理 N% 失败

如果你的评测套件为每一项都有用例,你就覆盖了第 14 章。

评测驱动开发容易出错的地方

  • 没有基线。 没有 last-known-good 的评测无法解读。存储基线。
  • 没有依据的 LLM 评审。 评审也会幻觉。采用 CRITIC 模式(第 05 课)——让评审以外部工具为依据。
  • 对评测过拟合。 为评测优化会偏离生产实用性。轮换用例。
  • 不稳定的评测(Flaky evals)。 非确定性用例导致误报。固定随机种子,快照状态。
ae-eval-three-layers静态版本未包含此交互图

构建它

code/main.py 是一个 stdlib 评测 harness:

  • 带类别(基准、自定义、线上)的用例注册表。
  • 一个被测的脚本化 Agent。
  • 评估器-优化器循环:提议、评判、精炼,直到通过或达到最大轮数。
  • CI 门禁:汇总通过率 + 相对基线的回归。

运行它:

python3 code/main.py

输出:每个用例的通过 / 失败、回归标记、CI 门禁裁决。

使用它

  • 把评测用例写在 Agent 代码所在的同一个仓库。
  • 通过 CI 在每个 PR 上运行。
  • 出现回归就让构建失败。
  • 随时间跟踪通过率。
  • 把每次生产失败都绑定到一个新用例。

交付它

outputs/skill-eval-suite.md 为 Agent 产品构建带 CI 门禁和回归跟踪的三层评测套件。

练习

  1. 取你的一次生产失败。编写一个复现它的评测用例。你的 Agent 现在能通过吗?
  2. 为你的领域构建一个 LLM 评审评分标准,包含三个维度(事实、语气、范围)。给 50 个会话打分。
  3. 把评测套件接入 CI。回退 >=5% 时让构建失败。
  4. 添加轨迹效率指标:Agent 走了多少步,与金标准轨迹相比?
  5. 把第 14 章的每一课映射到你套件中的一个评测用例。有缺失的吗?那就是要补的缺口。

关键术语

术语常见说法实际含义
静态基准(Static benchmark)「现成评测」SWE-bench、GAIA、AgentBench、WebArena、OSWorld
自定义离线评测(Custom offline eval)「领域评测」针对产品形态的 LLM-as-judge / 执行 / 轨迹
线上评估(Online eval)「生产评估」会话回放、防护栏告警、成本 / 延迟跟踪
评估器-优化器(Evaluator-optimizer)「提议-评判-精炼」迭代直到评审通过
CI 门禁(CI gate)「合并阻断器」评测回退时让构建失败
基线(Baseline)「Last-known-good」用于检测回退的参考分数
轨迹效率(Trajectory efficiency)「相对金标准的步数」Agent 步数除以人类专家最少步数

进一步阅读

示意图共 1 张

eval-layers diagram
eval-layers

“Stay hungry, stay foolish.”

— Steve Jobs

esc
↑↓切换↵打开esc关闭