评估驱动Agent开发
掌握三层评估体系、评估器-优化器紧密循环,将评估作为驱动Agent开发每个选择的外循环
评估驱动Agent开发
Anthropic的指导:“从简单提示开始,用全面评估优化它们,仅在需要时添加多步Agent系统。“评估不是最后一步。它是驱动Phase 14中每个其他选择的外循环。
类型: 学习 + 构建 语言: Python(标准库) 前置条件: Phase 14全部课程 时间: ~60分钟
学习目标
- 命名三层评估 — 静态基准、自定义离线、在线生产 — 以及各自的用途。
- 解释评估器-优化器紧密循环。
- 描述2026年最佳实践:评估与代码并存,在CI中运行,门控PR。
- 将Phase 14每节课连接到它生成的评估用例。
问题所在
Agent通过演示。它们以演示无法预测的方式在生产中失败。基准回答”这个模型是否广泛有能力?“而不是”这个Agent是否为我的产品交付正确的补丁?“答案:三层评估,持续运行,每个护栏和学习规则映射到一个评估用例。
核心概念
三层评估
-
静态基准 — 代码的SWE-bench Verified(第19课)、浏览/桌面的WebArena/OSWorld(第20课)、通用的GAIA(第19课)、工具使用的BFCL V4(第06课)。用于跨模型比较和回归门控。污染是真实的:SWE-bench+发现32.67%的解决方案泄漏。始终报告Verified/+-audited分数。
-
自定义离线评估 — 你产品的形状:
- LLM作为评判者(Langfuse、Phoenix、Opik — 第24课)。
- 基于执行(运行补丁,检查测试)。
- 基于轨迹(将动作序列与黄金标准比较;OSWorld-Human显示顶级Agent是黄金标准的1.4-2.7倍)。
-
在线评估 — 生产:
- 会话回放(Langfuse)。
- 护栏触发警报(第16、21课)。
- 每步成本/延迟追踪(第23课OTel span)。
评估器-优化器(Anthropic)
紧密循环:
- 提议者生成输出。
- 评估器判断。
- 精炼直到评估器通过。
这是Self-Refine(第05课)的泛化。你关心的任何Agent流程都可以包装在评估器-优化器中以获得可靠性。
2026年最佳实践
- 评估与代码并存。
- 每个PR在CI中运行。
- 在评估分数上门控合并(例如”相对main回归不超过5%”)。
- 每个护栏映射到一个评估用例。
- 每个学习规则(Reflexion、pro-workflow learn-rule)映射到一个失败用例。
连接Phase 14
Phase 14中的每节课生成评估用例:
| 课程 | 生成的评估用例 |
|---|---|
| 01 Agent循环 | 预算耗尽、无限循环守卫 |
| 02 ReWOO | 工具失败时规划器正确重新规划 |
| 03 Reflexion | 学习的反思在重试时应用 |
| 05 Self-Refine/CRITIC | 评判者通过精炼输出 |
| 06 工具使用 | 参数强制转换工作;未知工具被拒绝 |
| 07-10 记忆 | 检索引用匹配来源;过期事实失效 |
| 12 工作流模式 | 每种模式产生正确输出 |
| 13 LangGraph | 恢复精确重现状态 |
| 14 AutoGen Actors | DLQ捕获崩溃的处理程序 |
| 16 OpenAI Agents SDK | 护栏在正确输入上触发 |
| 17 Claude Agent SDK | 子Agent结果返回到编排器 |
| 19-20 基准 | SWE-bench Verified分数、WebArena成功率、OSWorld效率 |
| 21 计算机使用 | 每步安全捕获注入的DOM |
| 23 OTel | Span发出必需属性 |
| 26 失败模式 | 检测器标记已知失败 |
| 27 提示注入 | PVE拒绝投毒检索 |
| 28 编排 | 监督者路由到正确专家 |
| 29 运行时形状 | DLQ处理N%失败 |
如果你的评估套件有每种用例,你就覆盖了Phase 14。
评估驱动开发失败的地方
- 无基线。 没有最后已知良好的评估是不可读的。存储基线。
- LLM评判者无锚定。 评判者也会幻觉。CRITIC模式(第05课)— 评判者锚定在外部工具上。
- 过度拟合评估。 为评估优化偏离生产有用性。轮换用例。
- 不稳定评估。 非确定性用例导致误报。固定种子,快照状态。
构建
code/main.py是一个标准库评估线束:
- 带类别的用例注册表(基准、自定义、在线)。
- 被测脚本Agent。
- 评估器-优化器循环:提议、判断、精炼直到通过或最大轮次。
- CI门控:聚合通过率 + 相对基线的回归。
运行:
python3 code/main.py
输出:每个用例的通过/失败、回归标志、CI门控裁决。
使用
- 在与Agent代码相同的仓库中编写评估用例。
- 每个PR通过CI运行。
- 在回归上使构建失败。
- 随时间跟踪通过率。
- 将每个生产失败绑定到新用例。
交付
outputs/skill-eval-suite.md为Agent产品构建带CI门控和回归跟踪的三层评估套件。
练习
- 取你的一个生产失败。编写一个复现它的评估用例。你的Agent现在通过它了吗?
- 为你的领域构建LLM评判者评分标准,包含三个维度(事实、语气、范围)。评分50个会话。
- 将评估套件连接到CI。在>=5%回归时使构建失败。
- 添加轨迹效率指标:Agent走了多少步vs黄金轨迹?
- 将Phase 14每节课映射到你套件中的评估用例。有缺失的吗?那是需要关闭的差距。
关键术语
| 术语 | 人们怎么说 | 实际含义 |
|---|---|---|
| 静态基准 | ”现成评估” | SWE-bench、GAIA、AgentBench、WebArena、OSWorld |
| 自定义离线评估 | ”领域评估” | 你产品形状上的LLM作为评判者/执行/轨迹 |
| 在线评估 | ”生产评估” | 会话回放、护栏警报、成本/延迟追踪 |
| 评估器-优化器 | ”提议-判断-精炼” | 迭代直到评判者通过 |
| CI门控 | ”合并阻止器” | 在评估回归时使构建失败 |
| 基线 | ”最后已知良好” | 检测回归的参考分数 |
| 轨迹效率 | ”步数vs黄金” | Agent步数除以人类专家最小值 |
延伸阅读
- Anthropic, Building Effective Agents — “从简单开始,用评估优化”
- OpenAI, SWE-bench Verified — 策划的基准
- Berkeley Function Calling Leaderboard — 工具使用基准
- Langfuse docs — 实践中的评估 + 会话回放