本文へ移動
cccskills
無料GitHub で公開

post-training-strategy

为 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。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md15.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

模型后训练策略

何时使用

  • 模型在某类任务上"做不好",要判断是缺底座、缺协议还是缺策略
  • 决定项目走 Mid-training / SFT / RL 哪条路线,或要不要做 RL
  • 构造 Mid-training 语料、SFT 示范数据、拒绝采样数据
  • 搭建 RL 训练环境、选择 RL 算法与 LoRA 超参
  • 用蒸馏提升样本效率(CoT 蒸馏、Prompt 蒸馏、在轨蒸馏、自蒸馏)
  • RL 训练不收敛、组内无差异、更新后能力退化,需要定位原因

核心原则

  • 四阶段不是三种"微调力度",而是分别处理底座、协议与策略。 Mid-training 补知识与基础能力,SFT 固化输出格式与行为协议,RL 重新分配概率质量并探索示范之外的策略。三者各有进入门槛,不是流水线仪式。
  • 数据和环境比算法更重要。 决定成败的是 Mid-training 语料是否补齐底座、示范数据是否建立行为协议、仿真环境与奖励是否提供可靠试错反馈。PPO/GRPO 的基本用法掌握即可,很多场景下前两类数据到位后根本不需要 RL。
  • pass@k 是最重要的分流指标。 在留出任务上以接近训练的溫度采样:pass@k = 1-(1-p)^k。pass@1 低但 pass@k 随 k 明显上升 → 正确策略已在分布里,RL/拒绝采样/蒸馏有东西可放大;合理 k 与温度下 pass@k 仍近零 → 基模几乎生成不出成功轨迹,此时只给 0/1 奖励,GRPO 一组 rollout 全为 0,组内优势直接消失。
  • "SFT 记忆、RL 泛化"是受控实验下测得的倾向,不是普遍属性。 数据足够多样、正则化得当时 SFT 也能泛化;奖励或环境有偏时 RL 也会过拟合。机制解释:极大似然 SFT 有 mass-covering 倾向,RL 配合反向 KL 有 mode-seeking 倾向。
  • SFT 与预训练是同一个数学任务(预测下一个词),差别只在数据组织和损失屏蔽(只在回答 token 上回传梯度)。所以 SFT 样本效率极高(几千条见效),也因此在示范覆盖不足时容易记住问法而非形成知识。
  • LoRA 是工程默认项:必须应用到所有主要权重矩阵(尤其参数占比最大的 MLP,只加注意力层会掉点);最优学习率约为全参微调的 10 倍;SFT 用中高 rank(64–256),RL 每轮信息量小、用小 rank(8–32)甚至 1。
  • on-policy 是数值问题,不只是调度问题。 采样引擎与训练引擎的浮点差异会让更新前本应为 1 的概率比偏离 1,把名义上的 on-policy 悄悄变成 off-policy。sampler/trainer 一致性应与奖励曲线同等重要。

实践模式

1. 路线决策:先诊断缺口,再选方法

观察到的现象主要缺口优先方法进入下一阶段的门槛
领域概念、语言或基础操作不会;合理采样下 pass@k 仍近 0知识与能力不在基模有效支持中Mid-training;动态事实用 RAG领域留出集改善、通用保留集可接受、目标任务开始出现可验证的正确或部分正确轨迹
偶尔能做对,但格式、工具 schema、语气或固定流程不稳定行为协议没固化SFT 或约束解码解析成功率稳定,关键动作与输出协议可被验证器可靠评分
已有非零成功率和可靠奖励,但好策略概率低、长程决策或 OOD 泛化不足概率质量分配与策略优化RL奖励与真实目标一致;rollout 组内有足够奖励差异;独立测试集随训练改善
只有少量稳定示范,尚无可交互环境可模仿数据有、在线反馈无SFT/RFT/离线偏好优化先建立基线与评估,再判断是否值得建 RL 环境

决策顺序:① 先排除不需要改权重的方案(prompt、工具、代码约束、上下文管理能解决就不训练;事实需频繁更新/引用/删除就走 RAG)→ ② 在目标留出集测能力支持(不只贪心 pass@1,还看固定采样配置下的 pass@k、部分进展率、格式解析率,并人工审计失败原因)→ ③ 用 SFT 立协议,不拿它硬塞知识库 → ④ 只在有探索空间时上 RL。

2. Mid-training:补底座

数据构造五步:从失败分布反推数据(按主题/语言/文档类型/代码模式/上下文长度切分评估,只针对知识与能力缺口补,别把输出格式错误误诊成知识不足)→ 构造高密度目标语料(原始文档建立术语事实关联,代码仓库学结构与依赖,教材式推导与合成释义把隐含关系写明确;做去重、质量过滤、评估集污染检查)→ 按能力配比(自然长文本 + 长文本原子能力思维链 + Agent 执行轨迹,后两类可从较强开源模型蒸馏)→ 每个阶段做双重回放(原始短文本与通用数据保留语言知识;"长度提升后的旧任务"检验同一能力在更长窗口仍成立;通用数据最好来自基模原始预训练集,取不到用 FineWeb-2 类开源语料)→ 多维门禁决定停止(留出领域任务、通用能力、原有指令遵循、目标任务 pass@1/pass@k 同时跟踪;领域升而通用降 = 混合或学习率过激,loss 降而 pass@k 不动 = 数据没覆盖所需能力或缺少访问知识的 SFT)。

Mid-training 后必须用 LongBench v2、IFEval、端到端 Agent 评估验证不同上下文长度下的长上下文基础能力没有丢失(位置与检索、关系与推理、聚合与统计、指令遵循、长链思考、Agent 原子能力六类)。稳健配方:Mid-training 吸收知识与能力 → 小规模 SFT 建立输出格式 → 有非零成功率后再 RL。先小规模验证数据配比,再扩大训练预算。

3. SFT:立协议

数据三条路,常组合使用:人工专家示范(质量天花板最高,贵而慢,适合定义格式与风格的种子数据)→ 教师模型生成(合成数据,强模型批量产出的"输入—输出"对,过滤后蒸馏给学生)→ 拒绝采样(模型对同一问题采样多条候选,验证器筛出正确样本再反过来训练自己,即 RFT,是可验证任务上性价比极高的数据构造手段)。

构造流程:定义任务分布与输出 schema → 批量生成候选 → 规则校验 + 格式检查 + 人工抽检做质量过滤 → 去重、平衡配比、保证多样性。数千到数万条高质量样本通常足以固化输出格式;与其堆十万条脏数据,不如精修一万条干净数据——数据里的每一处噪声,SFT 都可能忠实地写进参数。

流水线:线上数据 → 任务蓝图 → 合成任务 → 多次候选轨迹 → 任务验证与轨迹验证 → SFT 数据。能写成单元测试、数据库断言或状态差异检查的条件优先用确定性代码;开放式沟通质量再用模型评价器补充并人工抽样校准。训练集按任务模板/客户/时间段去重划分,评估集必须来自不重叠的任务类型;参考解法、隐藏测试和验证器反馈不能泄露给模型。

4. RL:一次参数更新的四步

以 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,只对模型自己的思考和工具调用参数回传梯度,否则模型会被训练去预测沙盒输出。

5. 蒸馏:把一次 rollout 变成密集监督

样本效率低根因是反馈太稀疏——一条 rollout 结束只得一个成败标量。蒸馏让同一条轨迹贡献大量梯度。

  • 在轨蒸馏(On-Policy Distillation):学生决定走到哪里,教师在学生已经走到的位置给出下一步的完整 token 分布,最小化两者 KL。长度 T 的 rollout 产生约 T 组逐 token 监督,数学任务上达到同等性能所需步数约为纯 RL 的 1/10。前提是学生至少能进入教师可纠正的有效状态,教师策略不能离学生有效支持太远。
  • On-Policy 自蒸馏(OPSD):没有更强教师时,同一模型分饰两角——教师版看到"特权信息"(标准答案、已验证解答、领域文档),学生版只看到问题本身,在自己采样的轨迹上向教师版逐 token 分布对齐。特权信息只能在训练侧构造,不能泄露给部署时的 Agent。它不会凭空创造新知识:模型拿着答案也讲不清过程时就没有额外信号;朴素 OPSD 可能丢失原有思考风格,需要保留集/风格正则。
  • CoT 蒸馏 / Prompt 蒸馏:前者转移强教师的完整思考轨迹,同参数量下可恢复教师 70%–80% 能力;后者把"长提示 + 思考型教师"压缩进"短提示 + 非思考学生",获 20–30 倍响应速度提升。蒸馏会继承教师的系统性错误与冗长思考习惯。

6. 上线前的自检清单

  • 在独立留出集上测过 pass@1 与固定配置下的 pass@k,并人工审计了失败原因
  • 阶段切换有可测门槛,不是"Mid-training → SFT → RL"当仪式
  • 每个阶段都有独立保留集与早停判据(领域/通用/指令遵循分开看)
  • RL 前奖励能在少量 rollout 中产生有意义的组内差异
  • 更新前比较过 sampler 与 trainer 的 token log probability,监控概率比均值/分位数/最大值、近似 KL、被裁剪比例与策略 staleness
  • 同步的不只是权重,还有 LoRA adapter、tokenizer、chat template、模型 revision 与位置编码配置
  • 先小规模验证关键假设,再放大训练预算

常见陷阱

  • 用 SFT 硬塞知识库,或把所有知识都交给参数。少量事实可随示范学入,大规模相互关联的知识应走 Mid-training;需动态更新、引用、权限控制或删除的事实应由 RAG 管理。
  • 格式未稳定就引入 RL。模型不能稳定生成奖励计算所需的 JSON 时,训练信号会稀疏或失真;先用小规模评估设定格式稳定性门槛,必要时 SFT 或约束解码。
  • pass@k 近零仍直接上 RL。全失败 rollout 没有正向轨迹,组内优势消失,通常只会消耗采样预算。
  • 把标称窗口当成有效窗口。位置编码允许 128K 不代表模型在 128K 上仍会检索、推理和规划;扩窗前先完成当前长度的能力门禁,按"能力 × 长度"矩阵检查退化。
  • 忽视仿真保真度。仿真过于简化或环境响应不真实,训练出的策略一上线就失效;高保真环境的构建成本可能高于训练本身。造不出真实环境时用模型扮演环境(合成工具返回值、仿真环境动态),但模拟器的世界知识就是训练的天花板,其系统性偏差会被策略照单全收,需辅以真实交互定期校准。
  • 过度训练导致泛化下降。训练损失持续下降而验证集恶化时,模型在死记训练细节。Mid-training 造成通用能力遗忘、SFT 过拟合示范、RL 过拟合当前奖励与任务分布,三者都需要独立保留集和早停。
  • 价值函数崩溃与探索不足。PPO 价值估计不准会让优势计算出现偏差,表现为训练曲线剧烈震荡;温度过低或随机性不足会使 Agent 陷入局部最优。
  • 把训练—推理数值失配当成小噪声。log probability 小误差会经指数化、长前缀累积、裁剪与优势加权被放大,最终表现为重要性比率尖峰、大量 token 被裁剪、梯度或响应长度突变、奖励与熵一起坍塌。
  • 低估 RL 的计算成本。SFT 上表现良好的任务转 RL 可能需要 10–100 倍训练时间;测试分布与训练高度一致时 SFT 可能已经足够。
  • 训练数据质量低下。Mid-training 会吸收语料中的错误关联,SFT 会直接学习示范噪声,RL 的奖励若有系统性偏差则会把策略朝错误方向放大。

配套代码

  • 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「后训练实践要点」

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

为 Agent 建立或改进评估体系时使用——设计评估指标(Pass@k/Pass^k/成本)、搭建可重复运行的评估环境、选择确定性验证器或 LLM-as-a-Judge 及各自适用边界、编写 Rubric、做失败归因与回归任务、评估驱动的模型选型、判断统计显著性、建设可观测性与内部评估基础设施(消融、AB 测试、特性开关、提示词回归)、从 Benchmark 报告走到系统改进。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

让 Agent 从运行经验中持续学习、构建自进化闭环时使用——涵盖从运行轨迹提取学习信号(三层轨迹验证)、四种进化方式(经验知识库、Prompt/Skill、程序/Harness、模型参数)的适用边界与选择依据、Prompt 自动优化、轨迹编译为程序、Agent 自我修改与安全门禁、睡眠学习与长期分层评估。触发词:持续进化、自进化、经验学习、轨迹验证器、自我修改、进化闭环。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

Agent 陷入无限循环、数不清工具调用次数、遗忘 TODO 或目标偏离、长任务中思考 token 持续膨胀时使用——Agent 状态栏机制、作为 user 消息注入末尾的 KV Cache 理由、每轮替换与持久追加两种实现及成本模型、五种状态栏技术(时间戳、工具计数器、TODO、详细错误、系统状态)与维护铁律。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

ai-style

無料

中文文案去「AI 味」检查清单,由用户纠正反馈持续提炼而来

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

构建异步/事件驱动 Agent,或让 Agent 响应外部事件(新邮件、webhook 回调、IM 消息、定时器、系统告警)、 处理工具执行期间的用户打断与多任务并发时使用。覆盖事件循环与安全点、三类事件触发工具、用户沟通与多渠道召回、 虚拟身份与隔离执行环境、队列式/取消式/并行式三种事件处理策略及紧急度判定,以及模型原生异步与同步接口兼容两条路线。 触发词:异步 Agent、事件驱动、event-driven、webhook、定时器、心跳、任务句柄、打断、steering、并行工具执行。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

把生产 bad case / 失败轨迹转成训练数据时使用——从失败归因、轨迹前缀截取、DPO 偏好对构造、LoRA 训练到边界集与保留集双集验证的完整链路;也用于判断某类问题该走 SFT、DPO、RL 还是先修 Harness/工具/tokenizer,以及如何从运行轨迹中提取带证据的结构化学习信号。触发词:bad case、失败归因、DPO、偏好对、轨迹前缀、拒绝采样、过度矫正、边界集、保留集、过早结束、reward hacking、LoRA 微调、训练评估隔离。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

bojieli のスキルをすべて見る

このスキルの問題を報告する