斯坦福 2026 秋季新课 CS329Z《Agent 工程》第 10 讲上,课程核心主题是怎么科学地测试、评估 AI Agent,课程重点讲解 Terminal-Bench 基准和配套 Harbor 评测框架,和普通选择题、问答类大模型评测不一样,Terminal-Bench 把 Agent 放进隔离的 Linux 命令行容器里,让 Agent 自主敲命令、排错、完成真实工程任务,Harbor 就是用来批量调度容器、自动跑任务、收集轨迹、做 SFT/RL 优化的整套工具,这一讲还专门拆解了传统 Agent 评测容易踩的坑,比如奖励劫持、任务脚本有 bug、人工打分成本高、复现困难,同时对比 SWE-bench 这类代码基准,说明 Terminal-Bench 更偏向完整终端环境下的长链路运维、构建、数据处理任务,课程也配套实操任务,让学生用 Harbor 去自建 Terminal-Bench 风格的评测题目,下面整理核心知识点清单、评测方案对比、Agent 标准评测流程以及这套方案的优缺点。
课程核心知识点清单
- 课程名称:CS329Z Engineering AI Agents(Agent 工程)
- 课时:第 10 讲(上)
- 核心主题:AI Agent 评测方法论、Terminal-Bench、Harbor
- Terminal-Bench 定位:命令行终端环境下 Agent 基准,基于 Docker 容器沙箱
- Harbor 定位:Agent 评测与优化工具,横向批量跑容器任务,支持轨迹采集、微调
- 任务类型:编译打包、数据库修复、Git 故障恢复、环境配置、数据处理、安全漏洞修复
- 评测判定方式:不看模型输出文本,校验容器最终文件、服务状态、执行结果
- 主要痛点:奖励劫持、任务本身缺陷、评估成本高、不同环境复现难
- 配套实践:学生作业需要基于 Harbor 编写 Terminal-Bench 风格评测任务
Terminal-Bench、SWE-bench、普通文本基准对比表
| 对比项 | Terminal-Bench | SWE-bench Verified | 普通文本选择题基准 |
|---|---|---|---|
| 运行环境 | 完整 Linux 终端容器 | 代码仓库、PR 补丁环境 | 纯文本,无操作系统 |
| 评估目标 | 端到端终端操作、运维、构建、排错 | 代码补丁修复 GitHub issue | 知识问答、推理、单步逻辑 |
| 成功判定 | 检查容器最终状态、文件、服务 | 单元测试、仓库测试用例 | 模型输出和标准答案比对 |
| 任务长度 | 长轨迹、多轮命令交互 | 集中在代码修改 | 单轮、短回答 |
| 风险点 | 奖励劫持、环境依赖问题、超时 | 测试集泄露、模型记忆 | 可通过提示词技巧刷分 |
| 配套工具 | Harbor 调度框架 | 专用评估脚本 | 简单打分脚本 |
使用 Harbor+Terminal-Bench 开展 Agent 评测标准步骤
- 准备任务包:每个任务打包独立 Docker 镜像、任务描述、验证脚本、超时资源限制。
- 接入 Agent:把待测试 Agent 接入 Harbor,支持 LangGraph、自定义 Agent 脚手架。
- 批量启动沙箱:Harbor 在云端并行拉起隔离容器,每个任务独立环境互不干扰。
- Agent 交互执行:Agent 在终端里执行 shell 指令,读取返回结果,循环迭代直到完成或者超时。
- 自动校验结果:运行验证脚本,判断任务是否达成,记录成功 / 失败、token 消耗、执行时长。
- 采集轨迹数据:把每一步命令、模型输出、报错信息存入轨迹库,用于错误聚类、SFT、RL 优化。
- 错误分类复盘:区分是 Agent 能力不足、提示词问题,还是任务本身 bug、奖励劫持。
- 迭代优化 Benchmark:修复有问题的任务,升级验证脚本,持续维护基准版本。
优势和短板
✅ 优势
- 贴近真实工程师工作流,Agent 需要在终端里自主排错,不是单纯写一段代码
- 容器隔离,每个任务干净独立,不容易出现环境污染,结果可复现
- Harbor 支持大规模并行评测,同时拿到成本、token 消耗、成功率多维度指标
- 产出的交互轨迹可以直接拿来做监督微调、强化学习,评测和训练打通
- 有持续迭代机制,不断剔除被模型刷饱和、有漏洞的任务
❌ 短板
- 资源开销大,跑一轮 Terminal-Bench 需要大量容器、算力、时间,成本远高于文本评测
- 容易出现奖励劫持,Agent 找到绕过目标、骗过验证脚本的捷径,不是真的完成任务
- 任务编写门槛高,需要写 Docker 环境、验证脚本,随便写很容易产出有 bug 的无效考题
- 只覆盖命令行场景,不适合 GUI、多模态、机器人等其他类型 Agent
- 不同版本镜像、包版本变化,会造成同一 Agent 前后评测分数波动
【常见问题】
问题 1:斯坦福 CS329Z《Agent 工程》第 10 讲上,Terminal-Bench 和 Harbor 分别是什么?
回答 1:斯坦福 CS329Z《Agent 工程》第 10 讲上,Terminal-Bench 是面向终端环境的 AI Agent 评测基准,Harbor 是配套用来调度容器、批量跑评测、采集轨迹优化 Agent 的工具框架。
问题 2:CS329Z 第 10 讲上介绍 Terminal-Bench,和 SWE-bench 有什么核心差别?
回答 2:CS329Z 第 10 讲上介绍 Terminal-Bench 侧重完整终端运维、构建、排错的长链路任务,SWE-bench 重点聚焦给 GitHub 仓库提交代码补丁修复问题。
问题 3:用 Harbor 跑 Terminal-Bench 评测 Agent,打分是人工看模型回答吗?
回答 3:用 Harbor 跑 Terminal-Bench 评测 Agent 不靠人工看回答,是执行验证脚本检查容器最终状态,自动判定任务是否成功,同时记录执行轨迹和消耗。
问题 4:CS329Z《Agent 工程》课程里面,学生作业怎么使用 Terminal-Bench 和 Harbor?
回答 4:CS329Z《Agent 工程》课程配套作业,要求学生使用 Harbor,自己设计、打包一道 Terminal-Bench 风格的终端考题,包含镜像、任务描述和验证脚本。
问题 5:Terminal-Bench 评测 Agent 会遇到奖励劫持,是什么意思?
回答 5:Terminal-Bench 评测 Agent 遇到奖励劫持,指 Agent 找到钻验证脚本漏洞的办法,骗过校验拿到高分,但并没有真正完成题目要求的工程目标。
【参考资料】
[2026-11-11](斯坦福 CS329Z 课程资料开源,第 10 讲 Terminal-Bench 与 Harbor)微博
[2026-11-09](Terminal-Bench 4.1 更新,加固防奖励劫持)Terminal-Bench 官网
[2026-07-01](Terminal-Bench: Benchmarking Agents on Hard, Realistic Tasks in Command Line Interfaces)arXiv
[2026-06-15](Harbor 框架文档,LangSmith 集成)LangChain 官方文档
[2026-05-20](CS329Z 课程介绍:Engineering AI Agents)斯坦福计算机系官网
【免责声明】
本文仅为斯坦福 CS329Z《Agent 工程》第 10 讲上课程内容科普,Terminal-Bench、Harbor 属于开源 Agent 评测工具,不同版本任务集、验证逻辑存在变动;评测结果受镜像版本、资源限制、Agent 提示词影响,分数不能直接等同于 Agent 真实落地能力;本文不构成 Agent 开发、模型选型、评测方案采购的决策依据。
