
7月快手KwaiKAT团队发布了KAT-Coder-V2.5在PinchBench上拿下智能体工具调用第一在SWE-Bench Pro上仅次于Opus 4.8。现在开源版KAT-Coder-V2.5-Dev来了。KAT-Coder-V2.5-DevMOE架构总参数350亿激活参数30亿在相近参数规模的模型中智能体编程Agentic Coding做到了当前最优。KAT-Coder-V2.5-Dev选了采用广受认可的Qwen3.6-35B-A3B作为后训练的基础模型。这个规模跑在消费级显卡上非常适合快手选择它做后训练基础模型系统性地概述在数据与算法方面的突破让社区能参与进来。训练分两步。先在127K样本上做SFT监督微调再在SFT模型上跑RL强化学习。数据构建、训练流程、优化策略基本照搬V2.5的方案。团队在技术报告里反复强调一个判断做智能体编程瓶颈不在模型规模在训练基础设施。可执行的沙箱环境太难规模化构建。真实仓库的依赖、构建系统、测试框架千差万别naive的做法会悄悄放进一堆根本跑不起来的环境。轨迹质量不能只看最终测试通没通过。有些通过的轨迹靠的是硬编码、绕过机制、面向测试的捷径有些失败的轨迹里搜索、定位、修复的行为其实很有价值。长程RL训练不稳定奖励稀疏环境反馈不可靠信用分配粗糙。V2.5的整套方案就是围绕这些问题展开的。Dev版继承了这套方案。环境和数据怎么来的V2.5搭了一个叫AutoBuilder的环境构建引擎。它把真实仓库重建成可复现、可执行、可验证的沙箱环境。具体流程是这样的。从真实的Pull Request和Commit里挖任务拿到golden patch代码补丁和test patch测试补丁。但原始的issue描述往往模糊、不完整、跟最终合并的代码对不上所以团队从这些可验证的产物出发重新生成结构化的任务描述包含问题陈述、行为需求、接口约束3个部分。再做一轮清晰度检查把含糊的、自相矛盾的样本剔掉。环境构建本身是个agent驱动的循环。一个build agent分析仓库生成配置脚本装依赖、跑测试一个verification agent在隔离沙箱里执行脚本验证结果。验证标准不看命令退出码不看日志表面模式而是解析测试框架的结构化输出只有超过90%的预期测试被收集到、且多次运行结果可复现才算通过。失败就把结构化错误信息喂回build agent迭代修复。配合预配置的基础环境、语言和构建系统模板、可复用的构建配方库环境构建成功率从16.5%拉到了57.2%最终产出超过10万个可验证环境覆盖12种编程语言。数据这边V2.5设计了一个数据缩放飞轮。很多失败轨迹其实是差一点就成功的。模型找到了相关代码区域但漏了关键一步比如没读那条决定性的测试断言没匹配上精确的schema。团队用两阶段hint-in-the-loop来救这些轨迹。先注入过程级提示告诉模型该看什么、该验证什么但不透露答案这一步就把之前零通过的任务通过率拉到了约20%。然后固定验证通过的补丁从原始任务上下文重新生成一条无提示轨迹只保留通过验证、无提示泄漏、与补丁一致的样本。提示只是临时脚手架最终训练数据忠于原始任务分布。团队用规则门控加启发式过程打分来过滤。规则层去掉无效、不稳定、exploitative的轨迹打分层评估探索、定位、编辑前推理、规格保真度、仓库惯例遵循、补丁最小性、验证质量、恢复行为、诚实度等维度。捷径型成功被降权或移除可挽救的近似失败被送回恢复管线。为了让模型不只在单一Harness执行框架下会做题团队还做了Harness重写。随机化工具名、参数格式、输出格式、prompt模板注入依赖缺失、命令瞬时失败、输出截断、噪声日志等扰动。验证锚定在结构化测试结果上跟Harness无关所以同一个任务可以在多种等价Harness配置下重新出题。通用智能体能力这边V2.5搭了KwaiClawEnv。Service层构建原子能力单元支持人写的Skill和LLM生成的Service经过自动验证后才进入下游Task层从真实任务种子出发通过参数扩展、约束增强、工具链编排生成变体并行rollout记录完整交互轨迹Eval层做多阶段过滤硬规则去不安全、无效、幻觉轨迹LLM-as-Judge从语义正确性、执行效率、交互自然度3个维度打分。质量信号回传前两层形成闭环迭代。Service层用双源策略。解析OpenClaw等开源社区的标准Skill定义生成成功率超90%对欠覆盖领域用类别引导的LLM生成新变体。Task层生成数百万候选任务多阶段验证后保留超10万高质量实例轨迹平均15次工具调用最长超100步。训练的核心设计RL阶段Dev版保留了V2.5验证有效的4个关键设计。1Token-in-Token-outTITO一致性。主流推理引擎的chat接口会内部重新apply_chat_template、重新分词长程智能体任务下token漂移不可忽略。V2.5团队在约200轮规模的智能体任务上观测到约40%的样本存在retokenization drift。他们的做法是绕过chat接口所有请求直接走推理后端的/generate端点从源头消除漂移保证每个可训练token跟rollout时行为策略发出的token完全一致。Dev版沿用了这个设计。2截断重要性采样Truncated Importance SamplingTIS。异步rollout天然带来策略陈旧和离策略问题重要性权重过大时方差爆炸。TIS对权重做截断压住不稳定性。3可靠的沙箱与验证器。V2.5早期训练频繁崩溃奖励曲线爬升极慢。团队一开始以为是RL算法的问题后来扩大样本量、引入更深监督后才发现大量训练失败根源在环境。抽样审计早期rollout约16%的轨迹包含至少一次沙箱本身导致的失败而非模型策略的问题。最严重的情况一次沙箱边界错位就能让后续约40步的观测全部为空整条轨迹的奖励信号报废。稳定性方面RL训练要并发拉大量容器镜像镜像体积又大物理磁盘峰值使用率到95%垃圾回收几乎不停跑超时导致的无效rollout占6%到7%。重新设计镜像管理模块、引入提前释放策略后稳态磁盘使用率降到60%超时无效rollout降到1%以下。执行正确性方面某些系统环境变量在远程沙箱初始化时被覆盖导致验证器读错变量、产出错误验证结果修复前这类问题污染了约6%到7%样本的奖励信号修复后降到1%以下。整体沙箱反馈错误率从约16%降到2%以下训练崩溃频率降了约一个数量级。4基于Harness执行反馈的分层奖励。V2.5设计了3层结构化规则奖励。Core Task Score权重最高只有fail_to_pass和pass_to_pass测试全部通过才给满分防止生成无效代码、绕过逻辑、弱化测试等reward hacking。Standard Behavior Constraints在全轨迹上施加辅助惩罚覆盖内容重复率、乱码率、工具调用准确率、异常工具调用位置、单轮重复调用、并行调用过多等维度。Failed Trajectory Incentives给失败轨迹中有意义的进展赋正奖励包括文件搜索准确率的F2分数和单元测试通过率让不完整的轨迹也有训练价值。规则奖励之外V2.5还训练了一个专门的judge模型GRM用轨迹级rubric做模型打分覆盖故障诊断与复现、修复后验证、执行策略3个维度。GRM本身也经过RL训练用历史轨迹配人工标注做样本优化recall和false positive的平衡。算法层面V2.5用PPO近端策略优化做骨架配合GAE广义优势估计做turn级信用分配。在整个训练过程中奖励呈现出持续稳定的上升趋势。Dev版在RL阶段还遇到了一个Qwen3.6特有的问题。简单的二元0到1奖励在第二个epoch就把模型训崩了。分析轨迹发现随着训练推进模型越来越倾向于在单个回合内发出大量并行工具调用有时超过70次。上下文长度迅速膨胀产生大量无效轨迹和执行错误RL训练彻底不稳定。为解决这个问题团队在原有分层奖励的基础上增加了许多针对 Qwen3.6 的惩罚项。例如单回合过多并行工具调用、工具调用失败、空的工具调用块、大量重复内容。这些调整压住了病态行为RL训练稳定跑完了10个epoch。在整个训练过程中奖励也呈现出持续稳定的上升趋势。最终Dev版在相近参数规模中性能做到了智能体编程SOTA。350亿总参数、30亿激活参数跑在消费级硬件上非常香。KAT-Coder-V2.5-Dev开源把V2.5验证过的整套后训练方案环境构建、数据飞轮、Harness随机化、沙箱加固、非对称PPO、分层奖励、多教师蒸馏等交给了社区。Qwen3.6上踩过的坑和对应的奖励调整也一并公开。30亿激活参数这个量级的智能体编程模型对开源社区是一份相当完整的参考。参考资料https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Devhttps://arxiv.org/pdf/2607.05471https://modelscope.cn/models/Kwaipilot/KAT-Coder-V2.5-Dev/summary