# Stanford's CS 329Z lecture explains how to design trustworthy agent benchmarks

> Original title: CS 329Z: Engineering AI Agents

- Source: meng shao
- Published: 2026-11-05T02:46:50.000Z
- Bad Influence: https://badinfluence.news/items/xmejp9bmetmevr74pth9nqn7g
- Original: https://x.com/shao__meng/status/2118173161787396397

## Summary

Stanford's CS 329Z lecture 13, "Evaluation Fundamentals & Benchmark Design," says an agent benchmark has two parts: a task definition and evaluation rules. It lists seven criteria for good benchmarks, including challenge, realism, discriminability, ease of running, verifiability, interpretability, and durability. It also sets out fairness, reproducibility, transparency, and honesty as the conditions for trustworthy scores.

## Post

CS 329Z: Engineering AI Agents
Stanford / Fall 2026 @stanfordnlp
https://cs329z.stanford.edu

第 13 讲「Evaluation Fundamentals & Benchmark Design」：怎么设计好的 Agent 评测基准，怎么让分数可信？
https://web.stanford.edu/class/cs329z/slides/lecture13.pdf

一个 Agent 评测基准由两部分组成：任务定义和评测规则。任务定义包括问题描述、环境和判分方式；评测规则规定 Agent 具体怎么跑。好的基准要在难度、真实性和可运行性等多项要求之间取得平衡，而且需要随着模型进步不断更新。可信的分数则要做到公平、可复现、透明和诚实。这一讲是第 12 讲的后续，讨论怎么判断 Agent 真的变强了。

从语言模型评测到 Agent 评测

前面的课讲了怎么搭 Agent、怎么训练 Agent，这一讲回答怎么知道这些改进是否有效。传统语言模型评测可以概括成「给一个提示，看模型的回答」，从 SQuAD、GLUE、BIG-bench、HELM 等任务集合，发展到四类更难的评测：

· 考试类：MMLU 到 MMLU-Pro（选项从 4 个增加到 10 个），再到 GPQA 和 Humanity's Last Exam。
· 对话类：AlpacaEval、Chatbot Arena，用胜率或 Elo 分衡量。
· 安全类：HarmBench、AIR-Bench（5694 条提示，覆盖 314 个风险类别）。
· Agent 类：在环境里经过多步交互来完成任务。

Agent 评测有三点不同：输入不是一段提示，而是任务加上一个可以操作的环境；过程不是一次回答，而是多轮「行动、观察」；输出不是文本，而是一条轨迹和被改变后的环境。

基准的作用与古德哈特定律

讲义总结了基准的三个作用：用实验检验模型、提示和框架；让一个领域聚焦于共同的问题；提供共同语言，让「在某基准上提高 5 分」对所有人意味着同一件事。同时也要警惕古德哈特定律：指标一旦变成目标，就不再是好指标。讲义的例子是，按长度给作文打分，得到的就会是长作文，而不一定是好作文。

任务定义和评测规则

任务定义包括三项：
· 问题描述：要 Agent 做什么、交付什么。
· 环境：在哪里做，一开始有哪些资源可用。
· 判分：输出怎么打分。

评测规则是与具体基准无关、但跟 Agent 运行方式相关的设置：每个任务跑几次；什么时候停止，按最大轮数、时间、算力预算，还是由 Agent 自己决定；模型的推理强度和温度；框架是统一规定的还是自带的，允许用哪些工具、能不能上网；结果怎么汇总，要不要同时报告成本、轮数和 token 消耗。

讲义把这套框架套用到一批代表性基准上，按时间顺序是：TextWorld、ALFWorld、WebShop、SWE-bench、WebArena、τ-bench（按数据库最终状态判分）、OSWorld、Terminal-bench（89 个真实工作中的终端任务）、CodeClash（多轮对抗赛，只给目标不给具体指令）、BrowseComp（难找但容易验证的事实）、VendingBench（经营模拟售货机生意，按最终净资产计分），以及 AIRS-bench（20 个机器学习研究任务，与人类最佳结果比较）。

好基准的七项标准

· 有挑战性：模型还有提升空间。
· 真实：任务反映人们真正想做的事，而不是为了难而难。
· 有区分度：能把你关心的几个系统区分开。
· 容易运行：最好一条命令就能跑起来，系统要求写清楚，配置可以从命令行修改。讲义的标准是同学一个下午就能跑通。
· 容易验证：讲义举的例子是「写一部好电视剧」，这个任务真实、困难，但很难判分。让大模型当裁判，会偏爱更长的答案和与自己相似的风格，容易被钻空子，结果也随提示词和裁判模型而变；真正发布出去看观众反馈，会受营销影响，每部剧只有一个样本，要几个月才能得到一个数据点；用获奖或影评分作为替代指标，主观、样本少，而且结果滞后。
· 可解释：Agent 失败时能看出原因，轨迹可以分析。
· 耐用：不容易被训练数据污染，也不容易被钻空子。

这些标准之间本身有冲突，而且基准是需要持续维护的软件。讲义列出了基准从提出、改进、被刷满到被替换的过程，例如编程类从 SWE-bench Verified 到多语言版、Pro 版，再到 DeepSWE；终端类从 Terminal-Bench 1.0 到 2.1 再到 4.0；客服工具调用类从 ToolEmu 到 τ-bench 再到 τ²-bench。

怎么让分数可信

· 公平：使用与基准一致的框架、工具、预算、模型设置、尝试次数和网络权限。有偏离就说明怎么偏离、为什么。
· 可复现：固定并记录模型版本、框架、数据集和镜像版本。
· 透明：除了分数，还要报告运行次数、误差范围、成本和被排除的任务。讲义的例子是：70% 看起来比 67% 高，但如果 3 分的差距在误差范围内，而高分方案每个任务的成本是另一个的 3 倍，结论就不一样了。
· 诚实：不在测试集上调参，例如 2015 年 ImageNet 竞赛有团队因为提交测试集次数过多被取消资格；不挑运气最好的一次结果，比如实际跑了 10 次却只报告其中最好的一次作为 pass@1；公开发布的系统要和报告分数的系统是同一个。

![](https://badinfluence.news/api/img-proxy?u=https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FHWVDQa8bEAA9u4z.jpg&mode=thumb&exp=1794096000&sig=a6c6f3e8d14daa16)

## Quoted post @shao__meng

> CS 329Z: Engineering AI Agents
> Stanford / Fall 2026 @stanfordnlp 
> https://cs329z.stanford.edu/
> 
> 课程定位：从"模型"到"系统"的工程学
> 覆盖：简单 LLM 流水线 → 复合 AI 系统 → 自主 Agent。三位讲师的背景也高度互补：
> @Diyi_Yang（斯坦福 NLP 教授，人机交互与社会计算方向）
> @michaelryan207（DSPy 核心贡献者，自动评估 AutoMetrics 作者）
> @jyangballin（SWE-agent / SWE-bench / SWE-smith 作者，软件工程 Agent 领域最重要的研究者之一）
> 
> # 课程主线：三大工程挑战
> 贯穿全课的三个核心问题——分解（decomposition）、数据（data）、评估（evaluation）。11 周的内容基本围绕这三条线展开，可以分为五个模块：
> 
> 模块 1：构建基元（Week 2–3）
> · LLM 作为构建材料：API/SDK（litellm）、结构化输出、约束生成、解码策略、test-time compute、上下文工程、模型选型与成本/延迟权衡
> · RAG：embedding、向量库、分块策略、混合检索、cross-encoder 与 ColBERT 后期交互
> · 工具调用：函数调用 API、MCP（Model Context Protocol）、工具设计、代码沙箱、错误处理与重试
> 
> 模块 2：框架与设计模式（Week 3–5）
> · 框架层：DSPy（signature / module / optimizer）、LangChain/LangGraph、LlamaIndex，重点是"框架抽象了什么 vs. 你手写了什么"
> · 设计模式：workflow vs. agent 的分类学，五种可组合 workflow 模式，ReAct / plan-and-execute / reflection，"scaffold（脚手架）本身就是设计决策"
> · 记忆架构：短期/长期记忆、记忆作为工具动作、文件系统作为外化记忆、跨 Agent 记忆（MemGPT、Mem0、Generative Agents）
> · 多 Agent 系统：编排模式、handoff 与状态传递，以及一个很有态度的对照阅读——既读 AutoGen，也读《Why Do Multi-Agent LLM Systems Fail?》和 Neubig 的《Don't Sleep on Single-agent Systems》
> 
> 模块 3：优化（Week 5）
> · 从提示词到微调的全景：GEPA、MIPROv2、OPRO、TextGrad（提示优化）；LoRA/QLoRA、蒸馏、RLHF/DPO（权重优化）；test-time scaling（推理算力）
> · 核心问题是决策框架：什么时候优化 prompt、什么时候优化 weights、什么时候堆推理算力
> 
> 模块 4：数据与评估（Week 6–8）——最有分量的部分
> · 数据：trace、demonstration、feedback 三类数据；训练数据 vs. 评估数据；数据飞轮；合成数据；从 Agent 轨迹构建数据集（SWE-smith）
> · 评估基础：为什么 eval 难；4 元组框架（request / environment / stopping criteria / scorer）；好 benchmark 的性质；tinyBenchmarks
> · 评估基础设施：三类 grader、LLM-as-judge 的 prompt 设计与已知偏差、pairwise vs. pointwise、非确定性指标 pass@k vs. pass^k、harness 设计
> 
> 模块 5：安全与前沿（Week 8–11）
> · 安全：工具访问的隐私风险、prompt injection（含间接注入）、红队、沙箱与权限模型、输出护栏、human-in-the-loop
> · Coding Agent：SWE-agent、Claude Code、OpenHands 的端到端架构对比
> · 主动式 Agent：从 reactive 到 proactive，General User Models（GUM）、Next Action Prediction，以及"Agent 何时应主动、何时应等待"的 mixed-initiative 问题
> · 开放问题：多模态/web/计算机使用 Agent、科学 Agent、长时运行架构、生产可观测性（tracing、monitoring、成本管理）
> 
> # 作业设计：一手建、一手评
> 
> HW1：从零构建 Agent 系统（10%） 给定论文库，构建能检索并推理回答科学问题的 Agent。
> · Part A：只用 litellm 手写 RAG + 工具调用 + ReAct 式 Agent 循环
> · Part B：用 DSPy 重建关键组件，并反思框架抽象了什么
> 
> HW2：评估一个 Agent（10%） 给定一个预构建 Agent，设计完整评估套件：代码型 grader、至少一个 LLM-as-judge、用 4 元组框架构建 benchmark 任务、错误分析。

https://x.com/shao__meng/status/2095330467000328632
