跳转至

[Agentic AI F25] Agent Evaluation 与 Green Agent 项目

LaTeX 源码 · 观看视频

字段 内容
作者/整理 基于课程团队授课内容整理
来源 Berkeley RDI
日期 2026-08-18

[Agentic AI F25] Agent Evaluation 与 Green Agent 项目

课程定位:评估既是测量科学,也是 Agent 基础设施

这讲同时承担两项任务:建立 LLM Agent evaluation 的概念框架,并把课程项目具体化为可运行的 Green Agent。两部分不是行政内容与技术内容的拼接。一个 benchmark 只有被实现成可重复启动环境、驱动 participant agent、收集轨迹并计算指标的系统,才真正具备可用性;反过来,项目代码若没有 outcome validity、污染控制和偏差分析,也只是一个会返回数字的脚本。

为什么 Agent 时代更需要评估

slides 3--8 从最基本的问题开始。evaluation 是对模型和 Agent 的系统性、可重复测量,用来判断能力是否进步、比较方案并决定能否部署。它贯穿训练、开发、模型选择和上线监控。传统 LLM 多为静态 text-to-text;Agent 具有工具、记忆、多步推理和环境交互,输出不再只是文本,而是会改变外部状态的轨迹。因此一次成功截图无法证明系统可靠,必须复现任务、环境和评分过程。

\lecturefigure{slides-images/slide-003.png}{官方 slide 3:LLM Agent evaluation 为什么重要} \lecturefigure{slides-images/slide-004.png}{官方 slide 4:evaluation 的系统性与可重复性定义} \lecturefigure{slides-images/slide-005.png}{官方 slide 5:训练、开发、选择与部署阶段都需要 evaluation} \lecturefigure{slides-images/slide-006.png}{官方 slide 6:公平比较、弱点发现与科学进步} \lecturefigure{slides-images/slide-008.png}{官方 slide 8:从静态 LLM eval 到有工具/记忆/多步环境的 Agent eval}

Evaluation 是决策接口

评估的产出不应只是 leaderboard 分数,而应支持四类决策:是否继续训练、选择哪个模型/Agent、哪个失败模式优先修复、是否达到部署门槛。每个指标都要绑定一个可执行动作;无法改变决策的数字只能算 telemetry,不能算完整 evaluation。

读图:从 output measurement 到 trajectory measurement

静态 LLM eval 通常固定输入并比较输出;Agent eval 还要记录初始状态、可用工具、每一步动作、工具返回、环境变化、终止条件和成本。若只对最终文字评分,模型可能在中间越权、破坏状态或依赖偶然缓存。slide 8 的本质是把评估单位从 response 扩展为 trajectory 与 outcome。

课堂提示:授课团队在开场明确说明,本讲会直接连接 phase-one project。原因是 Green Agent 本身就是 evaluator/orchestrator:它要准备环境、测试 White Agent、验证结果并汇报。项目的工程边界因此来自评估理论,而不是先写代码再补一套 rubric。

什么时候评:训练、开发、模型选择与生产

评估时点会改变数据和指标。训练期需要便宜、频繁、能定位问题的 regression set;开发期比较 prompt、tool policy、memory 与 harness;模型选择要在同协议下做公平比较;部署后则监控真实分布、延迟、成本、安全和 drift。课堂 slide 5 把这些阶段画在同一生命周期上,提醒团队不要把 benchmark 当成发布前一次考试。

阶段 核心问题 推荐证据 典型频率
训练 更新是否学到目标能力 自动 verifier、分桶 reward、轨迹统计 每个 checkpoint
开发 组件改动是否真实改善 固定模型、harness swap、错误归因 每次变更
选择 哪个组合更适合目标场景 盲测、置信区间、成本/质量前沿 发布候选
部署 线上是否持续满足边界 真实任务、漂移、安全、回滚指标 持续监控
不同生命周期阶段的 evaluation 任务

同一测试集不能承担所有职责

频繁调参会让开发者对固定测试集过拟合;生产流量又会出现训练时没有的工具版本、权限和用户行为。应把 smoke/regression、研究 holdout、上线 canary 和事故回放分层管理,并记录数据版本。一个分数在训练期有用,不代表足以批准高风险部署。

本章小结

Agent evaluation 的对象是“模型 + harness + tools + environment”的运行系统。它贯穿全生命周期,并必须为具体决策服务。接下来先建立任务与评分类型,再讨论 Agent-specific taxonomy 和 outcome validity。

任务与评分:Close-ended、Open-ended 与可验证性

评估协议的第一步不是选 judge,而是判断任务输出空间和正确性来源。close-ended 与 open-ended 描述答案空间;verifiable 与 non-verifiable 描述是否存在可执行 oracle。两个维度不能混为一谈:代码生成看似开放,但可由测试验证;多项选择答案封闭,却可能因为题目歧义没有可靠真值。

Close-ended:自动化容易,但协议仍会出错

slides 10--14 说明 close-ended task 的候选答案和正确答案数量有限,因此可用 exact match、accuracy、precision、recall、F1 等自动评分。情感分类、事实问答和选择题是典型例子。自动化降低成本,却不保证测到了真实能力:解析器、标签定义、类别不平衡、prompt 模板和数据污染都可能改变结果。

\lecturefigure{slides-images/slide-010.png}{官方 slide 10:close/open、verifiable/non-verifiable、static/dynamic 三组维度} \lecturefigure{slides-images/slide-011.png}{官方 slide 11:close-ended 与 open-ended 对照} \lecturefigure{slides-images/slide-013.png}{官方 slide 13:情感与事实问答的 close-ended 示例} \lecturefigure{slides-images/slide-014.png}{官方 slide 14:Accuracy、Precision、Recall、F1 与任务边界}

背景概念:Accuracy、Precision、Recall 与 F1

二分类中,Precision \(=TP/(TP+FP)\) 表示预测为正的样本有多少真的为正;Recall \(=TP/(TP+FN)\) 表示真实正例有多少被找出;\(F1=2PR/(P+R)\) 平衡 precision 与 recall。Accuracy 在类别极不平衡时可能误导,例如 99% 样本为负时,永远预测负也有 99% accuracy。选择指标必须对应错误成本。

自动评分不等于客观

Exact match 可能把语义等价答案判错,宽松字符串规则又可能接受错误答案。close-ended benchmark 还可能只覆盖易自动化的窄任务,使团队误以为 Agent 整体能力提升。评估报告应列出解析失败、歧义样本、类别分布和人工复核结果。

Open-ended:先区分 verifiable 与 non-verifiable

slides 15--18 将开放任务进一步分为可验证和不可直接验证。数学证明、代码、环境状态变更虽然输出空间巨大,却可由 math verifier、unit tests 或 state oracle 检查;故事、写作和主观改写没有唯一真值,需要人类或 LLM judge 按 rubric 评价。核心问题不是“答案长不长”,而是是否存在可重复的结果判据。

\lecturefigure{slides-images/slide-015.png}{官方 slide 15:长文本、摘要、翻译与开放生成} \lecturefigure{slides-images/slide-016.png}{官方 slide 16:开放任务分为 verifiable 与 non-verifiable} \lecturefigure{slides-images/slide-017.png}{官方 slide 17:数学、代码和环境结果的可执行 oracle} \lecturefigure{slides-images/slide-018.png}{官方 slide 18:故事与写作等无客观 ground truth 的任务}

先找 oracle,再找 judge

若任务可通过程序、数据库约束或环境状态验证,应优先构造 deterministic oracle,并用 judge 处理解释质量等补充维度。直接用 LLM judge 替代可执行验证,会引入不必要的随机性和偏差。若没有 oracle,则必须把 rubric 拆成可观察维度,并用多评审、校准集和一致性分析控制噪声。

读图:可验证的是 outcome,不一定是整个过程

代码通过测试只验证已覆盖行为,未证明没有隐藏副作用;网页最终状态正确,也可能通过越权操作达到。Agent eval 常需组合 outcome verifier、trajectory constraints 和 safety policy。slide 17 给出 oracle 的入口,后面的 outcome-validity slides 会进一步讨论结果判据如何失真。

Human evaluation:金标准也有速度与一致性问题

slides 19--20 列出人工评估维度:整体质量、流畅性、一致性、事实正确、完整性、风格、语法和冗余。人类能够理解语境和微妙偏好,因此常被视为 gold standard;但人工评估慢、昂贵,存在 inter-annotator disagreement,同一标注者随时间也可能改变标准,而且流程不易完全复现。

\lecturefigure{slides-images/slide-019.png}{官方 slide 19:人工评估的质量维度} \lecturefigure{slides-images/slide-020.png}{官方 slide 20:人工评估的成本、一致性与复现问题}

人工评估不是“找三个人打分”

高质量 human eval 需要任务定义、rubric、正反例、培训、盲测、随机顺序、重复样本和 disagreement adjudication。应报告标注者背景、样本数、一致性指标与置信区间。对专业法律、医疗或安全任务,普通众包偏好不能替代领域专家判断。

老师强调:人工被称为 gold standard,是因为某些开放价值最终由人判断,不是因为人类标签无噪声。项目若把 human score 当绝对真值,会把标注偏见训练进模型。更稳健的做法是让人工负责校准、争议样本和高风险维度,让自动 oracle 承担可验证部分。

LLM as a Judge:扩展速度,也扩展偏差

slides 21--22 介绍用强 LLM 比较或评分候选输出。它便宜、快速、可按 rubric 扩展,且在部分任务上与人类高度相关;问题是 judge 可能不可靠、偏爱特定长度/风格、同源模型、答案位置,复杂推理还可能被表面流畅度欺骗。多次调用、chain-of-thought 或 judge ensemble 能降低方差,却不能消除系统性偏差。

\lecturefigure{slides-images/slide-021.png}{官方 slide 21:LLM judge 与人类评估的替代/补充关系} \lecturefigure{slides-images/slide-022.png}{官方 slide 22:LLM judge 的可靠性、偏差与重复调用问题}

术语消化:Pointwise、Pairwise 与 Reference-based Judge

Pointwise 对单个输出给分,易受绝对量表漂移;Pairwise 比较 A/B,通常更稳定但有位置偏差;reference-based judge 将候选与标准答案或 rubric 对照,适合有参考但不宜 exact match 的任务。Agent 轨迹还可做 step-wise judge,但成本高且会把 judge 的过程偏好注入评分。

Judge 与被评模型不能形成封闭自证

若同一模型家族生成训练数据、优化输出并担任最终 judge,系统可能学会其特定偏好。应使用可执行 oracle、不同来源 judge、人类校准和对抗样本作为外部锚点。报告中要固定 judge 版本和 prompt;在线模型更新会让历史分数失去可比性。

Static 与 Dynamic Eval:稳定比较和持续新鲜度的交换

前面讨论了谁来评分,这里转向测试题本身如何维护。一个 benchmark 若永远不变,会逐渐被训练数据和开发过程吸收;若每次都变,又失去历史比较。因此本小节把稳定 anchor 与动态新题放在同一版本体系中,明确两者分别承担回归和抗污染职责。 slide 23 对比静态 benchmark 与动态 benchmark。固定测试集易复现、易做长期趋势,但会饱和、泄漏并诱导针对性优化;动态 eval 持续或周期生成新任务,降低记忆和污染风险,却增加版本控制、难度校准和跨时间比较的成本。

\lecturefigure{slides-images/slide-023.png}{官方 slide 23:static benchmark 与 dynamic benchmark}

双轨评估策略

保留一个稳定 core set 做回归和历史比较,再用 rotating/dynamic set 检测新能力、污染和适应性。动态题必须保留生成器、seed、难度与 verifier 版本,必要时用 anchor items 将不同批次标尺对齐。新鲜不等于高质量,动态生成同样需要人工审计。

本章小结

任务类型决定评分方法:close-ended 适合自动指标,open-ended 要先寻找 oracle,再决定 human 或 LLM judge。任何 judge 都需要校准,static 与 dynamic 则在可比性和抗污染之间权衡。下一章把这些基础维度组织成 Agent-specific taxonomy。

Agent Eval Taxonomy:能力、应用与广覆盖评估

基础任务类型回答“如何评分”,taxonomy 回答“评分覆盖什么”。课程将 Agent eval 分成三层:specific capability、specific application、general set of applications。三层不是高低等级,而是不同诊断粒度。能力评估便于定位工具调用、规划或记忆缺口;应用评估检验完整工作流;广覆盖套件用于比较通用 Agent 的能力轮廓。

Specific capability:把复杂 Agent 拆成可诊断能力

slides 27--30 汇总 survey 中的能力类别。规划/推理、function calling/tool use、self-reflection、LLM-based evaluation、memory 等都可单独构造任务。能力 benchmark 的优势是控制变量清楚:例如 BFCL 关注函数选择和参数,memory benchmark 关注跨轮信息保留。缺点是模块分数不能自动预测端到端成功,真实应用会把多个能力以时序方式耦合。

\lecturefigure{slides-images/slide-027.png}{官方 slide 27:规划与推理类 Agent capability benchmark} \lecturefigure{slides-images/slide-028.png}{官方 slide 28:Function Calling 与 Tool Use benchmark} \lecturefigure{slides-images/slide-029.png}{官方 slide 29:Self-Reflection 与 LLM-based evaluation capability} \lecturefigure{slides-images/slide-030.png}{官方 slide 30:Memory capability benchmark}

读图:能力名称背后要落到可观察行为

“规划”可以测子目标分解、顺序约束或重规划;“工具使用”可测工具选择、参数、时机和错误恢复;“记忆”可测写入、检索、更新与遗忘。若 benchmark 只用任务名称分类,却没有明确失败判据,不同论文的同名分数不可比较。能力 eval 应输出细分错误,而不只是一个 aggregate。

模块高分不等于组合可靠

Agent 可能分别通过 tool-use 与 planning benchmark,却在真实任务中因计划与工具状态不同步失败。组合系统还会出现错误传播、预算竞争和权限冲突。能力 benchmark 适合诊断和回归,应用 benchmark 才能检查接口契约和长链路可靠性。

Specific application:用真实工作流检验系统闭环

slides 32--36 覆盖 web agents、software engineering、scientific agents、conversational agents 以及医疗、教育、法律、管理和金融等应用。应用评估的任务、工具、数据和用户目标更接近真实环境,能够暴露流程错误;但每个 domain 有自己的安全、许可和专业标准,分数可迁移性有限。

\lecturefigure{slides-images/slide-032.png}{官方 slide 32:Web Agent benchmark} \lecturefigure{slides-images/slide-033.png}{官方 slide 33:Software Engineering Agent benchmark} \lecturefigure{slides-images/slide-034.png}{官方 slide 34:Scientific Agent benchmark} \lecturefigure{slides-images/slide-035.png}{官方 slide 35:Conversational Agent benchmark} \lecturefigure{slides-images/slide-036.png}{官方 slide 36:医疗、教育、法律、管理与金融应用}

应用评估的四层真实性

任务真实性:目标是否来自真实需求;环境真实性:工具、数据和约束是否接近生产;行为真实性:模型是否需要完整交互而非一次生成;后果真实性:错误成本和安全边界是否被表达。为了可复现,benchmark 常简化环境,因此“realistic”应具体说明保留和省略了什么。

课堂提示:应用 benchmark 容易被误用为行业准入证明。课程列出大量论文,是为了展示评估空间,而不是说在某个医疗或法律 benchmark 得分高就可以部署。高风险领域还需专家审查、真实流程验证、监管合规和持续监控。

General set:广覆盖不是简单求平均

能力和应用评估各自聚焦局部,general set 则试图回答模型跨任务迁移是否稳定。本小节关注任务权重和汇总方法:如果没有能力剖面、难度分桶与成本信息,一个总分会把“少数领域很强、关键领域失效”的系统包装成通用 Agent。 slide 38 展示 general Agent benchmark 试图跨任务/应用测量通用能力。这类套件适合比较 Agent 系统的能力轮廓,但任务权重会隐式定义什么叫“通用”。如果 coding 占比过高,综合分会偏向代码模型;若简单任务很多,平均值会掩盖难题失败。

\lecturefigure{slides-images/slide-038.png}{官方 slide 38:General Agent Evaluation 的跨应用集合}

综合分必须带能力剖面

报告总体分时同时给出 domain、难度、工具、轨迹长度和成本分桶;说明权重与缺失数据处理;避免用平均值掩盖安全关键失败。通用 Agent 的目标不是每项相同,而是在任务分布变化时保持可预测、可诊断的性能。

本章小结

能力层负责定位,应用层负责闭环,general set 负责广覆盖比较。一个成熟 eval program 通常三层并存:快速 capability regression、少量高保真 application scenario,以及周期性的 broad suite。

什么是 Good Eval:Outcome Validity 与失效模式

有了任务集合,下一问题是分数是否真的代表目标能力。课程采用 outcome validity 作为核心:评估结果应与任务意图、真实成功和可接受过程一致。一个稳定、可重复但测错目标的 benchmark,仍然是坏评估。

Outcome validity:测到“真正完成”,而不是替代信号

slides 40--41 用 Agent 执行链说明,用户请求经 Agent、工具和环境产生结果,evaluation system 必须判断该结果是否满足意图。若只评分最终回复,可能忽略环境没有改变;若只检查状态,可能忽略回复误导用户;若只看 reward,又可能遗漏成本和违规。

\lecturefigure{slides-images/slide-040.png}{官方 slide 40:Good eval 的 Agent--environment--evaluator 结构} \lecturefigure{slides-images/slide-041.png}{官方 slide 41:Outcome validity 在完整执行链中的位置}

Outcome validity 的三个一致性

意图一致:评分规则对应用户真正目标;状态一致:环境中的事实变化与声明一致;过程一致:达到目标没有违反权限、安全或资源约束。三者至少需要分别观测。Agent “说已完成”不是 outcome,工具返回成功码也不一定代表业务状态正确。

文本、代码、状态变更与多步推理的不同判据

slides 42--45 分别给出四类 outcome。文本结果可检查内容、依据和指令满足;代码生成需构建、测试、静态分析与人工质量;环境状态变更要做 state matching 和约束检查;多步推理既看最终答案,也要防止 shortcut、随机猜中和过程违规。不同 outcome 需要不同 oracle,不能统一成 LLM judge。

\lecturefigure{slides-images/slide-042.png}{官方 slide 42:文本结果的内容、依据与约束判断} \lecturefigure{slides-images/slide-043.png}{官方 slide 43:代码生成的构建、测试与质量验证} \lecturefigure{slides-images/slide-044.png}{官方 slide 44:环境状态变更的 state matching} \lecturefigure{slides-images/slide-045.png}{官方 slide 45:多步推理的答案、过程与一致性验证}

读图:Outcome-specific oracle

文本任务可使用 claim verification、引用检查和 rubric;代码任务使用编译、unit/integration tests、lint、安全扫描;状态任务比较数据库/DOM/API 后态与目标不变量;推理任务可用最终答案、proof checker、步骤约束和重复采样。应把强确定性 oracle 放在主评分,将主观 judge 限于可读性或解释等维度。

测试通过并不证明实现正确

测试覆盖有限、环境可能被修改、随机性可能碰巧成功。代码 Agent benchmark 应隔离测试、保护 verifier、检查 diff 范围并运行 hidden tests;状态任务要验证无关字段没有被破坏;多步任务要检查重复执行是否幂等。Outcome validity 是证据组合,不是单一绿灯。

Ways Eval Can Go Wrong

slide 46 汇总数据噪声/偏差、任务不真实、数据不平衡、shortcut、评估成本与不可靠 judge 等失效模式。更隐蔽的问题是 Goodhart's law:当分数成为优化目标,系统会寻找规则漏洞。Agent 有工具和长轨迹,投机空间比静态模型更大。

\lecturefigure{slides-images/slide-046.png}{官方 slide 46:数据、任务、shortcut、成本与 judge 失效模式}

评估失效审计表

风险 证据 缓解
数据偏差 分桶表现、来源分布 重采样、补充真实长尾
污染 重合检索、异常熟悉度 私有/动态题、时间切分
Shortcut 高分轨迹异常短或违规 hidden checks、过程审计
Judge 偏差 人类校准、位置/长度敏感 随机化、多 judge、oracle
成本失控 token、工具、wall time 分布 预算上限、成本前沿

本章小结

Good eval 的中心不是指标数量,而是 outcome validity。文本、代码、状态和推理需要不同证据;数据、judge 和 harness 都可能失效。下一章用 benchmark case study 检查这些原则如何落地。

Benchmark Case Studies:从目标到数据生成与验证

课程没有只列 benchmark 名称,而是先给出构造问题:目标是什么、Agent 做什么、benchmark 如何评价、数据怎样生成、如何保证质量。读案例时应比较其 task pipeline、oracle、真实性和污染风险,而不是只看榜单。

案例方法:先画数据与执行流水线

slides 48 与 50 把 benchmark 设计拆成目标、任务、测试过程和 data pipeline。一个可维护 benchmark 需要明确任务来源、环境初始化、participant interface、结果收集、评分和质量审查。若数据生成不可复现,分数波动无法归因;若任务目标模糊,再精确的评分也没有意义。

\lecturefigure{slides-images/slide-048.png}{官方 slide 48:案例分析先问 goal、task 与 evaluation} \lecturefigure{slides-images/slide-050.png}{官方 slide 50:good benchmark 的构造与 data pipeline}

Benchmark datasheet 最小字段

任务意图、来源与许可;环境与依赖版本;Agent 可见信息和工具;oracle/metric;成功与失败样例;难度与分布;污染风险;成本预算;已知限制。把这些字段写成机器可读 metadata,才能支持重跑、切分和跨版本比较。

CyberGym:漏洞复现中的容器、补丁与 verifier

slides 51--53 展示 CyberGym:从真实漏洞/补丁构造容器化任务,让 Agent 在代码环境中发现或利用漏洞,并用 PoC、patch 或测试验证。其价值是任务与真实安全问题相关;难点是构建环境、依赖、漏洞可复现性和安全隔离。补丁本身可能泄漏答案,数据生成必须防止把 ground truth 暴露给 participant。

\lecturefigure{slides-images/slide-051.png}{官方 slide 51:CyberGym task、environment、PoC 与 patch pipeline} \lecturefigure{slides-images/slide-052.png}{官方 slide 52:CyberGym 模型表现与案例结果} \lecturefigure{slides-images/slide-053.png}{官方 slide 53:CyberGym 数据生成、复现与 contamination analysis}

读图:安全 benchmark 的双重边界

一方面要让漏洞真实可执行,另一方面不能让实验逃逸 sandbox 或泄漏危险能力。环境应禁用外网、限制资源、记录系统调用并销毁实例;评估应区分找到漏洞、生成有效 exploit、修复漏洞和不破坏其他功能。单一成功率不能概括不同安全目标。

tau-bench 与 tau2-bench:对话、工具和双控制

slides 54--57 描述零售/航空等场景中的对话 Agent。tau-bench 用用户模拟、policy、数据库/API 和任务结果评估工具使用;tau2-bench 进一步让用户侧也能调用工具,形成 dual-control environment,更接近双方都可改变状态的真实流程。数据由 schema、policy 和任务模板生成,成功由最终数据库状态与约束共同判断。

\lecturefigure{slides-images/slide-054.png}{官方 slide 54:tau-bench 的用户、Agent、工具与数据库} \lecturefigure{slides-images/slide-055.png}{官方 slide 55:tau-bench 数据生成、tool schema 与 pass@k} \lecturefigure{slides-images/slide-056.png}{官方 slide 56:tau2-bench 双控制交互结构} \lecturefigure{slides-images/slide-057.png}{官方 slide 57:tau2-bench 数据、验证和可靠性度量}

Pass@k 与可靠性

若同一任务运行 \(k\) 次,pass@k 常衡量至少一次成功的概率;生产系统还关心 pass\(^k\) 或多次都成功的稳定性。Agent 有随机策略和模拟用户,两者都会贡献方差。报告平均成功率时应同时给重复运行分布、失败类型和成本,否则“一次能做成”会被误解为可靠服务。

Simulator realism 是隐藏变量

用户模拟器若过于合作,会高估 Agent;若语言模式单一,模型可识别 benchmark;policy 与数据库若简化,也会遗漏真实异常。tau 类 benchmark 支持受控比较,不证明所有客服流程都能自动化。应加入 adversarial user、工具故障、权限限制和真实对话回放。

GDPval:专业任务与真实经济价值

前几个案例主要依赖程序化环境,GDPval 则把评估推向专业知识工作。本小节需要同时观察 deliverable 质量、领域专家判断和任务的经济相关性,并警惕把一份可评分产出直接外推为岗位级自动化结论。 slides 58--59 介绍 GDPval,任务来自不同职业的知识工作,强调 deliverable 的现实性和专业评审。它试图把模型输出与经济活动联系起来,而非只测学术题。难点在于专家时间昂贵、任务可能包含机密背景、rubric 主观且不同职业难以放在同一标尺。

\lecturefigure{slides-images/slide-058.png}{官方 slide 58:GDPval 的职业任务与经济相关性} \lecturefigure{slides-images/slide-059.png}{官方 slide 59:GDPval 数据生成、专家评审与局限}

读图:Economic relevance 不等于自动化比例

benchmark 能测某些专业 deliverable 的质量,不直接告诉我们岗位有多少工作可被替代。真实生产还包含沟通、责任、隐性知识、数据访问和组织流程。GDPval 更适合比较模型在工作样本上的能力边界,并发现哪些任务需要专家监督。

CRMArena:业务流程与 hidden state

slides 60--61 将 Agent 放入 CRM 场景,要求理解客户、销售和服务数据并执行多步操作。环境状态复杂、字段关系多,成功不仅是语言正确,还要数据库变更符合业务规则。数据 pipeline 需要 schema、任务模板、初始状态和 ground truth transition。

\lecturefigure{slides-images/slide-060.png}{官方 slide 60:CRMArena 的 CRM 环境、角色与任务} \lecturefigure{slides-images/slide-061.png}{官方 slide 61:CRMArena 数据生成、验证与限制}

业务 benchmark 的权限与幂等性

真实 CRM 有角色权限、审批、重复提交和审计要求。benchmark 若允许 Agent 直接写所有字段,会高估能力并忽略风险。应检查动作是否授权、重复执行是否安全、无关记录是否被修改,以及失败后能否回滚。

LegalAgentBench:长文档、检索与专业判断

slides 62--63 介绍法律 Agent 任务,涉及检索、引用、问题回答和程序化流程。法律文本长、术语精确、时效性强,数据需要律师或可靠来源验证。字符串匹配难以评价论证,LLM judge 又可能被流畅度欺骗,因此要组合 citation validity、source coverage、规则检查和专家复核。

\lecturefigure{slides-images/slide-062.png}{官方 slide 62:LegalAgentBench 的法律任务与工具环境} \lecturefigure{slides-images/slide-063.png}{官方 slide 63:LegalAgentBench 数据生成、验证与限制}

案例对照:oracle 从哪里来

Benchmark 主要 oracle 最难边界
CyberGym PoC、patch、tests 隔离、复现、答案泄漏
tau/tau2 final DB state、policy 用户模拟与多次可靠性
GDPval 专家 rubric 主观性、成本、职业可比性
CRMArena state transition、规则 权限、幂等、隐藏关系
Legal Agent 引用、规则、专家 时效、长文档、责任

本章小结

案例表明 benchmark 质量来自任务目标、环境、数据 pipeline 与 oracle 的协同。每个案例都牺牲部分真实性换取复现性,因此必须公开限制。下一章将 benchmark 包装成 Green Agent,使它可以在 AgentBeats 式平台上自动运行和汇报。

Green Agent:把 Benchmark 实现成可运行评估服务

前面的 benchmark 都包含 task、environment、participant 和 evaluator。课程项目将 evaluator/orchestrator 封装为 Green Agent,把被测系统称为 White Agent。颜色只是角色名:Green Agent 代表评估方,负责准备测试、驱动交互、验证 outcome 和提交报告;White Agent 是 participant,不应获得 hidden test、ground truth 或 evaluator 内部状态。

Testing my Agent:从静态题目到多 Agent 协议

slide 65 用考试类比说明,评估者必须独立于考生。Green Agent 不仅发送问题,还可能启动环境、提供工具接口、控制预算、收集消息并在结束后评分。White Agent 则实现待测能力。平台还可能有 participant agents 或环境服务。角色分离是防止答案泄漏和保证可替换性的基础。

\lecturefigure{slides-images/slide-065.png}{官方 slide 65:Green evaluator、White participant 与测试角色}

Green/White 信任边界

White Agent 只能看到完成任务所需的公开接口;Green Agent 可访问 hidden cases、ground truth 和评分逻辑,但不能修改 participant 的输出来“帮助通过”。所有消息、工具调用和环境变更应记录。评估代码与 participant code 分仓或分进程运行,可降低意外泄漏和依赖冲突。

Evaluator 也可能成为攻击面

White Agent 的输出可能包含 prompt injection、超长内容或恶意参数,诱导 Green Agent 泄漏答案或执行危险工具。Green Agent 应把 participant 内容当不可信输入,使用结构化协议、最小权限、超时/资源限制和独立 verifier。评估者不是天然安全的“上帝进程”。

职责与完整 assessment flow

slides 67--69 逐步展开 Green Agent 职责:准备 environment、分发任务、驱动/观察 participant、验证结果并把报告提交平台。完整 flow 从平台确认 agents ready 开始,Green Agent 再 orchestration interaction,最终 metrics 被计算并上传。这个流程把 benchmark 论文中的一次实验变成可重复服务。

\lecturefigure{slides-images/slide-067.png}{官方 slide 67:Green Agent 的准备、交互、环境、验证与报告职责} \lecturefigure{slides-images/slide-068.png}{官方 slide 68:Green Agent 作为 evaluator 和 orchestrator} \lecturefigure{slides-images/slide-069.png}{官方 slide 69:平台、Green、White、environment 的完整 assessment flow}

读图:控制平面与数据平面

平台负责 agent discovery、任务生命周期和结果登记,可视为控制平面;Green/White 消息、工具调用和环境状态是数据平面。控制平面不应理解任务语义,Green Agent 不应承担平台账户和全局调度。边界清楚后,同一 Green benchmark 才能测试不同 White Agent,同一 White Agent 也能接入多个 benchmark。

一次评估 run 的状态机

建议使用状态:CREATED \(\rightarrow\) READY \(\rightarrow\) RUNNING \(\rightarrow\) VERIFYING \(\rightarrow\) REPORTED,并为 TIMEOUT、FAILED、CANCELLED 定义终态。每次状态转换保存时间、agent 版本、environment digest 和错误原因。没有显式状态机,网络重试容易重复启动任务或重复计分。

Green Agent 如何构建

slides 70--71 给出典型组成:task loader/selector、orchestrator、environment、metric modules 与 report writer。prompt-based toolkit 可以帮助开发者描述任务和角色,但真实 benchmark 仍需代码初始化环境、处理协议和执行 verifier。课程提醒,有些项目需要 2--3 个 Agent,有些还包含 user simulator、service simulator 或额外 judge。

\lecturefigure{slides-images/slide-070.png}{官方 slide 70:Green Agent 的任务、orchestrator、环境与 metric 组件} \lecturefigure{slides-images/slide-071.png}{官方 slide 71:Prompt-based toolkit 与多 Agent 拓扑}

组件职责表

组件 职责
Task loader 读取公开/hidden case,生成 run-specific task,不泄漏答案
Environment manager 创建、重置、销毁隔离环境,固定依赖与 seed
Orchestrator 发送 kickoff、路由消息、执行预算/超时、判定结束
Verifier/metric 从 outcome/trajectory 计算指标并返回可解释证据
Reporter 生成结构化结果、版本元数据和失败日志,提交平台

课堂提示:Green Agent 的智能程度取决于 benchmark。可执行 unit test 足够时,evaluator 应尽量确定;开放任务可能需要 judge Agent。不要为了“Agentic”而让所有组件都由 LLM 决策,确定性代码更便宜、可复现,也更不易被 participant 操纵。

本章小结

Green Agent 是 benchmark 的运行时封装:它管理环境与交互、保护 hidden evidence、计算 metrics 并报告。角色、权限、状态机和组件边界决定评估能否可信复现。

两类项目路径:集成 Existing Benchmark 或构建 New Benchmark

slide 72 将课程项目分为两类。Type 1 选择已发表 benchmark,完成 AgentBeats 集成并分析原 benchmark 的质量问题;Type 2 从新能力出发构造 benchmark。两条路径都不是简单软件作业:前者必须研究 validity、bias 和 limitation,后者必须证明任务价值、环境真实性与评分可靠。

\lecturefigure{slides-images/slide-072.png}{官方 slide 72:Existing benchmark integration 与 new benchmark 两类项目}

Type 1:集成不等于包装 API

slides 73--74 规定 Type 1 的目标和额外分析。团队要阅读论文/代码,明确 task formulation、数据来源、metric 与已知限制;把原 interface 适配为平台协议;复现实验;再做 benchmark quality analysis,例如 contamination、难度、bias、reliability、environment difference 和 failure mode。

\lecturefigure{slides-images/slide-073.png}{官方 slide 73:集成现有 benchmark 的目标、团队与参考材料} \lecturefigure{slides-images/slide-074.png}{官方 slide 74:除平台集成外还需 benchmark quality analysis}

复现先于改造

先在原仓库/原协议下复现论文基线,再做 Green Agent 适配。否则分数差异无法判断来自 participant、环境版本、接口实现还是 benchmark 本身。保存原始 commit、依赖锁、数据 checksum 和 baseline output,形成迁移前后的证据链。

Type 1 workflow 与 SWE-bench Verified

slide 77 是 progressive build 的最终工作流:integration、benchmark quality analysis、metrics、bias/limitation、correction/expansion。slide 78 用 SWE-bench 与 Verified 说明已有 benchmark 也可能包含难以复现、测试不公平或题目不清的问题;人工筛选和修订可提高 outcome validity,但也改变任务分布,需要公开版本差异。

\lecturefigure{slides-images/slide-077.png}{官方 slide 77:Type 1 的集成、质量分析、指标与修订完整 workflow} \lecturefigure{slides-images/slide-078.png}{官方 slide 78:SWE-bench 与 SWE-bench Verified 的问题筛查}

读图:Verified 的价值和边界

Verified 集合通过人工审查提升 task clarity 和 test fairness,使分数更可解释。它不意味着原集合所有未入选任务都无价值,也不证明新集合没有污染或覆盖偏差。报告应注明 benchmark 版本,并分别讨论 reliability 与 representativeness:更可靠的小集合可能覆盖更窄。

Correction 不能偷偷改标尺

修复测试、环境或题目后,历史分数通常不可直接比较。应发布新版本、迁移说明、受影响 task 列表和 baseline rerun。若只在本地修补却沿用原 benchmark 名称,会制造无法审计的 leaderboard。

Type 2:新 benchmark 从有用场景和可验证 outcome 出发

slides 79--80 要求新 benchmark 覆盖尚未被良好测量的能力,任务应反映 useful real-world scenario,并能持续、低成本生成或维护。数据来源可以是人工、合成、真实日志或其组合;关键是难度、真实性、许可和 oracle。团队还需说明为何现有 benchmark 不足,而不是仅换领域名词。

\lecturefigure{slides-images/slide-079.png}{官方 slide 79:从零创建 benchmark 的目标} \lecturefigure{slides-images/slide-080.png}{官方 slide 80:真实场景、持续数据生成与任务来源要求}

新 benchmark 的 novelty 检查

能力新颖:测到现有套件缺失的行为;环境新颖:引入真实工具/状态约束;测量新颖:更可靠地验证已有任务;数据新颖:覆盖新的分布或动态生成。Novelty 应对应评估价值,而不是为了不同而不同。若只是换数据集,必须证明分布变化会暴露新的失败模式。

可扩展任务生成的质量门

任务生成器应输出 task、initial state、allowed tools、ground truth/constraints 和 provenance;随后经过 schema validation、可执行性检查、难度估计、去重、污染扫描和人工抽样。生成速度不是目标,能持续产生有效、可分离且不泄漏答案的任务才是。

本章小结

Type 1 强调可靠迁移与质量审计,Type 2 强调任务价值与测量设计。两者都要版本化环境和指标,并用 baseline 证明 Green Agent 的实现没有改变原本要测的能力。

Green Agent 设计清单:Task、Environment、Metrics、Test Cases

slides 82--85 给出从目标到测试的四步。顺序很重要:先选要评价的 task,再设计 participant 运行环境,然后定义 metrics,最后用 test cases 覆盖成功、失败与边界。若先写 Agent 再找指标,通常会得到只验证 happy path 的项目。

Step 1:选择明确且有价值的任务

任务描述应包含用户目标、Agent 可用信息、允许动作、终止条件和不可违反约束。例如 ticket-booking agent 不只是“订票”,还包括日期/预算/偏好、库存变化、支付权限和取消规则。一个 benchmark 可以含多个 task family,但每类都要有清楚 outcome。

\lecturefigure{slides-images/slide-082.png}{官方 slide 82:选择要评价的 task}

避免把产品名称当任务定义

“测试客服 Agent”过于宽泛;“在给定订单状态和政策下完成退款,保持审计字段一致且不越权”才可验证。任务越模糊,rubric 越依赖 judge 主观解释,模型也越容易用语言表面掩盖失败。

Step 2:环境必须可复现、隔离且表达真实约束

任务目标确定后,环境决定 Agent 实际能看到和改变什么。本小节从 observation、action、permission 与 reset 四个接口检查复现性:环境既要保留真实约束,又必须隔离外部副作用,并能在每次 run 前回到可验证的初始状态。 slide 83 要求设计 Agent 需要运行的 environment:可交互 UI、数据库、API、工具和隐藏状态。环境初始化要确定,执行后可重置,外部依赖应 mock 或固定版本。若使用真实网络服务,要记录响应或接受不可复现性,并为故障与限流设计测试。

\lecturefigure{slides-images/slide-083.png}{官方 slide 83:环境、网页/API、动作与状态反馈}

Environment contract

定义 observation schema、action schema、permission、timeout、resource budget、state transition 和 terminal condition。Green Agent 只通过 contract 控制环境,White Agent 只获得允许接口。每次 run 保存 initial/final state digest 和 tool trace,便于复现。

Step 3:Metrics 要覆盖成功、质量、成本与风险

slide 84 以订票为例:不仅看是否订到,还看价格、行程是否满足用户要求。通用 metrics 可分 outcome success、constraint satisfaction、trajectory efficiency、robustness 和 safety。多指标可以形成 Pareto frontier;若必须汇总,权重和硬门槛必须公开。

\lecturefigure{slides-images/slide-084.png}{官方 slide 84:Green Agent 的 success rate 与用户约束指标}

硬门槛与软评分分离

越权、数据泄露、环境破坏等应作为 hard fail,不应被高质量文字补偿;价格、步骤数、延迟等可做软评分。总分前先检查硬约束,避免加权平均把严重事故“平均掉”。

Step 4:Test cases 要覆盖失败恢复和 adversarial behavior

slide 85 要求设计多样 test case。除了正常成功,还应有无库存、工具超时、用户改需求、冲突约束、重复消息、prompt injection、非法参数和部分完成。test suite 应分 public examples 与 hidden tests,防止 participant 对固定题目硬编码。

\lecturefigure{slides-images/slide-085.png}{官方 slide 85:多样 test cases 与 rubric 示例}

Test matrix

类别 目的 示例
Happy path 验证基本能力 信息完整、工具正常
Boundary 验证规则边界 预算恰好、日期临界
Failure 验证恢复 API 超时、库存变化
Adversarial 验证安全 注入、越权、答案诱导
Metamorphic 验证一致性 等价改写、顺序变化

Project grading rubric:新建与集成路径的不同责任

slides 87--88 分别给出新 benchmark 和 existing benchmark rubric。新建侧重 goal/novelty、scope/scale、validity、reliability、realism;集成侧重原 benchmark analysis、faithful implementation、quality audit、evaluation validity、reliability 与 correction。共同要求是可复现、文档完整并能解释限制。

\lecturefigure{slides-images/slide-087.png}{官方 slide 87:New benchmark project grading rubric} \lecturefigure{slides-images/slide-088.png}{官方 slide 88:Existing benchmark integration grading rubric}

把 rubric 变成验收证据

每个维度附可检查 artifact:novelty 对应 related-work matrix;validity 对应 oracle tests 与人工审计;reliability 对应 repeated-run variance;realism 对应真实任务来源与简化说明;implementation 对应 baseline parity;analysis 对应错误分桶、bias 和 limitation report。只有文字自评不足以得分。

本章小结

高质量 Green Agent 从任务定义开始,经环境 contract、指标和测试矩阵落地,再用路径特定 rubric 验收。设计顺序能防止“代码能跑但不知道测了什么”的常见失败。

Tau-bench Coding Walkthrough:从论文接口到 AgentBeats

课程最后用 Tau-bench 展示如何把论文 benchmark 转为多 Agent 服务。实现分为 interface analysis、workflow design、kickoff script、Green Agent、White Agent 与平台 integration。重点不是复制代码截图,而是理解每个进程拥有的状态和协议。

先梳理 interface:谁知道答案,谁可以调用工具

slide 91 给出原则:被测 Agent 应能在给定 task 上求解;Green Agent 提供允许的工具并像真实用户一样交互。slide 92 要求先读论文,再读 codebase,写出 task formulation、user simulator、tools、database 和 verifier 的映射。slide 94 的最终 build 指出两个挑战:cross-agent tool use 与迁移原 evaluation。

\lecturefigure{slides-images/slide-091.png}{官方 slide 91:Interface 原则与 Green/White 分工} \lecturefigure{slides-images/slide-092.png}{官方 slide 92:从论文 task formulation 到 codebase} \lecturefigure{slides-images/slide-094.png}{官方 slide 94:跨 Agent tool use 与 evaluation migration 两个挑战}

Interface inventory

列出每个角色的输入、输出、可调用工具、持有状态和秘密:White Agent 持对话与公开工具;user simulator 持隐藏用户目标;environment 持数据库;Green Agent 持 task/metric 与 orchestration;平台持 run metadata。任何 secret 同时出现在 participant prompt 都会造成泄漏。

Workflow:Kickoff、对话、终止与评分

slide 95 给出 workflow:kickoff script 连接平台与 agents,发送启动消息;Green Agent 开始测试并路由交互;结束后调用 metric,提交 report。需要定义谁先发言、turn limit、tool routing、用户模拟结束条件、White Agent 提交 final 的格式,以及异常如何编码。

\lecturefigure{slides-images/slide-095.png}{官方 slide 95:Kickoff script、Green Agent 与 White Agent workflow}

消息 envelope

建议每条消息含 run_id、sender、recipient、type、payload、timestamp、sequence 与 trace_id。Tool result 使用结构化 schema,不把异常堆栈直接拼入自然语言。sequence 防止乱序,run_id 防止并发串线,trace_id 连接平台日志与环境动作。

Kickoff script:最小控制平面

slide 96 的代码展示启动入口。Kickoff 解析 agent card/endpoint,创建或连接 run,向 Green Agent 发送测试请求并等待结果。它不应包含 benchmark 评分逻辑,否则平台调用和 benchmark 语义耦合。重试必须幂等,避免网络超时后重复创建环境。

\lecturefigure{slides-images/slide-096.png}{官方 slide 96:Kickoff script 代码结构}

启动脚本常见故障

硬编码 endpoint、没有 timeout、把 credential 写日志、重试重复计分、进程退出后环境未销毁。应使用配置/secret manager、明确 deadline、idempotency key 和 finally cleanup。脚本越小,越容易在不同平台重用。

Green Agent:Orchestrator、User Simulator 与 Evaluator

slide 97 展示 Green Agent 实现。它加载 task,初始化环境,与 White Agent 多轮交互,必要时扮演用户或调用 user simulator,最后读取 final state 并评分。自然语言交互与确定性 metric 应分层:LLM 可生成用户行为,代码负责权限、状态和硬指标。

\lecturefigure{slides-images/slide-097.png}{官方 slide 97:Green Agent 的 orchestrator 与 evaluator 实现}

Green Agent 内部状态

至少保存 task spec、environment handle、turn count、messages、tool trace、budget、termination reason、raw metric evidence 与 final report。不要只保存聊天文本;数据库 diff、API response 和 verifier output 是 outcome validity 的关键证据。

White Agent:被测策略必须可替换

slide 98 展示 White Agent 作为 participant。它接收用户/Green 消息,调用公开工具,生成回复。benchmark 不应依赖某个特定模型 SDK;用 Agent Card/A2A 或稳定接口描述 capability,使不同实现都能被同一 Green Agent 测试。White Agent 的本地日志可用于调试,但正式评分只依赖 Green/环境侧证据。

\lecturefigure{slides-images/slide-098.png}{官方 slide 98:White Agent participant 实现}

不要让 White Agent 自报成功

participant 的 “done” 只表示请求结束,不是任务成功。Green Agent 必须独立读取环境状态并运行 verifier。若让 White Agent返回 score 或 ground truth comparison,模型可以直接优化自我声明,评估失去可信性。

AgentBeats integration:可发现、可复现、可观测

slide 99 列出实现完成后的平台工作:hosting、access、reproducible/open、report result/trace、package protocol。slide 102 展示 Google ADK 等开发/日志工具。集成的目标是让平台发现 agent、启动相同版本、查看 trace 并获得结构化 metric,而不是要求所有项目使用同一内部框架。

\lecturefigure{slides-images/slide-099.png}{官方 slide 99:AgentBeats hosting、访问、复现、trace 与协议集成} \lecturefigure{slides-images/slide-102.png}{官方 slide 102:ADK 与在线 logging 工具}

可复现发布包

包含源码 commit、容器镜像 digest、依赖锁、agent card、环境变量 schema、任务数据版本、运行命令、sample trace、baseline result 和许可证。秘密与私有测试通过受控存储注入,不进入镜像。平台结果应引用所有 digest,保证半年后能重跑。

可观测性最小集合

run timeline、消息 trace、tool latency/error、token/compute cost、environment diff、verifier evidence、termination reason。公开 leaderboard 可只展示汇总,但项目调试和审计必须保留细粒度证据,并对敏感数据做脱敏和 retention policy。

本章小结

Tau-bench walkthrough 展示了从论文到评估服务的完整迁移:先冻结角色与 secret,设计协议和状态机,再分别实现 kickoff、Green、White 与环境 verifier,最后用可复现包接入平台。接口正确性和 evidence chain 比“代码看起来 Agentic”更重要。

从 Benchmark 到长期 Eval Program:综合设计与 Worked Example

完成一个 Green Agent 只是建立了单次测量能力。真正的 eval program 还要保证指标定义可审计、样本变化可追踪、分数有不确定性、失败能回灌、成本可接受。否则 benchmark 会在几轮模型迭代后失去区分度,或被团队无意中优化成“只会通过测试”的局部目标。

Metric Contract:在跑实验前冻结语义

每个 metric 都应有 contract:名称、单位、输入 evidence、计算公式、聚合方式、缺失值、硬门槛、置信区间和适用范围。Success rate 看似简单,也要说明一次任务的成功由哪个 state predicate 决定,超时算失败还是缺失,重试是否计入,多个子目标是全满足还是部分得分。没有 contract,同名指标会随实现者改变。

Metric contract 示例

订票成功率定义为:在 20 turn 与 $0.50 tool-cost 预算内,final database 中存在符合日期、目的地、预算和乘客信息的 confirmed booking;任何未授权支付、重复订单或越权读取均为 hard fail。该定义同时绑定 outcome、预算和安全,而不是只检查 Agent 回复中出现 “booked”。

聚合也会改变结论。Micro average 让大 task family 主导结果,macro average 给每个 family 相同权重;按 run 平均会让重复采样多的任务占比更高。对安全与高风险任务,不能把 hard fail 与普通低质量用同一连续分数平均。讲义提醒:先写 metric contract,再查看模型结果,可减少“看到数据后改规则”的 researcher degrees of freedom。

版本化 contract 时要区分 bug fix 与标尺变化。修正除零错误可能不改变语义,新增权限硬门槛则会重定义成功。后者应升级 major version 并重跑 baseline。Green Agent 的 report 必须包含 metric version,否则 leaderboard 上的数字没有可比基础。

不确定性:一次运行不是能力估计

Agent 具有 sampling、工具延迟、用户模拟和环境随机性,同一任务重复运行可能得到不同结果。若 \(n\) 次独立运行中成功 \(k\) 次,点估计为 \(\hat p=k/n\),但小样本差异可能只是噪声。应报告二项比例置信区间或 bootstrap interval,而不是把 52% 与 54% 直接宣称为进步。

配对评估优先

比较两个版本时,尽量在相同 task、seed、environment snapshot 和 simulator trajectory 上运行,分析每个任务的成对差异。配对设计能抵消任务难度差异。若工具含真实网络随机性,应多次重复并把 environment error 与 model error 分开标记。

统计显著不等于工程显著。一个 0.5 percentage point 提升在百万请求规模可能有价值,也可能被推理成本翻倍抵消。报告同时给 effect size、置信区间、失败类型迁移和 cost delta。实践经验:对多指标反复挑最好结果会产生 multiple-comparison 假阳性,应预先指定 primary metric,并将探索性发现标注为待复现。

动态 benchmark 还存在标尺漂移。可在每批新题中保留 anchor tasks,用稳定 baseline model 估计难度变化;若 baseline 全面下降,先检查题目/环境,而不是立即解释为新模型退化。对 LLM judge,定期插入人工校准集,检测 judge 版本更新带来的 drift。

污染、饱和与 Benchmark 生命周期

污染不只指训练语料包含答案,还包括开发者反复看 hidden failure、prompt 针对固定 harness、公开 issue 泄漏测试,以及 evaluator 的模板进入模型合成数据。生命周期治理需要控制访问、记录 query、轮换数据、进行近重复检索,并为退役 benchmark 保留历史档案。

“没有公开答案”不等于没有污染

题目可能由公开网页改写,模型见过同源内容;代码任务的 patch 和 issue 可能同时出现在仓库历史;动态生成器也可能重复常见模板。污染分析应比较 task、source、solution 和中间 artifact,并用时间切分与来源隔离降低风险。

饱和时应先判断原因:模型真正掌握、题目太易、verifier 太宽、数据泄漏或 harness 提供过多帮助。直接加难题可能改变能力定义。更好的流程是保留旧 benchmark 作为 regression,发布新版本增加难度/分布,并用共同 anchor 建立 bridge。课堂提示:slide 23 的 dynamic eval 不是一次性替换,而是持续维护责任。

benchmark 应有状态:experimental、active、deprecated、archived。Experimental 可快速迭代但不用于正式排名;active 冻结协议并接受 bug report;deprecated 停止新比较但保留复现;archived 保存 artifacts。Green Agent 发布页应显示状态和 known issues,避免用户把早期项目当成熟标准。

Failure Taxonomy:把分数下降变成可修复信号

Agent 失败至少可分为理解、计划、工具选择、参数、环境观察、恢复、终止、verifier exploit 和安全违规。只记录 success/fail,训练团队无法决定补数据、改 prompt、换模型还是修平台。Green Agent 应输出结构化 failure code,并保留可支持该归因的 evidence。

失败归因的层次

首先区分 infrastructure failure(环境未启动、工具 5xx)和 participant failure;再区分 capability failure 与 policy violation;最后标记 root cause 与 downstream symptoms。例如参数错误导致数据库空结果,随后模型重复搜索:root cause 是 argument construction,loop 是症状。

自动归因可由规则和 judge 辅助,但高影响类别应人工抽样。错误标签本身也要测一致性。每个版本比较 failure transition matrix:哪些旧错误减少,哪些新错误出现。平均分上升但安全违规增加,通常不可接受。老师强调:评估的价值是暴露弱点;一个只给总分、无法定位的 benchmark 很难驱动进步。

失败样本回灌时要避免 test-to-train 泄漏。可抽象成新的 training family、保留原 hidden case、或从同一 failure mechanism 生成变体。事故回放可进入私有 regression set,但访问与训练使用需要隔离,确保最终 holdout 仍独立。

Evaluation Economics:测量本身也需要预算

Agent eval 可能比推理产品更贵:多次采样、长轨迹、外部工具、专家标注和 judge ensemble 都增加成本。评估设计应优化单位决策信息,而不是追求最大测试量。最便宜的规则检查先过滤,只有争议或开放结果进入昂贵 judge/人工;高风险任务即使昂贵也必须保留强验证。

分层评估漏斗

Level 0:schema、权限、静态检查;Level 1:快速 deterministic task;Level 2:完整 sandbox application;Level 3:LLM/human qualitative review;Level 4:小流量 canary。前层失败即可停止后层,减少无效成本。每层都记录覆盖和 false negative 风险。

成本指标至少含 tokens、tool calls、wall-clock、GPU/CPU time、human minutes 和 environment setup。将质量画成 cost-quality frontier,比较同一预算下谁更好,或同一质量下谁更便宜。若新 Agent 只靠 10 倍采样提升 1%,产品是否接受取决于任务价值。讲义提醒:benchmark 默认不计成本会激励不可部署策略。

评估平台自身也需 SLO:任务启动成功率、环境重置时间、结果延迟、重复运行一致性和数据完整性。若平台不可靠,模型分数的方差会被基础设施噪声污染。定期运行 known-good/known-bad canary Agent,验证 evaluator 能正确区分。

Worked Example:企业退款 Agent 的 Green Evaluation

假设要评价企业退款 Agent。Task family 包含正常退款、部分退款、超期申请、重复请求、欺诈标记和用户中途改意。Environment 包含订单数据库、policy service、payment sandbox 和客服对话。White Agent 可读订单、查询政策、发起授权动作;不能直接写数据库或绕过审批。

Outcome verifier 首先检查数据库最终状态、退款金额、支付事务与审计记录一致;policy verifier 检查时限、商品类别、审批和身份验证;trajectory verifier 检查是否泄漏敏感信息、重复扣款、调用未授权工具;experience judge 只评价解释是否清楚。任何财务不一致或越权为 hard fail,文字质量只在硬约束通过后计分。

Test families

正常成功用于基本能力;边界日期检查政策解释;支付 API 超时检查幂等重试;库存/订单状态变化检查重新观察;prompt injection 检查工具输出不被当指令;用户要求违法绕过检查拒绝与升级;重复消息检查不产生双重退款。

Metrics 包括 strict success、constraint satisfaction、unauthorized action rate、duplicate transaction rate、median turns、tool cost 与 explanation quality。每个 case 至少重复三次,报告配对置信区间。Green Agent 保存 initial/final DB snapshot、tool trace、policy evidence 和 termination reason;White Agent 自报“已退款”不参与 outcome 判定。

上线前,离线 benchmark 通过后进入 shadow mode:Agent 生成建议但不执行,人工比较;再对低风险退款做 canary,并设置金额/异常阈值和一键回滚。线上 incident 生成新的 failure family,而原事故 case 留在私有 holdout。实践经验:这一 worked example 展示课程全链路:任务定义、环境、outcome validity、Green/White 协议、metrics、test cases、成本和部署决策必须同时成立。

本章小结

长期 eval program 需要 metric contract、不确定性、生命周期、失败归因和成本治理。Green Agent 提供运行载体,benchmark science 提供可信测量;两者结合,分数才能持续驱动模型、系统和产品决策。

总结与延伸

全讲框架

前面从评估基础走到生产治理,本节将任务、环境、测量、项目与维护压缩成一张总表。读表时应把每行视为必需 artifact,而不是可选文档;任何一层缺失,都可能让高分失去可复现性或真实含义。

层次 核心问题 交付物
层次 核心问题 交付物
任务 要测什么,是否有 oracle task spec、scope、constraints
环境 Agent 在哪里行动 versioned sandbox、tool contract
评估 分数是否代表真实 outcome oracle/judge、validity audit
数据 task 如何生成和维护 pipeline、provenance、split
可靠性 重复运行是否稳定 variance、failure taxonomy
项目 benchmark 如何作为服务运行 Green Agent、protocol、report
治理 是否安全、可复现、可审计 permission、digest、trace

十二条核心结论

从 Eval 到 Green Agent

  1. Evaluation 是系统性、可重复的决策接口。
  2. Agent eval 的单位是 trajectory 与 environment outcome。
  3. Close/open 与 verifiable/non-verifiable 是不同维度。
  4. 能用确定性 oracle 时,不应只依赖 LLM judge。
  5. Human 和 LLM judge 都需要校准、一致性与偏差报告。
  6. Static core set 与 dynamic rotating set 应双轨运行。
  7. Capability、application、general-set eval 各有诊断职责。
  8. Good eval 的核心是 outcome validity。
  9. Benchmark 必须公开 data pipeline、限制与污染风险。
  10. Green Agent 是 evaluator/orchestrator,White Agent 是 participant。
  11. Existing integration 也必须做质量分析和 baseline parity。
  12. 可复现镜像、协议、trace 与 verifier evidence 是项目的一部分。

拓展阅读

  • Survey on Evaluation of LLM-based Agents:能力、应用与通用评估 taxonomy。
  • Outcome validity 相关工作:结果是否与真实任务意图一致。
  • CyberGym、tau-bench/tau2-bench、GDPval、CRMArena、LegalAgentBench。
  • SWE-bench Verified:benchmark 任务审查与可靠性提升。
  • AgentBeats、A2A 与 Google ADK:多 Agent 发现、通信与运行工具。

开放问题

当环境无法完全复现时,怎样报告 uncertainty?动态 benchmark 如何保持跨版本可比?Green Agent 如何抵抗 participant prompt injection?如何把安全违规设为硬门槛,同时保留多目标 Pareto 分析?这些问题说明 Agent evaluation 不是 leaderboard 的附属工作,而是未来 Agent 工程和科学方法的共同基础。