变化点
2026.07 · KAT-Coder-V2.5
- AutoBuilder 扩展可验证环境,并修正 sandbox 反馈。
- Asymmetric PPO 改善长程信用分配,再用 MOPD 整合教师能力。
2026.03 · KAT-Coder-V2
- 分别训练五类领域专家,再通过 OPD 合并能力。
- MCLA 稳定策略估计,Tree Training 复用前缀、降低训练开销。
(2607) KAT-Coder-V2.5 (AutoBuilder、Asymmetric PPO、MOPD)
🌺 论文摘要
参考链接
问题背景
- Coding Agent 的训练受制于可执行环境不足、轨迹质量参差、长程奖励稀疏和跨 Harness 泛化差。
核心方法
- 环境与轨迹:AutoBuilder 构建
100K+仓库环境,KwaiClawEnv 合成100K+工具任务;修复 near-miss 并过滤低质量行为。 - Agent RL:Asymmetric PPO 的 Critic 额外读取测试/补丁等 hindsight;测试、行为和进展奖励结合 GRM 过程评分。
- 多教师融合:五类专家监督学生自己的 rollout,MOPD 结合冷启动、漂移降权与动态截断。
模型效果(KAT-Coder-V2.5,Agent 后训练)
- SWE-bench Pro
65.2、KAT Code Bench53.1;均在报告对照中次于 Opus 4.8。 - PinchBench Avg
94.9;Terminal-Bench 2.160.7,终端任务仍有明显差距。
重要结论
- 环境错误会直接污染 RL 奖励;修复 sandbox 后,反馈错误率由约
16%降至2%以下。 - 仓库修复、工具工作流、终端和科学代码呈现不同能力分布,不能仅以 SWE 分数判断整体代码能力。
核心贡献
- 将可验证环境、过程轨迹、长程 PPO 与多教师蒸馏整合为 Coding Agent 后训练方案。
未来方向
- 扩展可验证环境,改进长程信用分配,补强终端与科学编程任务。
问题背景
环境与任务不可靠
- 原始 Issue 可能遗漏接口和行为要求;依赖安装成功,也不代表目标测试实际运行。
- 错误环境反馈会把正确策略判错,使 RL 学到与任务目标相反的信号。
最终成败掩盖过程质量
- 通过测试的轨迹可能硬编码答案或绕过机制;失败轨迹也可能包含有效定位与修复步骤。
- 长轨迹叠加上下文压缩、子 Agent 分支,单一终局奖励难以判断具体动作的价值。
训练与部署接口不同
- 固定工具格式和控制流程容易形成依赖;更换 Harness 后,解析、规划与错误恢复可能退化。
核心方法
环境与训练轨迹
任务描述
- 从真实 PR / commit 提取
Gold Patch + Test Patch。 - Gold Patch 提供问题背景;Test Patch 提供行为要求;结合两者提取接口与兼容性约束。
- 经过清晰度检查,保留描述完整、无歧义、与测试一致的任务。
环境构建
- Build Agent 从干净 checkout 生成依赖与测试脚本;Verification Agent 在 sandbox 中执行。
- 解析测试框架的结构化输出,要求收集
90%以上预期测试,并重复确认通过/失败状态。 - 失败日志反馈给 Build Agent 修复;复用语言模板、基础镜像与成功配置,降低重建成本。
- 预先处理无关依赖变更,删除 Git 历史与参考解痕迹,让训练聚焦任务本身。
提示辅助恢复
- 对已定位但缺少关键一步的失败轨迹,提示检查测试断言、接口 schema 或已有实现机制。
- 得到验证通过的 patch 后,从原任务上下文重新生成轨迹,去掉提示及其泄漏信息。
- 最终保留无提示、测试通过、与 patch 一致的轨迹,避免训练依赖额外线索。
过程评分
- 规则过滤无效调用、测试篡改、硬编码和不稳定执行。
- 过程评分覆盖探索、定位、修改前分析、最小修改、验证、失败恢复等维度。
- 投机成功降权或剔除;有价值的 near-miss 返回恢复流程,标注同时供偏好学习与 GRM 使用。

Service:可执行能力
- 来源包括人工 Skill、社区 Skill 和 LLM 生成的 Service;多个 Service 可串联或嵌套。
- 从 Skill 提取 API、参数和约束,生成 OpenAPI、容器配置及 fixture 数据。
- 检查服务连通性、接口完整性与依赖关系,保留可运行的能力单元。
Task:任务扩展
- 从真实业务任务出发,扩展参数、追加约束、组合工具链,控制难度与交互长度。
- 并行 rollout,记录模型动作、工具输出和状态变化,形成完整轨迹。
Eval:质量反馈
- 统一训练格式,验证任务 schema、工具引用、参数与可执行成功标准。
- 在容器中检查服务启动、fixture 加载、交互完整性与评分正确性。
- 质量问题回传到 Service 与 Task,区分可修复样本、缺陷样本和可用样本。
硬规则 + LLM Judge
- 硬规则检查工具黑名单、文件存在、必要工具覆盖和状态一致性。
- Judge 评价语义正确性、执行效率与交互自然度,两层均通过才进入训练。
规模
- 从数百万候选中保留
100K+任务;轨迹平均约15次工具调用,最长超过100步。 - 扩展既包括增加 Service,也包括复用同一组 Service 构造不同难度的任务。

Agent RL 与信用分配
交互分布
- 白盒:mini-swe-agent,流程简单、无压缩,提供结构清晰的训练轨迹。
- 黑盒:Claude Code、Codex、OpenClaw、OpenHands,覆盖压缩、重组、复杂工具流程。
- 随机化调用协议、上下文管理和控制流程,并加入依赖错误、截断输出等扰动。
系统职责
- Rollout Engine 生成动作;KwaiEnv 运行 Harness 与 sandbox;Train Engine 更新策略。
- Gateway 中转请求、记录 token 与轨迹,写入 Experience Buffer,将交互执行与训练解耦。
- 直接使用
/generate传递 token,避免 chat 模板重套与重新分词造成训练、采样 token 不一致。
Sandbox 可靠性
- 提前释放近期不再使用的镜像,减少磁盘挤满、反复回收和初始化超时。
- 修复环境变量覆盖、verifier 执行等问题,避免系统故障变成策略的负奖励。
Actor 与 Critic 的输入
- Actor:只读取当前可用历史,包括工具输出、文件片段和压缩摘要。
- Critic:额外读取最终成败、测试分布、覆盖率、patch 差异、后续轮次等 hindsight 信息。
- Critic 学习
V(s_t,c_t);其中c_t是训练时可见的额外信息,部署只保留 Actor。
优势计算与策略更新
- 用奖励和前后状态的 Value 计算 TD 误差,再通过 GAE 聚合为各位置的优势。
- Actor 按标准 clipped PPO 更新;Critic 回归 GAE 构造的 return target。
- 压缩或分支后前缀不同的样本仍可分别估值,不必强行放入共享前缀的 GRPO 分组。
直观例子
- 一条轨迹先正确定位,再提交引入回归的 patch;终局失败不足以区分这两步。
- Critic 结合测试与 patch 信息估值,配合过程奖励,对有效定位和错误修改给出更细的训练信号。
任务成功
- 权重最高;要求全部
Fail-to-Pass与Pass-to-Pass通过,兼顾修复和回归稳定性。
行为约束
- 惩罚重复文本、乱码、错误参数、把工具调用写进推理字段、单轮重复调用及过度并行。
失败轨迹进展
- 文件定位用
F₂兼顾精确率与召回率;部分测试通过也能提供奖励。 - 保留有效中间行为的学习信号,同时让完整解决任务保持最高优先级。
Rubric 构建
- 人工分析真实失败轨迹,提取有证据的错误模式、触发条件和适用范围。
- 重点检查故障诊断、修复后验证和执行策略,例如未确认测试入口、修改后漏跑回归测试。
针对性 RL
- 训练样本包含完整轨迹、人工标注的违规规则与理由;剔除含糊标签。
- 奖励提高真实违规项的召回率,并对误报项施加惩罚。
- GRM 判断上下文相关问题,规则 verifier 负责测试结果和格式等确定性信号。
多教师能力融合
专家来源
- SWE、通用 Agent、Terminal、WebCoding、通用知识分别训练专家。
- 先用专家轨迹做学生冷启动,使学生具备基本行为能力,再进入 on-policy 阶段。
学生轨迹上的教师监督
- 学生自己 rollout;对应领域教师在同一前缀上提供 token 分布。
- 用
reverse KL让学生分布靠近教师,避免只学习教师轨迹却无法处理自己的错误前缀。 - 不直接平均专家参数,通过输出分布融合不同领域能力。
教师监督失真
- 学生长轨迹逐渐偏离教师熟悉的状态时,教师在该前缀上的分布也可能不可靠。
Top-k 一致性
- 比较教师与学生
Top-k token的重叠比例;重叠越低,KL 监督权重越小。 - 连续若干 token 低于阈值时,截断其后的梯度,保留此前有效前缀。
- 通过长度分层组 batch,避免长轨迹被截断后逐渐退出训练分布。
实验设置(KAT-Coder-V2.5)
训练数据与算法
- AutoBuilder:
100K+环境 / 12种语言;KwaiClawEnv:100K+验证后任务。 - 专家后训练采用 Asymmetric PPO、规则与 GRM 奖励;统一学生采用冷启动 + MOPD。
- 主体参数规模、完整训练预算与 PPO 超参未给出。
评测任务
- 仓库修复:SWE-bench Pro、内部多语言 KAT Code Bench。
- 工具工作流:PinchBench、覆盖七类业务操作的内部 KAT Claw Bench。
- 终端与科学编程:Terminal-Bench 2.1、SciCode。
评测协议
- 除另行注明外,统一 Claude Code,固定工具、上下文预算、环境与解码设置。
- PinchBench 使用官方榜单 Avg;内部任务结合可执行检查、人工复核与完整轨迹审计。
关键结果(KAT-Coder-V2.5,专家 RL + MOPD)
仓库级任务
- SWE-bench Pro
65.2,高于 GLM-5.262.1,低于 Opus 4.869.2。 - KAT Code Bench
53.1,高于 GLM-5.250.3,低于 Opus 4.857.3。 - 公共与内部仓库任务表现方向一致,说明收益不局限于单一测试集。
多工具任务
- PinchBench Avg
94.9,报告对照中最高;Opus 4.8 为93.5。 - KAT Claw Bench
85.5,接近 GLM-5.286.8,低于 Opus 4.890.7。 - 通用工具榜单领先,仍未覆盖业务交付中更复杂的长任务差距。
终端与科学代码短板
- Terminal-Bench 2.1
60.7,低于四个对照模型;SciCode50.3,接近 GLM-5.250.5。 - 训练聚焦真实仓库与工具工作流,终端综合操作和科学任务仍需单独补强。
有效环境供给
- AutoBuilder 构建成功率
16.5% → 57.2%;模板与可复用配置显著降低环境重建难度。 - 提示恢复使原先零成功的任务约
20%获得成功样本,再生成无提示轨迹用于训练。
RL 反馈可靠性
- Sandbox 反馈错误率约
16% → 2%以下,训练崩溃频率下降约一个数量级。 - 这些结果反映训练信号质量改善;环境故障应先定位到系统层,再判断策略与算法问题。
未来方向
作者提出
- 将可验证环境构建扩展到更多真实场景,提高长程任务的信用分配质量。
- 增强终端和科学编程泛化,缩小专项优化与综合能力之间的差距。
笔记归纳
- 分别检查过程奖励与 hindsight Critic 的贡献,识别额外监督是否真正改善困难决策。
- 在统一训练预算下比较不同 Harness 配比,评估接口多样性与学习效率的取舍。
(2603) KAT-Coder-V2 (五领域专家、MCLA、Tree Training)
🌺 论文摘要
参考链接
问题背景
- SWE、UI、Terminal、搜索的训练信号差异较大,直接混训容易相互干扰。
- 多 Harness 与树状上下文增加环境接入成本、训练冗余和 MoE RL 波动。
核心方法
- 领域专家与数据:五领域分别 SFT + RL;AutoBuilder 从
8K+仓库构建30K任务,再扩展难度、表达和 Harness。 - Agent RL 与系统:Turn-level ratio、MCLA 与 IcePop 缓解训推偏差;Tree Training 复用前缀且恢复独立轨迹梯度。
- 专家蒸馏融合:以
RL + OPD将专长合并到统一模型,避免单一训练流程相互干扰。
模型效果(KAT-Coder-V2,专家 SFT + RL + OPD)
- SWE-bench Verified:Claude Code
79.6、OpenCode74.8、OpenClaw72.8。 - PinchBench
Best 88.7 / Avg 81.9;Terminal-Bench Hard46.8。
重要结论
- 同一模型在不同 Harness 下仍有明显分差,模型能力与交互系统需要一起评估。
- UI 评测需要实际渲染与设计评分,代码可运行不能替代视觉和交互质量。
核心贡献
- 五领域专家后训练与 on-policy 融合方案,以及可复用的 KwaiEnv、MCLA 和树状训练设计。
未来方向
- 笔记归纳:降低专家融合损失,改进跨 Harness 泛化,并分离算法稳定性与系统提速的贡献。
问题背景
能力冲突
- SWE 强调测试通过,WebCoding 强调审美与意图理解,Terminal 强调环境状态与多步执行。
- 各领域的优质数据和奖励不同,需要分别培养专家,再解决单模型融合问题。
环境与计算开销
- 数据、sandbox、Harness 和 verifier 紧耦合时,每增加一个框架都要重复接入。
- 子 Agent、上下文压缩和推理删除会产生分支;逐条训练重复计算大量相同前缀。
核心方法
环境与领域专家数据
任务执行
- Dataset:统一任务、镜像依赖与评分入口;Sandbox:管理创建、运行、回收。
- Scaffold:通过 API 代理接入 Claude Code、OpenCode、OpenClaw 等,无需改其内部流程。
- Verifier:明确答案用执行/规则评分;开放任务用 Judge + Rubric;SWE 执行测试套件。
轨迹到训练
- Trajectory Manager:代理记录模型输入输出、工具序列、token 与时间信息。
- 按算法要求组装、排序和截断轨迹,再交给 RL 引擎;组件分别迭代,共享训练与评测环境。
Issue-PR 静态样本
- 以 merged PR 为锚点,匹配相关 Issue,提取合并前后 diff,恢复发现问题 → 定位 → 修改过程。
- 拆成检索和编辑任务;跨文件修改、多轮 review、关联 PR 构成长上下文样本。
- 过滤自动生成内容和无关依赖改动,语义去重后保留
2M+样本。
AutoBuilder 交互任务
- Dependency、Configuration、Verification Agent 联合安装依赖、配置构建、运行测试。
- 从 commit、Issue 和周边代码生成只说明需求、不泄漏实现的任务描述。
- 同时要求
F2P + P2P,得到30K任务 / 8K+仓库及其 Docker、buggy code、指令、verifier。
代码理解轨迹
- 筛选活跃仓库,固定 commit,并获取项目文档,保证文档和实际代码版本一致。
- 生成概览、定位、实现解析、调用链、改进规划、review 六类问题,覆盖四级难度。
- Claude Code 在对应 Docker 中搜索、读文件、执行命令,生成探索与回答轨迹。
Tri-Perspective Label System
- 将用户感知 → 设计原则 → 技术实现对齐,拆为七级标签。
- 从整体风格逐步确定布局、动画、字体,再落到组件实现与素材清单。
- 简短需求只给出风格时,模型仍需补全一致的设计决策。
Prompt Rewriting
- 收集高质量截图,反推结构化设计描述,生成 HTML,再由设计师筛选。
- 同一 HTML 配置设计师版、专业用户版、普通用户版三种描述。
- 描述约
1000+词 / 200~300词 / 50词,让相同设计质量适配不同信息密度的输入。
可执行任务来源
- 专家编写 DevOps、数据科学、安全等
12类领域任务;多 Agent 同时生成任务、Docker 与测试。 - 将 SWE 转换为 Terminal 格式,形成
100K+可验证任务,覆盖10种语言。 - 整合 CLI-Gym、TermiGen 等,覆盖
420+ CLI工具;每项包含指令、参考解、测试和环境。
多跳问题构建
- 同一搜索轨迹访问的页面天然相关,从中抽取实体与跨页关系,建立知识图谱。
- 采样多跳路径、隐藏关键实体,构造必须搜索和整合证据才能回答的问题。
难度与轨迹过滤
- 先剔除不用工具也能回答的问题;再对每题采样
8次,去掉全对与全错样本。 - 保留答案正确、无失败工具调用、无重复查询的正轨迹,执行 RFT。
- 最终构建
100K+搜索训练样本。
基础能力保持
- 指令遵循:组合格式与内容约束,对具体违规项施加惩罚。
- 通用问答:加入主题切换、跨轮依赖的长对话。
- Code / Math:竞赛编程与数学任务,使用 Online Judge 等验证结果。
Agent RL 与训练系统
任务难度
- 强模型生成轨迹并在 sandbox 验证,保留需要多次反思和修正的困难任务。
意图与 Harness
- 同一 commit 对应多种需求表达,从详细专家指令扩展到简短、含糊的真实用户输入。
- 同一任务使用不同黑盒、白盒 Harness,避免只学习特定工具协议与控制流程。
- 每项 RL 数据包含
环境 + 工具集 + Harness/系统提示 + 任务指令 + verifier。
Turn-level 更新
- 按 Harness 动作边界把轨迹拆为若干 turn,每一 turn 单独计算新旧策略概率比并裁剪。
- 概率变化按动作块处理,避免整条轨迹共用一个 ratio;优势仍来自组级回报信号。
- 该机制细化更新单位,过程奖励和价值估计仍是进一步改善信用分配的方向。
MCLA
- MoE 路由、容量丢弃与数值波动会使同一轨迹的训练 logprob 出现噪声。
- 对同一轨迹 prefill
K=8次,平均 logprob 后用于估计,降低概率噪声对策略更新的影响。 - 配合 IcePop 抑制差异过大的 token,并对齐采样与训练路由,分别处理估计波动与训推错位。
树状轨迹
- 子 Agent 分支、上下文裁剪等使后续请求不再是完整历史的简单追加。
- 将各请求组织为 Trie,以 DFS 展平;公共前缀在同一批计算中只保留一份。
计算等价性
- Attention Mask:每个 token 只访问自己路径的祖先,不能看到兄弟分支。
- Position ID:按原路径位置编号,不使用 DFS 展平后的偏移。
- Loss Weight:共享 token 按原始独立轨迹中的贡献加权,恢复对应梯度。
KRL 执行
- Sandbox 并发运行任务,SGLang rollout;计算奖励并打包后切换到 Megatron 更新参数。
- Cache-aware 调度提高 KV Cache 命中,Dynamic Streaming 协调交互与训练。
专家蒸馏融合
学生自己采样
- 学生在混合领域任务上 rollout,每题选择表现最好的领域专家作为 Teacher。
- Teacher 在学生实际前缀上给出 logprob 监督,指出生成过程中的局部偏差。
联合目标
- RL loss:环境反馈保证最终任务成功;OPD loss:专家给出更密的生成监督。
- 使用 logprob 监督,降低完整词表 logits 蒸馏的开销。
- 避免直接平均参数;融合后仍可能有少量能力损失,主要来自容量与领域干扰。
实验设置(KAT-Coder-V2)
模型与训练
- 从 KAT-Coder-V1 继续后训练;五领域各自 SFT + RL,最终学生联合 RL + OPD。
- SWE:
2M+ Issue-PR / 30K可验证任务;跨领域 Agentic Scaling:100K+ RL样本。 - MCLA
K=8;代码理解每题最多150轮;完整模型规模与训练超参未给出。
SWE 与工具任务
- SWE-bench Verified、Multilingual、SWE-rebench-V2 子集,使用各 Harness 原生协议与系统提示。
- PinchBench、Claw-Eval 使用 OpenClaw;另评测 Terminal-Bench Hard、τ₂ Telecom、AA-LCR、IFBench。
UI 评测
- 任务覆盖 Landing Page、Slides、数据可视化,输入均为普通用户表达。
- 专业设计师盲评;Chrome
1920×1080,实际滚动、hover、点击,检查视觉与动态交互。 - Landing Page
10维,Slides / 可视化5维,每维0~5锚点评分。
关键结果(KAT-Coder-V2,专家 SFT + RL + OPD)
SWE 能力与系统依赖
- SWE-bench Verified:Claude Code
79.6、OpenCode74.8、OpenClaw72.8。 - 同环境 Opus 4.6 为
80.8 / 75.0 / 75.7,V2 接近其表现,但跨 Harness 分差仍明显。 - SWE Multilingual 在 OpenCode 达
71.2,对照70.2,说明能力覆盖到多语言仓库。
工具工作流
- PinchBench
Best 88.7 / Avg 81.9;对照 Opus 4.6Best 87.4 / Avg 82.3。 - 最佳分数更高,平均表现仍略低;挑选最佳运行与日常稳定性是不同维度。
- Claw-Eval Avg
73.4,低于 Opus 4.679.3,复杂真实交付仍有差距。
UI 与通用任务
- Landing Page / Slides / 可视化:
59.8 / 57.6 / 67.6,均高于 GLM-5、Kimi K2.5。 - Terminal-Bench Hard
46.8、τ₂ Telecom93.9,体现跨任务专家融合的实际能力。 - IFBench
67.0,低于 GLM-572.3,说明指令遵循仍需独立关注。
共享计算
- Tree Training 最高约
6.2倍训练加速,来自消除树状轨迹的重复前缀计算。 - KRL 结合调度与流水线,使单位样本成本约降低
2.8倍。 - 前者对应训练计算,后者包含系统调度收益,不能直接把两个倍数相乘。
未来方向
融合与泛化
- 减少多领域融合对单专家能力的损失,并检查真实用户含糊需求下的稳定性。
- 扩展跨 Harness 对照,分析工具协议、上下文管理和控制流程分别造成多大差异。
RL 训练效率
- 给 turn 引入更直接的过程价值信号,进一步改善长程信用分配。
- 比较 MCLA 重复 prefill 的成本与稳定性收益,结合 Tree Training 控制训练开销。
(2510) KAT-Coder (EM-SFT、Trie Packing、Agentic RL)
🌺 论文摘要
参考链接
问题背景
- 静态代码监督难以覆盖真实 IDE 的错误恢复、工具交互与上下文切换。
- 训练数据偏向 Python bug 修复,语言、开发领域和任务类型不够丰富。
核心方法
- MidTrain 与 SFT:约
20B tokens工程语料,1M+指令样本覆盖20+语言 × 10场景 × 10任务类型。 - 工作流适配与 RFT:EM-SFT 屏蔽错误动作,TST 按上下文边界拆轨迹;多参考轨迹纠偏、规则验证后做 GRPO。
- Agent RL:Trie Packing 复用前缀;按任务难度与策略熵调整优势的更新权重。
模型效果(KAT-Coder,四阶段训练)
- Claude Code 下 SWE-bench Verified
73.4;AIME 202572.5,LiveCodeBench v648.2。
重要结论
- 错误动作、错误反馈和恢复动作应区别处理:保留交互语境,避免把失败调用本身作为正向监督。
- 仓库级修复与单轮代码题的能力分布不同,不能用单一代码 benchmark 替代部署评测。
核心贡献
- 真实开发工作流的数据与训练方案;同时开放系列中的 KAT-Dev-32B 模型。
未来方向
- 多模态 Agent 协作、长程记忆与分层规划,扩展到 GUI 和文档操作。
问题背景
任务覆盖不足
- 实际开发包含重构、性能优化、测试生成、部署等,不能只训练 Python bug 修复。
交互过程复杂
- IDE 中有调试器、linter、包管理器等多种工具,错误调用和冗余调用较多。
- 上下文压缩、截断与模式切换产生分支,不能把所有轮次强行拼为一条连续对话。
核心方法
MidTrain 与 SFT 数据
真实工程与推理
- 从 GitHub 收集约
20B tokens,包括 PR、Issue、commit 和 diff,学习需求到代码演进的联系。 - 用开源推理模型生成 SWE、STEM 与逻辑任务的 CoT,补充规划、分析与反思。
交互与约束
- 模拟
Plan → Action → Observation,根据环境反馈调整计划。 - 加入可验证的逻辑、格式和组合约束,训练复杂指令的一致性与可控性。
来源与覆盖
- 分析 GitHub 和 Stack Overflow 中的 diff、review、问答与开发意图。
- 语言覆盖 Python、Java、TypeScript、C/C++、Go、Rust 等
20+种。 - 场景覆盖应用、系统、UI、数据、数据库、机器学习、算法、测试、架构和专用领域。
任务类型
- 实现、增强、修复、重构、性能优化、解释文档、分析、生成、测试、配置部署,共
10类。 - 在三维分类中平衡采样,得到
1M+ SFT样本,减少高频语言和任务挤占训练数据。
工作流适配与 RFT
Error-Masked SFT
- 将早期 KAT-Coder 接入 Claude Code、Cline、Roo Code、CodeFlicker,采集实际工具交互。
- 根据执行反馈识别错误工具调用,仅屏蔽其生成 token 的训练 loss。
- 错误动作与报错仍留在上下文,后续纠正动作继续参与学习。
Tree-Structured Trajectory Training
- 按压缩点、上下文切换与模式转换拆分轨迹,得到局部语义连贯的子树。
- 在子树内执行 SFT,保持模型实际看到的上下文结构。
- 例如错误参数被工具拒绝:不强化错误调用,但学习读取报错后如何改正参数。
采样与纠偏
- 同一问题采样多条输出,使用多条正确参考轨迹作为检查与修正信号。
- 对偏离参考的轨迹进行在线纠偏;偏离严重时提前结束并重采样,减少无效 rollout。
奖励与更新
- 修正后的候选经过规则测试,得到可解释的奖励。
- 在 GRPO 框架下组内聚合、归一化,计算各候选优势并更新策略。
- 参考轨迹用于训练阶段提供方向,最终奖励仍需通过规则测试。

Agent RL
打包
- 多条轨迹构成 Trie;在显存限制下,用动态规划与贪心策略提高公共前缀复用率。
- 与推理 prefix cache 不同,训练必须保留各后缀对公共前缀的反向梯度贡献。
正确性
- 树状 Gradient Scaler 恢复不同分支对共享部分的梯度权重。
- 自定义 Attention Mask 隔离兄弟分支;Position Embedding 保持原轨迹中的位置。
- 目标是在前向与反向中都减少重复计算,同时保持原训练目标。
组间难度
- 任务组成功率为
r̄ᵢ,难度定义为Dᵢ=1−r̄ᵢ。 - 难度高于 batch 平均的组获得更大缩放权重;容易任务相应降低。
组内不确定性
- 同组中,策略熵高于平均的样本再增加权重,保留尚未收敛的探索方向。
αᵢ调整任务组权重,βᵢⱼ调整组内样本权重;它们作用于原来的 advantage。- 例如正优势被放大时加强该行为;负优势被放大时加强抑制,全零优势不会凭空变为奖励。
实验设置(KAT-Coder)
模型与数据
- KAT-Coder:MidTrain + SFT + RFT + Agentic RL;主模型参数量和完整优化超参未给出。
- 真实工程语料约
20B tokens,SFT1M+样本;系列另开放 KAT-Dev-32B。
评测任务
- SWE-bench Verified 使用 Claude Code;代码生成用 LiveCodeBench v6、HumanEval。
- 推理与知识用 AIME 2025、GPQA-Diamond;工具与指令用 τ₂ Retail、IFEval。
- 主要对照:Qwen3-Coder-480B、Kimi-K2-0905、Claude 4 Sonnet。
关键结果(KAT-Coder,MidTrain + SFT + RFT + Agentic RL)
仓库级修复
- SWE-bench Verified
73.4,报告对照 Qwen3-Coder69.6、Claude 4 Sonnet72.7。 - 表现较强的环节是完整交互修复,包含定位、修改和测试反馈利用。
单轮代码与推理
- LiveCodeBench v6
48.2,与 Qwen3-Coder 持平;HumanEval96.3,低于 Sonnet98.2。 - AIME 2025
72.5,高于 Qwen3-Coder44.3和 Sonnet70.5,保留了数学推理能力。 - 仓库修复的优势并未转化为所有单轮代码任务领先,应分别观察能力变化。
工具、指令与知识
- τ₂ Retail
62.3,接近 Sonnet64.2;IFEval86.0,低于 Kimi89.3。 - GPQA-Diamond
68.2,接近 Sonnet68.7,但通用知识仍不是最突出优势。
未来方向
作者提出
- 扩展代码执行、GUI 操作、文档编辑等多模态协作场景。
- 增加持久记忆与分层规划,支持更长、更复杂的工程任务。
笔记归纳
- 分别消融 EM-SFT、参考纠偏与优势缩放,区分数据质量、探索策略和计算效率的收益。
- 检查真实 IDE 中长期任务的约束保持与错误恢复,补充单次 benchmark 之外的可靠性评测。