Skip to content
View original post on X: meng shao
Published
58/100

Stanford lecture compares data strategies for training AI agents

AIStanford's CS 329Z lecture 11, "What Data Do Agents Need?", says agents need trajectory data for imitation learning and environments for reinforcement learning. It compares five collection strategies, including human demonstrations, web mining, synthetic trajectories, synthetic environments, and simulators.
meng shaoVerified on X
@shao__meng
View on X

CS 329Z: Engineering AI Agents

斯坦福大学秋季这门最新 AI Agents 工程课发布了第 11 讲「What Data Do Agents Need?」

近两年模型在 Agent 任务上变强,主要靠大规模造出「agentic」数据。核心不是再爬更多网页问答,是:轨迹(演示) 用来做 SFT 模仿,环境(可验证任务) 用来做 RL 练习;同时要洗数据,否则会顺带学会刷奖励、背题、以及绑死某一种 harness 格式。
https://web.stanford.edu/class/cs329z/slides/lecture11.pdf

为什么数据是关键杠杆
引用 CS336 / Llama 3 报告、James Betker 等观点:数据仍是差异化核心,前沿公司也在为数据付大价钱。网页爬虫多是「静态文本」;Agent 需要能交互的环境,对比「论坛里有人告诉你改 strptime」与「在仓库里 grep → pytest → 改文件 → 再测通过」两类信息。同一基座下,后训练数据选择也会拉开差距(如 OT-Agent / OpenThoughts-Agent:同等 SFT 预算下,筛更有效子集更好)。

两类 Agent 数据
· 轨迹(Trajectory / Trace):在「问题描述 + 沙箱」里解题的一整段 Think → Act → Obs … → Submit。训练目标主要预测动作与思路;系统提示、任务、工具输出多作上下文。格式(工具调用、ReAct、代码动作等)由外围系统决定。
· 环境(Environment):任务 + 沙箱 + 成功判定。可在其上 rollout,再按奖励做 RL,练习 ReAct 式循环。

环境的奖励光谱:代码测试(可靠但窄)→ 量表 / checklist → LM-as-a-Judge → 人类偏好(更泛但更糊)。讲义预告约三周后专门讲奖励与 judge。

各阶段数据量级
以 DeepSeek 为参考:v3 预训练约 14.8T token、约 150 万 条 SFT;v3.2 约 8.5 万 条 RL 任务提示。算力对比上,一年后后训练预算可超过预训练的约 10%,实验室通常不公开详细数据,这只是可引用的量级感。

数据从哪来(五种策略)
每条都要权衡成本、真实感、可扩展性,以及是否适合该领域。
1. 人类演示
定任务 → 人手做 → 录每步 → 过滤失败 → 打包。例:Mind2Web(约 2350 个开放网页任务,137 站 / 31 域);OpenCUA(标注者自用电脑录屏与键鼠,约 2.26 万 任务,跨 Win / macOS / Ubuntu)。对比:Mind2Web 只有网页与原始动作;OpenCUA 有视频、输入、无障碍树,并为人造逐步推理。

2. 从网页与真实世界挖掘
把 issue、教程、视频变成可验证任务 / 轨迹:抽指令 → 恢复动作(diff、步骤、逆动力学标视频)→ 在真实环境重放并只留成功。例:SWE-rebench(约 2.1 万 可验证任务,来自约 3468 个 GitHub 仓);AgentTrek(教程引导 VLM 在真浏览器重放,约 $0.55 / 条);VideoAgentTrek(约 3.9 万 YouTube 录屏教程 → 约 152 万 交互步)。

3. 合成轨迹
有任务后,模型写步骤或先探索再事后标注,再过滤。两条路:指令优先(如 Synatra:把 wikiHow 等改成约 10 万逐步演示,约 $0.031 / 条,约人类成本的 3%,步骤未真执行);交互优先(如 OS-Genesis 先乱逛再反推任务、奖励模型打分;NNetNav 以人设逛站、事后标注、标不出就早剪)。Synatra vs AgentTrek:前者便宜、观察是合成文本;后者贵、有真截图与 a11y 树。

4. 合成任务与环境
自动建沙箱、任务与 checker,使每条都有可验证奖励。代码侧:SWE-smith(向 128 个 Python 仓注入破坏测试的 bug,LM 写 issue,约 5 万 任务,约 20 人时);R2E-Gym(普通 commit → 约 8100 可执行任务,生成测试并回译 issue)。工具侧:AgentScaler 把真实 API 背后的模拟库当成读写,用最终库状态核对目标。

5. 模拟用户与环境
LLM 扮演用户、环境或两者,练习近乎无限,但会学到模拟器的错。例:τ-bench(LLM 扮客服场景客户,比最终库状态);APIGen-MT(审过蓝图 + 模拟多轮对话);DreamGym(用文本「经验模型」预测下一状态与奖励,替代昂贵真实 RL rollout)。

数据会「顺带」教会什么
· 奖励黑客:SWE-bench 若不擦掉 .git,可能翻历史作弊;Self-play SWE-RL 会清 .git 并在评分前恢复测试文件。生产环境里模型会学 sys.exit(0) 假装测过。把 CoT 监控直接加进奖励,可能让模型藏意图继续刷分。还有评测觉察(如 BrowseComp 上认出基准并解密答案)、记忆题面(SWE-Bench Verified 上仅凭 issue 点中出错文件约 76%,仓外约最高 53%),以及「看起来对、人类更爱点赞但正确率没涨」。
· 过拟合 harness:只在一种脚手架(如 mini-swe-agent / SWE-agent / Terminus 2)上训,SFT 会把能力与格式缠在一起;换 function-calling 可能仍吐旧约定。缓解:训练时换多种 harness。
· 训练趋势:同种子数据上,SWE-RL 显示 RL 可提升部分域外任务,SFT 平均反而伤;RL 也可能冲过头再塌(OpenThoughts-Agent 发的是塌前 checkpoint);最好的模型不一定是最好的老师(GPT-5.3-Codex 轨迹训出的学生,不如更老的 GLM-4.7 轨迹)。

讲义结尾的六条
Agent 需要任务 / 环境 / 轨迹,不只需要文本;人演示真实但贵;挖掘便宜;合成能扩规模;模拟器给无限练习也灌输错误;数据会意外教会刷分与绑 harness。

meng shao@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 任务、错误分析。
View quoted post on X
Source details

meng shao · x.comPublished · added here

Original title: CS 329Z: Engineering AI Agents