为 Agent 模型做后训练或选路线时使用——判断该先补 Mid-training、用 SFT 立协议还是直接上 RL;构造 Mid-training 语料与 SFT 数据、搭建 RL 环境、在 GRPO/PPO/DPO 与蒸馏之间取舍;排查 pass@k 近零、格式不稳就训 RL、组内无奖励差异、训练-推理数值失配、
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-post-training-strategy-ff19cff321d9 ,按照其中的说明把「post-training-strategy」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
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「后训练实践要点」