改行为改在哪:上下文、artifact 还是权重
想让 Agent 改一处行为,有三个下手位置:写进 prompt、存成外部 artifact、训进模型权重。讲次页只留下一句判据,本篇把三本账摊开算清——轨迹样例长什么样、20T 到 332B 的 token 管线、K3 冷启动三段论与 SFT/RL 的分工。读完你能回答:什么时候值得为一次改动付一次训练。
讲次页的 SFT 一节直接从行为克隆(behavior cloning)讲起,跳过了一个更根本的问题:想改一处行为,为什么下手的位置是权重?往 prompt 里写一句、往外部文件存一份,不是更快吗?
本篇先把 L8 p.4 的三位置账算清,顺着 L8 p.3、p.5 的一条真实轨迹看权重学到什么,再补上 L8 p.6-8 的 token 管线与冷启动。
一、三个位置,三本账
先看被学的东西长什么样。L8 p.3 引的是 SWE-Gym (Pan et al., 2024) §4.2 的轨迹样例:system 层是 harness(脚手架)提示,写明工具怎么用、何时提交。沙箱给模型 bash 与文件编辑器两个工具,仓库自带的测试判定整条轨迹的成败。
这样一条轨迹,就是 SFT 的原材料。但想改行为,轨迹不是唯一入口。同一处改动可以落在三个位置,L8 p.4 列成这张表:
| 位置 | 得到的 | 付出的 |
|---|---|---|
| 上下文窗口(context window) | 保真:原文原样进窗口 | 贵、噪,且不决定什么重要(9/1 讲) |
| 外部 artifacts(工件) | 可查、可编辑、可检索、可移植 | 须被归纳、选择、维护(官方 9/3 讲,本站未收录) |
| 模型权重(weights) | 推理更快、行为改变广 | 每次改动都要一次训练;不透明、绑定模型 |
三本账的关键差别,是付几次钱。
- 写进上下文。每次调用都重付 token 钱。
- 存成 artifact。付的是归纳与维护的持续人力。
- 训进权重。付一次训练,之后是纯红利。每次调用都自带新行为,prompt 里不用再额外塞东西。
这笔红利什么时候值得兑现?判据收束成一张决策图:
二、一条轨迹教会模型什么
把轨迹喂给模型,它学到的远不止正确答案(L8 p.5)。至少有四样。
- 能真跑的工具调用。这个 harness 里,格式、参数、调用时机都得对,光看起来像不算数。
- 长对话怎么坚持。学的轨迹本身就长,模型照见了长程任务该有的样子。
- 等工具结果回流。先见过工具结果长什么样,才不会自己编一个交差。
- 数据里的一切杂项。多余解说、重复命令、多种可行解中被录制的那一种,好坏一起学。
好坏一起学,值得划重点。SFT 分不清哪些冗余命令是必要的,哪些只是示范者手滑。示范里怎么写,模型就怎么学。
它便宜,因为不需要奖励信号;风险也出自同一个机制。伴读里那句「示范数据几乎全落在正确状态上」点出分布偏移(distribution shift),它在数据这一侧的镜像,就是轨迹里只有一种活法。
三、token 管线与冷启动三段论
SFT 在整条训练流水线里的位置,先看 L8 p.6 的语料量级落差:
| 阶段 | 语料量级 | 口径 |
|---|---|---|
| Pre-training | 20T tokens | Nemotron 3 Ultra |
| Mid-training | 1.43T tokens | K2 Horizon |
| SFT | 332B tokens | K2 Horizon |
| RL | 无固定语料 | rollouts + rewards |
从预训练到 SFT,语料缩了约 60 倍。更重要的变化在性质上:越往后,语料越不是网上抓的,而是造出来的。
SFT 吃的是精心构造的轨迹;RL 连语料都没有,只有环境里滚出来的 rollout 和给它们打分的奖励。
SFT 之后怎么接?L8 p.7 给出 K3 的冷启动三段论:SFT 初始化基线 agent 能力 → RL 在不同推理努力度上发展出领域专家 → on-policy distillation(在线策略蒸馏)把专家合并回一个模型。
反例是 DeepSeek-R1-Zero:跳过 SFT 直接在基座上做 RL,产出的答案混语言、难读。下一个模型 R1 把 SFT 放了回来,从几千条精选示例起步。
Kimi Team (2026) §4.1 把这一步的角色说得很准:“The SFT stage establishes a high-quality cold-start policy for the subsequent RL stage.” 译成中文:SFT 阶段为后续 RL 建立高质量的冷启动策略。
那 SFT 与 RL 到底怎么分工?L8 p.8 摆成一组对照:
学自人工或强模型录制的示范;信号密 —— 每 token 一个明确目标;需要数据 + GPU;擅长教会工具调用、输出格式、坚持长任务;示范错误、太窄或用尽就卡住。
学自模型自己的 rollout 被奖励打分;信号稀 —— 每 rollout 只有一个数;需要活环境、沙箱、可校验的奖励;擅长打磨模型已能尝试的行为;起点太弱或奖励不可查就卡住。
一句话:SFT 负责「从不会到会」,RL 负责「从会到好」。课程把训练拆成 SFT 与 RL 两段、RL 占后续多讲,本讲先付训练的第一笔账。
四、两条源流与一块工程基座
把 SFT 放回历史,它是两条源流的汇合。第一条是人类意图对齐:InstructGPT (Ouyang et al., 2022) 的三段管线(SFT → 奖励模型 → RLHF)里,SFT 是第一步。
1.3B 的 InstructGPT,输出更受人类偏好,胜过 175B 的 GPT-3。小两个数量级的模型,“听不听话” 压过了 “肚子里的墨水”。
第二条是任务指令化:FLAN (Wei et al., 2021) 把 137B 模型在 60+ 任务的指令表述上微调,25 个基准里 20 个零样本胜过 175B GPT-3。指令本身就能当能力用。
今天的 agentic SFT 把本篇开头那种轨迹喂给模型,是两条源流在 Agent 时代的合流:既对齐像 Agent 一样行为的意图,又把工具调用当作可指令化的任务。
工程上让 SFT 走出大机房的,是 LoRA(Low-Rank Adaptation,低秩适配)(Hu et al., 2021):冻结预训练权重,旁路注入可训练的低秩分解矩阵。可训参数降 10,000×,显存降 3×,且推理时零额外延迟。
没有这一层,为一次行为改动付一次训练在消费级硬件上无从谈起。
与本讲的连接
本篇是 4b (Training 1: SFT) 三篇详解的第一篇:讲次页给了行为克隆与损失式,这里补的是上游决策与来路。
回扣 4a:把世界搬进沙箱那套基础设施,在 4a 当考场,在这里又当训练场;往下两篇,loss mask 定模型学的是动作还是文风,轨迹经济学算同样的预算买哪些轨迹。这笔账分几讲付:这一讲 SFT 把示范写进参数,接下来几讲 RL 把它磨到好。
本节论文与规范
本节资料
- FLAN: Zero-Shot Learners 论文2109.01652入门
经典·高引(ICLR 2022)。instruction tuning 原典:137B LaMDA 在 60+ 任务的指令表述上微调后,25 个基准中 20 个零样本反超 175B GPT-3。「指令能力是训出来的」的第一份系统证据。
- InstructGPT 论文2203.02155入门
经典·高引(NeurIPS 2022)。指令微调 + RLHF 开山之作:SFT—奖励建模—PPO 三段管线,SFT 是第一步。1.3B InstructGPT 的输出被人类偏好于 175B GPT-3。训练线必读起点。
- LoRA 论文2106.09685入门
经典·高引(ICLR 2022)。冻结原权重、注入可训低秩矩阵:可训参数降 10,000×、显存降 3×、推理零额外延迟。SFT 走向消费级硬件的基座,如今 agent 微调的默认选项。
- SWE-Gym 论文2412.21139进阶官方引用
2024(ICML 2025)。2,438 个真实 Python 任务配成可执行环境;取 491 条通过测试的 run 微调 32B 学生模型,SWE-Bench 涨超 10 分(L8 p.3/22)。「环境→轨迹→权重」闭环的实证样板。
2025-12 中文。agentic SFT 工程向全流程:配对数据怎么造、从哪来、怎么训练与评测。与 4b 小节逐点对得上的中文对照材料,工程细节比论文讲得更细。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。