Wink Pings

Agent后训练5步:SFT最稳,但也最容易让你误判

Hugging Face把Agent后训练拆成SFT、蒸馏、RL、RL环境、真实harness五步,每步配直播、代码和文档。回复里有个实验细节值得注意:多harness SFT在Mini-SWE-Agent上反而掉分更多。

Hugging Face 的 Sergio Paniego 把 Agent 后训练拆成 5 步,从 SFT 到 RL,再到真实 harness 和规模。每一步都配了流程图、直播、代码和文档。原文在 这里,适合先收藏再慢慢看。

Agent后训练流程总览

先说背景。Post-training 指预训练之后的训练阶段,包括监督微调、蒸馏、强化学习。它把预训练模型变成能听指令、会用工具、能解决具体任务的模型。Agent 的特殊之处在于多轮:模型要调用工具、读结果、决定下一步。Agentic post-training 要训练整段交互,不能只盯单条回答。

这套课程按 5 步展开,顺序来自 Hugging Face YouTube 的 Training Agents 直播系列,示例任务是训练一个 coding agent。术语表在 Harness, Scaffold, and the AI Agent Terms Worth Getting Right,20 页总览在 Train the agent, not just the model。

步骤模型从哪学TRL trainer需要准备
1. SFT更强模型产生的 agent tracesSFTTraineragent traces 数据集
2. 蒸馏教师的 token 或概率DistillationTrainerprompts 和教师模型
3. RL每个答案的分数GRPOTrainerprompts 和奖励函数
4. RL 环境在环境中行动的结果GRPOTrainer任务和环境 OpenEnv
5. Harness 与规模真实 agent 的完整运行AsyncGRPOTrainer任务、环境和 agent harness

1. SFT:先学会抄轨迹

SFT 让模型复制 agent traces。trace 是 agent 解决任务过程的记录,包含每次工具调用和结果,通常由更强模型生成。它便宜、稳定。问题是模型只看到正确轨迹,看不到自己的错误尝试。它在解题时犯了错,也没学过怎么恢复。on-policy 蒸馏和 RL 会拿模型自己的输出训练,补上这一块。

SFT流程

直播:Training Agents 1: fine-tune a coding agent,代码在 gemma4-pi-mono-youtube-livestream-1-scripts。文档:SFT Trainer。

2. 蒸馏:教师逐 token 给信号

蒸馏里,教师模型监督学生。教师可以通过写数据来教,也可以对学生自己生成的 token 给概率。教师通常是大模型,或者多个专家模型蒸馏进一个学生,也可能是同一个模型加额外上下文做自蒸馏。信号很密,一个 token 一个值,所以比 RL 需要更少样本。代价是学生受教师知识限制,on-policy 蒸馏每一步训练都要跑教师。RL 用奖励替代教师,只检查结果。

蒸馏流程

直播:Training Agents 2: distillation。延伸阅读:A brief history of distillation in AI 和 Distillation in 2026 (so far)。文档:Distillation Trainer。

3. RL:用分数逼模型多试

RL 让模型从自己输出的分数里学。模型写答案,奖励函数打分,训练让高分答案更容易出现。这样不需要教师,只要能检查答案。课程用 GRPO,也就是 Group Relative Policy Optimization。每个 prompt 采样多个答案,全部打分,提高高于组平均分的答案概率。组内比较告诉模型哪些尝试更好,不用单独训一个模型估计基线。

RL 信号比蒸馏弱,一个答案一个分数,不是每个 token 都有值。模型需要很多次尝试。普通奖励函数下,每个答案是一轮,只打一次分。环境让模型行动多次,并看到每次行动的结果。

RL流程

直播:Training Agents 3: reinforcement learning。阅读:How frontier models train on outcomes in 2026。项目:Fine-tuning a 350M model for structured outputs in 100 GRPO steps。文档:GRPO Trainer。

4. RL 环境:奖励来自多轮行动

环境有状态、暴露工具、能多轮回复。环境运行工具,记录状态变化,检查最终结果,比如跑 coding 任务的测试。每个 episode 比单条回答长,生成 rollout 会成为训练里最慢的部分。

RL环境流程

直播:Training Agents 4: from reward functions to environments 和 RL for Agents Workshop。阅读:Why RL environments work now (and could not in 2016)。项目:Paint watercolours with code 和 Autonomous driving with CARLA。文档:TRL + OpenEnv 和 OpenEnv docs。

5. Harness 与规模:在真实运行环境里练

每次 rollout 都是完整 agent 运行,通过已有 agent harness 在远程沙盒里跑。训练用 agent 实际使用的同一个 harness,模型就在它将来要运行的环境里学习。生成和训练放不同 GPU,长 episode 不会让 trainer 空等。trainer 再把更新后的权重发回 vLLM。

Harness与规模流程

幻灯片:Training a coding agent through a harness you did not write。阅读:The ultimate guide to multi-harness RL、One sandbox per rollout、Keep the Tokens Flowing: lessons from 16 open-source RL libraries。文档:Async GRPO Trainer 和 OpenEnv harnesses。

一个值得盯住的回复

原推下面,有网友 unify 提到一个实验观察:只在 OpenCode 上做 SFT 的模型,在 Mini-SWE-Agent 下掉了约 3 分;用多 harness SFT,而且训练数据里也包含 Mini-SWE-Agent 自己的轨迹,结果在这个环境下掉了 17 分。这个方向和直觉相反,说明 harness 匹配、数据分布和泛化之间的关系没那么直给。它是回复里的经验观察,不是课程结论,但足够提醒人:别把 SFT 在单一环境里的分数当成通用能力。

课程入口在 A curriculum for post-training agents,直播合集在 Post-training Agents playlist。如果要从头跑一遍,先看术语表,再按 SFT、蒸馏、RL、环境、harness 的顺序走。RL 不是起点,真实 harness 才是最容易暴露问题的地方。

发布时间: 2026-10-29 02:44