为 Agent 模型做后训练或选路线时使用——判断该先补 Mid-training、用 SFT 立协议还是直接上 RL;构造 Mid-training 语料与 SFT 数据、搭建 RL 环境、在 GRPO/PPO/DPO 与蒸馏之间取舍;排查 pass@k 近零、格式不稳就训 RL、组内无奖励差异、训练-推理数值失配、过度训练泛化下降。触发词:后训练、Mid-training、继续预训练、SFT、RL、GRPO、PPO、DPO、拒绝采样、RFT、蒸馏、on-policy、RLVR、LoRA。
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
pass@k 是最重要的分流指标。 在留出任务上以接近训练的溫度采样:pass@k = 1-(1-p)^k。pass@1 低但 pass@k 随 k 明显上升 → 正确策略已在分布里,RL/拒绝采样/蒸馏有东西可放大;合理 k 与温度下 pass@k 仍近零 → 基模几乎生成不出成功轨迹,此时只给 0/1 奖励,GRPO 一组 rollout 全为 0,组内优势直接消失。| 观察到的现象 | 主要缺口 | 优先方法 | 进入下一阶段的门槛 |
|---|---|---|---|
领域概念、语言或基础操作不会;合理采样下 pass@k 仍近 0 | 知识与能力不在基模有效支持中 | Mid-training;动态事实用 RAG | 领域留出集改善、通用保留集可接受、目标任务开始出现可验证的正确或部分正确轨迹 |
| 偶尔能做对,但格式、工具 schema、语气或固定流程不稳定 | 行为协议没固化 | SFT 或约束解码 | 解析成功率稳定,关键动作与输出协议可被验证器可靠评分 |
| 已有非零成功率和可靠奖励,但好策略概率低、长程决策或 OOD 泛化不足 | 概率质量分配与策略优化 | RL | 奖励与真实目标一致;rollout 组内有足够奖励差异;独立测试集随训练改善 |
| 只有少量稳定示范,尚无可交互环境 | 可模仿数据有、在线反馈无 | SFT/RFT/离线偏好优化 | 先建立基线与评估,再判断是否值得建 RL 环境 |
决策顺序:① 先排除不需要改权重的方案(prompt、工具、代码约束、上下文管理能解决就不训练;事实需频繁更新/引用/删除就走 RAG)→ ② 在目标留出集测能力支持(不只贪心 pass@1,还看固定采样配置下的 pass@k、部分进展率、格式解析率,并人工审计失败原因)→ ③ 用 SFT 立协议,不拿它硬塞知识库 → ④ 只在有探索空间时上 RL。
数据构造五步:从失败分布反推数据(按主题/语言/文档类型/代码模式/上下文长度切分评估,只针对知识与能力缺口补,别把输出格式错误误诊成知识不足)→ 构造高密度目标语料(原始文档建立术语事实关联,代码仓库学结构与依赖,教材式推导与合成释义把隐含关系写明确;做去重、质量过滤、评估集污染检查)→ 按能力配比(自然长文本 + 长文本原子能力思维链 + Agent 执行轨迹,后两类可从较强开源模型蒸馏)→ 每个阶段做双重回放(原始短文本与通用数据保留语言知识;"长度提升后的旧任务"检验同一能力在更长窗口仍成立;通用数据最好来自基模原始预训练集,取不到用 FineWeb-2 类开源语料)→ 多维门禁决定停止(留出领域任务、通用能力、原有指令遵循、目标任务 pass@1/pass@k 同时跟踪;领域升而通用降 = 混合或学习率过激,loss 降而 pass@k 不动 = 数据没覆盖所需能力或缺少访问知识的 SFT)。
Mid-training 后必须用 LongBench v2、IFEval、端到端 Agent 评估验证不同上下文长度下的长上下文基础能力没有丢失(位置与检索、关系与推理、聚合与统计、指令遵循、长链思考、Agent 原子能力六类)。稳健配方:Mid-training 吸收知识与能力 → 小规模 SFT 建立输出格式 → 有非零成功率后再 RL。先小规模验证数据配比,再扩大训练预算。
数据三条路,常组合使用:人工专家示范(质量天花板最高,贵而慢,适合定义格式与风格的种子数据)→ 教师模型生成(合成数据,强模型批量产出的"输入—输出"对,过滤后蒸馏给学生)→ 拒绝采样(模型对同一问题采样多条候选,验证器筛出正确样本再反过来训练自己,即 RFT,是可验证任务上性价比极高的数据构造手段)。
构造流程:定义任务分布与输出 schema → 批量生成候选 → 规则校验 + 格式检查 + 人工抽检做质量过滤 → 去重、平衡配比、保证多样性。数千到数万条高质量样本通常足以固化输出格式;与其堆十万条脏数据,不如精修一万条干净数据——数据里的每一处噪声,SFT 都可能忠实地写进参数。
流水线:线上数据 → 任务蓝图 → 合成任务 → 多次候选轨迹 → 任务验证与轨迹验证 → SFT 数据。能写成单元测试、数据库断言或状态差异检查的条件优先用确定性代码;开放式沟通质量再用模型评价器补充并人工抽样校准。训练集按任务模板/客户/时间段去重划分,评估集必须来自不重叠的任务类型;参考解法、隐藏测试和验证器反馈不能泄露给模型。
以 GRPO 为例(同一 SWE-bench 任务复制到 16 个隔离沙箱):① rollout —— 策略模型独立解决 16 次,每次包含完整的"读代码 → 改文件 → 跑测试 → 提交";② 计算奖励 —— 验证器在干净环境应用补丁并运行测试,4 通过得 1、12 失败得 0;③ 计算相对优势 —— 组内平均 4/16,通过的 4 条得正优势、失败的 12 条得负优势;④ 梯度下降更新 —— 提高正优势轨迹中模型所做选择的概率,降低负优势的。全成功或全失败的组没有组内差异,梯度消失。
PPO 与 GRPO 的区别只在"拿谁来比较":GRPO 直接比较同一问题的多条 rollout,不需要价值模型;PPO 训练价值模型逐步估计"通常能做到多好",更适合需要细粒度信用分配的长轨迹。DPO 则学习事先收集好的偏好对,不让当前策略在线生成 rollout。
环境工程顺序:任务蓝图 → 可重置模拟器 → 确定性验证器 → 训练/评估隔离 → 少量真实交互校准。训练环境与评估环境可共享任务生成器与验证代码,但不能共享同一批任务;测试用例、隐藏状态和参考解法留在验证器一侧。先用少量 rollout 检查"任务是否可完成、验证器能否区分对错",再扩大采样规模。注意确定性验证器的 CPU 吞吐可能成为瓶颈(吞吐取决于并行验证器 worker,而不是继续堆 GPU)。
工具轨迹的关键细节:环境返回的 token 不是策略生成的,计算策略梯度时必须屏蔽这些反馈 token,只对模型自己的思考和工具调用参数回传梯度,否则模型会被训练去预测沙盒输出。
样本效率低根因是反馈太稀疏——一条 rollout 结束只得一个成败标量。蒸馏让同一条轨迹贡献大量梯度。
pass@1 与固定配置下的 pass@k,并人工审计了失败原因pass@k 近零仍直接上 RL。全失败 rollout 没有正向轨迹,组内优势消失,通常只会消耗采样预算。chapter8/continued-pretraining/ — 继续预训练补新语言(Mistral 7B + 韩语维基,80/20 配比缓解遗忘,LoRA + 训练 embed/lm_head),演示 Mid-training→SFT 两阶段职责分离。chapter8/curly-quote-sft/ — 作用域敏感的 SFT:先把反馈提炼成 SKILL.md 规范,再用结构化合成数据训练 Qwen3-8B LoRA。chapter8/exact-copy-sft/ — 特殊字符串 byte-exact 复制 SFT,含 tokenizer 审计以排除词元化造成的假象。chapter8/cot-distillation/ — CoT 蒸馏三阶段:可审计的教师轨迹采集(规则验证过滤)→ 学生真实参数更新 → 配对基座/学生/教师评估。chapter8/SimpleVLA-RL/ — 稀疏结果奖励下的开放探索:一条演示 SFT 冷启动 + GRPO,成功率 17.3%→91.7%,发现演示中没有的动作。chapter8/retool/ — SFT 预热后用交织文本-代码思考与沙盒反馈做 PPO,AIME 2024 约 25%→67.0%。chapter8/AWorld-train/ — MCP 多工具沙盒中跑通可重置、可重放的多工具训练链路。chapter8/RLVP/ — 奖励结果、惩罚路径:GRPO 上叠加结果奖励与确定性路径信号。chapter8/AdaptThink/ — RL 训练"何时不思考"的元策略,含约束优化目标与重要性采样冷启动处理。book/chapter8.md「从预训练到 RL:四阶段全景」book/chapter8.md「Mid-training:补知识与基础能力」book/chapter8.md「SFT(监督微调)」「SFT 数据合成:从示范到可训练轨迹」book/chapter8.md「何时选择 Mid-training、SFT 与 RL」book/chapter8.md「RL 算法:从 16 次 rollout 到一次参数更新」book/chapter8.md「RL 环境:从评估到仿真」book/chapter8.md「蒸馏:提升样本效率」book/chapter8.md「后训练实践要点」bojieli/ai-agent-book
dbc046e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.