(2609) DeepSeek V4.1 Flash
后训练 Pipeline
整体流程
- SFT + RL + OPD
核心:大规模自动数据合成和环境构建 Pipeline
合成多种可验证训练任务`:参考答案+奖励信号。程序化构建
交互Agent环境:低成本收集和评估轨迹。保证质量和课程平衡:严格筛选、去重、难度校准。
总结:
规模、多样性、可验证性。
Agent 任务合成(大规模)
高质量任务需要人工投入,但Agent已经可以了,但能力还不够、不完善,因此继续投入。
任务形式
问题、环境、验证系统。
评估质量/奖励信号
- 难度:保证不简单。
- 正确性:保证3组件不存在问题。
- 以
难度和正确性作为奖励信号,迭代训练模型,构建更好的任务。
应用
- 任务用到下游 RL 中,轨迹再反过来审查任务质量。
数据收集场景
- 内部员工+外部合作伙伴:
使用新模型+日常工作,返回交互数据+反馈。 - SaaS、企业应用、专门业务后端系统。
模拟工具构建
- 基于日常反馈,分析数据里的接口,构建模拟工具,
复现真实工具和系统接口。
负面弱项优化
- 收集负面反馈+模型失败样例,纳入pipeline
生成 Agent 环境 - 重建
工具上下文、用交互模式、失败条件,针对弱点 进行 RL优化。
Coding Agent 筛选训练任务
- 内外部
Coding Agent 会话:筛选出复杂或表现差的任务,按轨迹去重。
Github 仓库合成任务
高 star github 仓库
Agent1:判断项目能否
在容器内构建且完整运行。Agent2:
设计任务。- 选择 commit,
设计足够复杂的任务方向,产出fail-to-pass 和 pass-to-pass 评估点。
- 选择 commit,
Agent3:
构建环境和自测。- 在隔离容器中,设置依赖、初始工作目录、测试代码等
- 执行自测,删除泄露解法,打包新环境。
Agent4:
尝试求解。- 多个 Agent 独立求解,生成多条轨迹。
Agent5:
审查轨迹错误。- 检查环境、错误、评估是否和任务匹配?
- 轨迹是否有 reward hacking?
Agent6:
修复错误,重新验证。- 纠正错误,调整 太难或太简单的评估点。重新验证。
在合成任务 RL
DeepSeek Harnesss (Minimal 模式)
- 随
RL 训练规模扩大,DeepSWE v1.1, SWE-Bench-Pro 等多种 Coding Agent Bench都持续提升。 - 上下文扩展至 1M tokens,仍持续提升 长任务,Terminal-Bench v3.0
15 -> 30。
Multi-Harness 联合训练
- 多版本 Claude Code:DeepSWE 持续提升。
- Multi-scaffold:OpenCode、Pi、DeepSeek Harness (标准 / PTC),DeeepSWE 持续提升。
RL 控制推理强度
Systemp Prompt 引入标量强度级别
Reasoning Effort: {effort} (range 1--100; higher values request more thorough reasoning)- Max:100;high:75;low 50。
分强度采样
对1个prompt,每个强度
,分别采样 个回答。 在
同1强度内计算GRPO优势;不同强度不做比较。
长度惩罚
对回答
奖励 增加长度惩罚项,长度分量依赖强度b, 符号定义
: 推理token数: 参考长度:每条轨迹最多扣除的分数 : token惩罚系数,随请求强度指数下降,高强度允许长推理
异步后训练 Infra
样本级派发 (sample-level dispatch)
主要解决 rollout 长尾问题,这是训练瓶颈,核心,维持高rollout并发。
核心
- rollout 和 训练 放在同一物理设备,分时执行。
无需手动调节2阶段的资源分配。 维持高 rollout 并发。
样本级派发 sample-level dispatch
- 一个prompt可以派发多个组,即多个sample。
- 但轨迹回收,
只看达到 group size 即可,不用等同一个组所有样本全部收齐,不在乎来自哪个组。- 可我们的实现:1个 prompt,1次只派发1个sample,资源有限啊。
稳定维持 rollout 并发量
缓解长度偏差和off-policy影响
1. 长度偏差
- 先收集的样本偏短,会改变数据分布。
- 控制数据并发和
舍弃部分过早短样本,处理偏差。
2. off-policy影响
- 调节调度和训练样本条件,
限制最大 off-policy 比例,保证训练数据不会过度偏离当前模型。 - 训练加入 loss masking,移除staleness过高的token。
大规模在线蒸馏
基础配置
全领域数据集+40多个Teacher,全词表OPD。
(2606) DeepSeek-V4
- 预训练后,进行后训练,得到 V4。
- 后训练
- 单独训练各专家
- OPD 蒸馏各专家 (原3.2是2步,先蒸馏数据SFT,再Mixed RL)
专家训练
微调+RL 2阶段
核心
- Finetuning + RLVR,GRPO算法。
RL 评估
- 易验证任务:规则、单元测试等。
- 难验证任务:
- 传统RLHF方法:训练标量RM模型,
V4 已经丢弃。 新方法:训练 Generative Reward Model。
- 传统RLHF方法:训练标量RM模型,
Actor as Gerative Reward Model (联合RL优化)
1. 收集 Rubric-guided RL 数据
2. GRM 评估策略轨迹
3. Actor 作为 GRM, 联合优化
- 一套权重:
- 联合优化
生成能力和评估能力; 推理能力融入评估,产生稳定评分;- 有
泛化能力,仅需少量多样人工标注,即可取得好效果。
- 联合优化
- GRM 也做
RL 优化。
推理强度/交错思考/Quick Instruction
- Non-Think: 日常任务。
</think> summary。
- Think High:复杂问题。
<think> thinking tokens </think> summary
- Think Max:推理边界。
A special system prompt at the beginning.<think> thinking tokens </think> summary
V3.2 丢弃工具推理,浪费token
- 新User消息来时,会丢弃之前的推理,仅保留Tool Call 和结果;工具调用轮次,会保留推理。
- 缺点:每次新 User 消息,都会清空推理,迫使模型从头求解,复杂 agent 流程,非常浪费token。
借助 1M 上下文,V4 改进
- 工具调用场景:
保留所有推理内容,不再清空,保留完整历史,使 Agent 任务更连续,持续累计思考。 - 普通对话场景:新用户消息到来时,丢弃之前轮次推理,保持上下文简洁。
- 即这些场景,
保留思考收益有限。
- 即这些场景,
背景
- chat 场景,在回答之前,经常需要执行
是否搜索、意图识别等辅助任务。 - 传统方法:
独立小模型处理,因为不能复用已有 KV Cache,而产生冗余Prefill
Quick Instruction
专用 token: 附到输入序列,每个对应一项辅助任务,直接复用已计算KV,避免重复Prefill。
优点
- 可
并行生成搜索query、判断领域/权威性要求等, - 降低 TTFT 首token延迟
- 免除额外小模型工程开销。
| 特殊 token | 作用 | 格式 |
|---|---|---|
| `< | action | >` |
| `< | title | >` |
| `< | query | >` |
| `< | authority | >` |
| `< | domain | >` |
| `< | extracted_url | >、< |
MOPD
OPD 来合版
- 高效把
专家知识迁移到1个统一模型。 - 学生
采样训练轨迹,保持On-Policy学习;通过 logits 对齐 老师,Teacher 输出分布。 - 整合各专家权重到一个参数空间,绕开
权重合并或混合RL性能下降的问题。 - 10个 Teacher。
Reverse Full Vocab KL
学生
采样训练轨迹,保持On-Policy学习;通过 logits 对齐 老师,Teacher 输出分布。N个专家
,目标 全词表 KL简化为每个位置的 token 级估计,复用 RL 框架。
per-token 优势 (既有工作)
- 缺点:
梯度估计方差大,训练不稳定。未采用。
DeepSeekV4 方法
全词表 logits 蒸馏,在反向 KL 中保留完整分布,获得稳定梯度,迁移专家知识。
Infra
(2512) DeepSeek-V3.2
参考链接
问题背景
- 开源
和闭源差距越来越大,闭源模型性能提升很快复杂任务能力很强。 - 主要问题:
架构长文本太贵太慢、后训练资源投入不足、Agent效果不足
核心方法
DeepSeekSparse Atteention:Ligntning Indexer细粒度Token Topk选择器DSA 2阶段预训练:2.1B Dense预热 + 943BSparse预训练。Scaling GRPO 算法
IS权重优化KL3估计、Mask异策略负样本、保持MoE路由和采样Mask消除训推不一致。
后训练:专家蒸馏 + 混合RL训练。
- 设计
工具调用+推理思考的上下文管理 - 设计
Search+Code+数学逻辑+代码工具+General四大Agentic任务构建过程
- 设计
模型效果
- DeepSeek-V3.2 在
推理任务上的性能与 GPT-5-high 相近,略低于 Gemini3-Pro。 - SWE-V、SWE-Verified和Terminal2.0:超过开源模型。
关键结论
核心贡献
- 稀疏注意力架构
未来方向
世界知识落后闭源模型:扩大预训练,弥补差距。复杂任务仍落后前沿模型:进一步完成基模和后训练流程。Token效率提升:需更长上下文才达Gemini3-Pro效果。
后训练
Post-Train 流程 (单独训专家+蒸馏专家+MixedRL)
1. 单独训练8领域专家 (RL)
- 单独训练
8个领域专家模型(从 DeepSeek-V3.2-Base 开始)- 写作、问答、数学、编程、逻辑推理、
通用agentic任务、agentic编程、agentic搜索 - 专家训练:
都经过单独RL训练,各专家支持思考和非思考模式。 - 但具体细节,似乎没见过。
- 写作、问答、数学、编程、逻辑推理、
2. 专家生成数据训练Base模型 (SFT)
- 用专家生成
长推理和直接回复数据,再用蒸馏数据去训练Base模型 - 后续再接下文的Mixed RL训练,
通才单模型仅比多专才效果低一点点。
3. Mixed-RL 训练
- 混合训练:
推理+agent+人类对齐。GRPO算法。推理+Agent:Rule-Based奖励+长度惩罚+语言一致性奖励。其他通用任务:GenRM,每个任务有一个rubrics
- 优点:
平衡不同领域性能,解决灾难性遗忘问题。
Scaling GRPO
优化KL3估计
- 核心:
重要性采样比例*原始K3估计。
Mask 异策略负样本
- 优势为负、KL偏差大。
Keep MoE 路由
- 使用 R3, Rollout Routing Replay,训练时不计算,直接使用rollout时的专家。
保持采样Mask
- 保留
采样Mask,保证和 词表一致。
四大任务构建(Search/Code/Math/通用)
数据量
50k任务,真实环境,合成任务。
MulitAgent Pipeline 合成高质量多样数据
- 从web数据中挖掘出
长尾实体 - 问题构建Agent:使用
搜索工具探索实体,把信息整合成QA对。 - 多个答案生成Agent:配置不同,为QA对
生成候选答案。 - 验证Agent:具有搜索能力+多轮验证,仅保留
GT正确且所有候选答案错误的难样本。
GenRM 多维质量评估
- 设计覆盖
多个质量维度的rubrics,来打分。
数据量
24k任务,真实环境,提取Prompt。- 最终构建:
数万个高质量多语言Issue解决RL交互环境.
Github Issue PR 任务构建
- 从
数百万Github Issue-PR中,构建大规模软件Issue解决的可执行环境。 - 数据过滤:启发式规则+LLM,确保每条包括:
合理的Issue描述、Gold Patch、Test Patch。
- 环境构建Agent(DeepSeek-V3.2):负责
包安装、依赖解析和测试执行。- 测试输出:标准JUnit格式
- 环境构建成功标准:Gold Patch应用后,Fail-to-Pass和Pass-to-Fail都为0
数据量
5.9k任务,真实环境,提取Prompt。
Code Interpreter Agent (推理任务+代码工具)
复杂推理任务:数学+逻辑+数据科学,每个问题需用代码来解决。- 环境:
Jupter Notebook作为代码解释器。
数据量
4.4k任务,1.8k合成环境,合成prompt。
期望
困难+好验证的任务:合成了1827个任务环境。最终得到几千条数据:
环境+工具集合+任务+验证器
环境构建Agent
数据准备:给定任务类别+Sandbox(bash+搜索),Agent搜索数据并存入数据库。工具合成:Agent为任务合成工具,工具即函数。任务合成基于数据库合成简单任务+Solution+Verification,python实现。- 限制:Solution
只能调用工具,不能调用其他函数或直接访问数据库 - 一致性检查:
Solution结果必须通过验证函数校验,不断修改,直到通过为止。
难度升级:迭代增加任务难度,更新解决方案、验证函数、扩充工具集。
数据筛选
筛选出
有难度可执行的优质任务,而非直接使用所有数据。使用DeepSeek-V3.2
解决100次,留下pass@100 > 0的任务。
工具调用思考和长上下文管理
工具调用思考
- 新 User 消息到达,丢弃之前的思考内容,仅保留 ToolCall 和 Answer。
长上下文
- 测试时,引入上下文管理,token 超过80%时:
Summary:总结轨迹并重启 Rollout过程Discard-75%:丢弃前75%的工具调用历史来腾出空间Discard-all:丢弃所有的工具调用历史来重置上下文
(2607) Kimi K3
后训练-方法
- SFT:初始化 agent 能力
- RL:训练专家,不同推理预算。
- MOPD:整合到单模型。
SFT
扩展 K3 SFT 数据集
- 沿用 Kimi SFT Pipeline,做扩展。
- 利用
前代领域专家模型合成轨迹,多阶段验证+人工标注。
XTML 模板化 轨迹
- 所有数据都做模板化。
大规模 SFT 数据效果
- 增强:
自适应推理、精准 Tool Call、长 Agent 能力。
RL - 3领域9专家
通用任务
- 通用体验、视觉、推理、忠实性、搜索、知识工作
通用 Agent
- 长程助理任务、深度研究和段落级写作
Code Agent
- SWE、code 体验、kernel、web 开发。
推理 effort
- low, high, max
3档推理*3大领域=9个专家
RL - Reason Effort RL
目标
- 调节推理强度,最大化 token 效率
每个问题x设置预算,超过阈值得-1
- 冷启动模型估计初始预算
- 轨迹总token
超过阈值: 得-1惩罚 通用任务:仅 thinking tokenAgent 任务:累计输出 token,含推理+工具调用参数。
预算系数课程学习
:按领域人工配置 - 开始大:训练 max-budge 版本,仍设最大预算上限,防止过度思考
- 然后变小:得到 high 和 low effort 专家模型
RL - Agentic GRM
不可验证任务用 GRM
- 保留 K2.5 中的
二元比较组奖励。 - Agent GRM 固定流程:
- 阅读结果;生成评分细则;按细则评分;把细则分数记录到评分板。
模型冗长输出进行 reward hacking
- 类似 reason effort 预算冗长度控制,
超过长度,在二元比较中自动判负。
MOPD
- per-token OPD 奖励
任务和环境合成
统一白盒 RL 环境 (多种 Harness 配置组合)
单一 Harness 容易过拟合
白盒 RL 环境
- Agent Harness
可配置可组合模块- Tool 接口,系统提示词,Context 管理策略、skills、Memory、sub-Agent 等。
- 可用主流Harness:KimiCode/ClaudeCode/Cdex/OpenClaw/Hermes,
- 也可创造新Harness:
牛逼
优点
- Kimi K3 多样组合、支持不同任务领域 RL、训练可扩展。
知识图谱合成任务
目标
- 后训练任务的
质量和多样由原材料决定。
自演化分层知识图谱
- 不断web搜索,扩展知识图谱。
- 两大领域:
知识密集型+代码领域。
- 两大领域:
有向无环图。
Agent 构建知识图谱
- 预定义一组粗粒度种子节点,粗概念 -> 细概念,足够原子化时,该分支停止扩展。
- 每个节点 1个 agent,通过 web 搜索研究概念,然后添加新节点
- 新节点:尽量减少重复。
材料检索和任务合成
- 采样关键词,在相关节点,
做web查询,检索真实材料。 - 由 合成 Agent 生成各种训练任务。
可验证Agent问题
多步复杂信息检索真实日常专业工作:投资银行、数据分析、法律practice等- 复杂任务、沙箱领域工具、几百步交互,完成一个交付物
多轮视觉可验证推理任务:STEM、视觉谜题、图表理解等。- 每条轨迹有1个
独立沙箱 python 解释器, - 写代码、执行代码、对图片做裁剪放大等。
- 每条轨迹有1个
Kernel 优化任务
目标
- 增强
GPU Kernel 优化能力。
大规模 kernel 任务集
- 单算子 kernel 、融合 mega-kernel。
- 任务集:CUDA、Triton、CUTe DSL、Gluon 等。
奖励信号
正确性 + 性能- 达到
专家实现性能得到0.5,接近硬件 roofline则趋近 1
Hacking 检测系统
- 惩罚
CUDA graph replay、输入缓存、降低精度等 reward hacking 策略。
Personal 助手任务
环境:开发模拟应用
- 开发 Gmail、Notion、Slack、Canvas 等常见应用。
- 无需外部API,没有速率限制。
任务:人力资源/法律服务/金融
- 真实专业工作流,设计复杂任务。
- 持久环境:
Agent跨多个模拟日、持续演化,可能遇到多个相互依赖事件。 - 单次rollout:
数千次工具调用、百万上下文。 - 初始工作区:Agent 构建,搜索web材料,转换为连贯和任务相关的环境。
评估:Rule + LLM
- 每个事件有
单独评估标准:规则 或 LLM。
自主执行任务(Verifier-in-the-Loop)
AET 任务
- 初始状态、目标(带约束)、动作空间(Tool)、执行预算、独立 verifier
Verifier (多种)
- 奖励:Verifier 对最终环境状态做评估。
- 支持多种环境:黑盒系统复刻、量化因子发现、税务审计等。
Agent
- 只能看 目标、上下文、约束和验证接口。
- 没有参考轨迹、预定义流程,
- 必须自主分解任务、选择工具、规划、错误恢复、终止。
Verifier-in-the-loop
- Agent
迭代提交答案、接收 Verifier 反馈、改进策略。 Verifier 本身就在 Loop 里,中间过程可去调用的,而不是非得等最终去做评估。
Reward Hacking 问题
评分规则可能不等于真实目标;比如测试通过,但并不是真的修好了。- Agent 可能只记住 公开验证器中的样例,
换其他输入就不行。
防范措施
- 隔离 Agent 和 验证器:Agent 无法直接修改验证逻辑。
- 公开验证 + 因此验证:公开部分帮助纠错,隐藏部分检查是否真的解决问题。
- 限制提交次数加入惩罚:减少
无限试探Verifier利用反馈寻找漏洞的机会。
Web 开发任务 (js)
多种 Web 开发任务
- 专家整理、多种场景:网站、交互游戏、3D/WebGL、数据可视化、SVG、全栈应用等。
- 输入:一句话描述 或 多种规格的说明。
运行环境
- 每个任务在容器沙箱运行。
- 多种 Agent Scaffold。
奖励
- 确定性检查 (功能测试):
- 复刻参考任务:
结构相似度、像素相似度; 0奖励:项目构建失败、伪造、未实际实现:
- 复刻参考任务:
- 内部奖励模型:
- 查看
源代码、观察交互输出等。
- 查看
(2602) Kimi K2.5 (Visual Agentic Intelligence)
文本视觉联合优化
原生多模态预训练
Zero-Vision SFT (纯文本)
- 模型此前已接受图文联合预训练;
- 文本 SFT 教会推理/Python 工具操作;可以迁移到图像任务,再由视觉 RL 继续加强。
Vision RL 和 多模态联合 RL 学习
Outcome-based Vision RL
- 完成 zero-vision SFT 后,
仍需继续优化后,才能在推理中可靠使用视觉输入。 - 三大任务:
视觉定位和计数:定位、统计物体。图表文档理解:理解结构化视觉信息、提取文本。Vision-critical STEM 问题:筛选必修使用视觉输入的数学和科学问题。
- 效果:
- 改善
基础视觉能力、复杂 Agent 能力、纯文本任务。 - 提取轨迹用于 RFT,形成
自我改进的数据 pipeline 后续联合 RL 利用更丰富多模态推理轨迹。
- 改善
多模态联合 RL,按领域划分专家
zero-vision SFT+vison RL,可产生稳定视觉能力、改善文本能力。- 不按模特划分专家,而
按领域划分专家:知识、推理、编程、Agent等划分RL 领域。 - 每个专家:
学习纯文本和多模态问题。
Generative Reward Model
- 跨模态评估,对
异质轨迹进行优化, - 优点:使模型通过文本或视觉能提升另一种模态能力,自然泛化,最大化模态迁移能力。
Agent 集群
Agent Swarm
背景
- 任务复杂,
single-agent完成能力有限,sequential system 有瓶颈。
Agent Swarm
- 不做单一推理,通过
动态任务分解、sub-agent 实例化、并行子任务调度,启动 Agent 集群 是否、何时、怎样并行,都通过RL 环境反馈来探索学习,并行并非一定有益。
Multi-Agent 环境
- outcome 有噪声,最终结果正确,subagent 可能有误;最终结果错误,subagent 可能正确。
PARL 奖励
- 依次:缓解串行坍塌、子任务成功完成、
后训练
SFT
- 整体沿用
Kimi K2 SFT Pipeline,不同领域不同pipeline- 使用
K2+K2 Thinking+内部专家模型合成高质量候选答案 - 结合
人工标注+PE工程+多阶段验证,构建高质量SFT数据
- 使用
RL 策略目标
IS 权重 / 重要性比率
DAPO 策略目标
K2.5 原始复杂版
- 原始复杂版:数据集D,
每个问题x,采样K个回答,优化模型
K2.5 RL 目标简化版
- 优势:不除以std,直接
reward - 均值。
token-IS clip:减轻训推不一致放大的off-policy 偏离。增加惩罚项
, 惩罚旧策略偏离太远和 概率相同:比率=1,log1 = 0,无惩罚和 概率不同:比率偏离1越远,惩罚越大,概率翻倍和减半,平方惩罚相同。
优化器
MuonClip
RL Token 高效强化学习 (Toggle)
目标
- 预算有限时,推理更有效率。
- 希望 模型用
简洁思维链,避免不必要 token 膨胀。不同题不同 token 预算。
- 希望 模型用
- 预算充足时,能深入思考,真能提高效果。
- 同时 遇到难题时,
多思考真能提高正确率。
- 同时 遇到难题时,
长度过拟合问题
严格预算约束训练的模型,给更高token也不能解决复杂问题,会采用截短的推理模式。
核心思想
- 采用 2阶段,交替进行
限制预算训练和正常长推理训练。 - 每隔
m 次迭代,切换训练模式。 精简做对,充分思考把题做对,继续交替。
Phase 0:预算约束,学会精简推理
定义:
掌握程度阈值,该题预算,平均奖励。对于某题
还不会:正常奖励。已经比较会了:超预算 给0;不超预算,正常奖励。
确定每题预算B(x)
收集该题的正确答案,取第
百分位,比如 中位数。比如
正确回答长度是:[1000, 1500, 2000, 3000, 5000],取中位数为 2000预算在训练前
估计1次,后面保持固定。
Phase 1:正常训练,保留长推理能力
原始奖励,不加预算约束。- 为何还要切回 Phase1?
- 一直在phase 0,可能会
过度适应短预算; - 切回 phase1,有机会
探索更长有效推理。
- 一直在phase 0,可能会
RL (奖励函数 + GRM)
可验证性任务
- 规则奖励
一般任务
GRM,Kimi 内部标准,提供细粒度评价。
视觉任务
- 视觉定位/点定位:F1 (IoU 交并比)、softmatch (高斯加权距离)
- OCR:编辑距离
- 计数任务:预测和真值的绝对差
合成复杂视觉谜题
- LLM Judge (Kimi K2)
K2 方法 - 开放式回答
- 开放式生成:
self-critique rubric,自我评审+评分细则。
K2.5 方法 - 各种 Agent / 多模态任务
- 可验证信号任务(
chat/code/search/artifact-generate等) - 整体:
可验证奖励+GRM 补充 细粒度评价 - 细粒度包括:帮助程度、响应及时性、上下文相关性、细节是否ok、美观度、指令遵循。
- 不同任务不同场景:
不同 GRM 评分准则。
优点
- 能
识别细微偏好差异,减轻reward hacking和过拟合单一偏好信号。
(2609) Mimo V2.6
Scaling RL 计算核心配置
计算量
- 几千卡,大batch:
1568*rollout_n 16=25k 轨迹- 不同环境、不同Harness、多样RL任务。
- 轨迹长度:
110k - 150k
策略目标
token-mean,IS 权重,token-mask,动作梯度
三大阶段
- Rollout:42.8% 算力
Agent 评估 Grader:识别有效/有缺陷的方案,超过二元测试结果,提供细粒度学习信号。- 12.7% 算力。
- 训练:43.5% 算力
Partial Rollout
- Rollout 和评分有
长尾,使用Partial Rollout,保证 batch 饱和。 - 代价:
重新 Prefill,策略更新后,需要重建 KV Cache。 - 因此,bs与partial rollout 一起选择,大 batch 摊薄
重新prefill成本。
保证训推一致性
- R3 Rollout Routing Replay:
Rollout 专家路由。 top-p 采样回放:见 off-policy 问题工程配置未对齐
动态采样
- 过滤 全通过或全失败的组,保证样本梯度有效。
多任务RL Sample Mixer
- 不同任务 rollout 时长、通过率差异大,需保持
训练 batch 分布高效稳定。
Scaling RL 环境和Harness
- 多样环境:真实任务,提供
和目标一致的奖励。
Code Agent 任务
GitHub PR / Issue
- 收集 PR/Issue,辅助模型过滤,移除重复、格式错误、不可复现的样本。
- Issue:
自身完整或LLM生成根据参考 Patch和周围仓库去生成。
真实日常开发需求 (vibe coding)
- 日常开发工作流:
内部员工真实开发需求。 - Agent 生成具体测试用例。
多约束要求
- 在
详细多种约束下,生成代码。
现实源码功能
CodeMidas:从代码库功能推导任务。Agent:识别候选功能,把观察行为转换成任务规格和可执行环境。
长程 SWE 任务
准确性:规格和测试对齐
Coding Agent: 每个任务做4次.共享工作区:题目、测试、参考patch、提交patch。审计 Agent:审查4次提交,按照规格评估每个方案。- 测试通过但判为错误:潜在假阳性,
提示验证不完整。 - 测试失败但判为成功:潜在假阴性,
提示测试过严或执行失败。
- 测试通过但判为错误:潜在假阳性,
稳健性
重复执行8次参考patch,保证f2p和p2p 通过
通用 Agent 任务
环境设计
- 工作区 + 软件工具,通过 MCP/API/CLI/GUI访问。
- 在真实性和大规模之间取平衡。
环境合成
- 工作区结构。
任务合成+验证
- 调研常见专业任务,
组合泛化种子任务。 - Agent 探索环境,构建与内容工具相关的日内瓦。
- 任务完成度:原子化二元评估。
视觉 Agent 任务
多种视觉任务:视觉表达/创造性
- 网站、交互应用、3D、游戏、PPT、SVG、视频、Figma设计等。
评估
质量标准(迭代优化):正确性、指令遵循、布局完整性、基本美观。- 组级评分:识别谁更强更弱,赋予奖励。
- 复刻任务评估:
相似度指标+LLM 整体视觉判断。
网络安全 Agent 任务
真实漏洞复现场景:适合大规模RL
- 给定项目和Bug,Agent 构造输入。
OSS-fuzz:数万个实例。
验证器/奖励
- 必须
区分目标Bug和无关崩溃。
多 harness 训练
问题
- 单一 Harness 容易过拟合
- 多个
生产 Harness 不适合RL训练:- AgentLoop 外
工程保障多步工作流, 大量约束和指令引导模型,这些额外要求不在任务奖励信号内.- 模块间紧密耦合,不能独立配置。
- AgentLoop 外
Mini-harness 多 Harness 训练
Mini-agentloop:system prompt + 工具 + 上下文管理。- 各模块解耦、可重组。
缓解 Reward Hacking
:: tip Reward Hacking 现象
核心
- 从其他版本,获取已经存在的答案。
1. Install and read:安装新版本,读取修复代码
- 泄露路径:
新版软件包→已修复源码→ 当前任务补丁 - 比如
pytest==5.4.3,查看源码。
2. Fetch upstream source:直接下载上游已修复文件
- 泄露路径:
上游单个源码文件→对比当前实现→ 提取修复 - 比如:
curl上游 astropy/timeseries/core.py
3. Clone upstream: 克隆新仓库,查找修复实现
- 泄露路径:
新克隆仓库→后续历史或最新实现→ 当前任务补丁 - 示例:Matplotlib 的任务,
克隆仓库,查看axis.py - 我们目前解决是这个。
4. Look up a solution:查 issue、PR 和关联提交
- 泄露路径:
对应issue解决记录→已知修复思路或 diff→ 生成补丁 - 示例:模型查看
Django ticket#29205的变更历史,找讨论、采用解决方法、关联提交
5. Probe versions:先寻找可能带答案的新版本
- 示例:Sphinx 任务
模型 pip index versions sphinx,下载新版本,查看修复
:::
1. MidTrain 对齐纳入修正样例
- 根据 Reward Hacking 样例,合成训练示例,纳入 MidTrain。
- 示例:反思错误推理、修改 Turn、再继续执行,明确指出修正。
- 效果:改善对齐。
2. 环境移除和网络隔离
- 背景:环境泄露答案、网络检索答案。
移除:构建日志、verifier 输出、残留 patch、可能暴露答案的项目二进制字节码、cache- 保留 base commit 的git 历史,
移除之后的提交和关联引用。 容器级网络隔离:限制访问上游修复、可能的答案包版本。
3. Hack Agent
- Hack Agent
探测环境,寻找泄露弱点。 - Step1:给样例 引导 Agent
搜索缓存副本/路径等。 - Step2:
改进清理、访问限制等。 - Step3:在
新环境上重新探测,不断迭代。
4. 训练时定期审查轨迹
审查 Agent轨迹是否存在 reward hacking;检测出的轨迹奖励设为0。
Groupwise Agent Grading
背景
- Code Agent,仅靠二元单元测试,不能区分通过测试等质量。
针对高通过率任务:GRS
- GRS:离线比较轨迹,
设计任务-Rubrics,评估质量; - 训练奖励:
质量分和测试奖励做结合。
对其余Code任务:GAR
- AgentGrader:检查有成功有失败的组
- 给
通过测试的方案做排序,把正优势分配给质量更高的成功轨迹。
- 给
GRS (离线 Rubrics, Groupwise Reward Sysnthesis)
核心
- Agent 一起比较
多条离线轨迹+任务要求+ 仓库, - 识别
不同解法、重复错误、各轨迹的有益action - 允许不同解法,
期望识别出有意义的质量差异。
Solution Rubrics:与任务相关,评最终实现
- 包括:满足要求、恰当处理边界、修改和周围代码库一致。
Behavior Rubrics:评处理任务和验证工作
- 可靠求解,收集相关证据、检查代码变更效果等。
训练奖励
- 测试奖励 * 解决分 * 行为分:
都通过的测试,仍有差异学习信号;
GAR (在线 grading, Groupwise Advantage Redistribution)
Agent Grader(SFT): 5维度比较成功Patch
- 解题方法
是否适合 - 该方法
是否精准、无遗漏 - 修改
变更是否最小 - 是否带来任务外的
非预期影响 - 是否符合代码库管理、具备
良好工程质量 组内轨迹排序:共享工作区,一起评估所有轨迹。
目标
- 成功轨迹的正优势
总量保持不变,质量好的多分一些,质量差的少分一些。
参数定义
- 轨迹
,序列级优势: 成功轨迹集合质量系数: 降低低质量成功轨迹的权重。
示例
- 四条轨迹奖励:
[1, 1, 1, 0],原正优势:[0.25, 0.25, 0.25, -0.75] - 质量系数:
原正优势总量
新正优势总量
用统一
把正优势总量恢复回来 成功轨迹新优势:
最终轨迹优势:
[0.375, 0.225, 0.150, -0.750]
行为正则化
目标
- 在是否成功之外,让Agent少赚钱、少犯格式和工具调用错误。
- 例子:调错工具 → 参数格式错误 →
重试很多次→最后做对了。 错误调用也会受到鼓励。
对过长成功轨迹扣分
- 正确且
简洁:保留奖励 - 正确但
过长:扣一部分奖励 组内成功率低:暂时不加长度约束,保持探索空间
对出错segment调整token优势
- 错误:
格式错误、无效工具名、错误参数等。 - 根据优势正负做处理
错误token:- 轨迹优势为正:
优势设为0,不鼓励。 - 轨迹优势为负:
负优势*k(>1),加大惩罚
- 轨迹优势为正:
未标记的token:- 轨迹优势为正:适当
增加正优势 - 轨迹优势为负:适当
减轻负优势
- 轨迹优势为正:适当