Cognition 推出 SWE-1.7,接近 GPT 5.5 与 Opus 智能水平
阅读原文· cognition.comCognition 把 RL 训练的编码模型推到了和 GPT-5.5 叫板的水平,成本还低得多,做代码 agent 的值得认真看看他们的训练稳定性、多集群等思路。
Cognition 发布迄今最强模型 SWE-1.7,基于 Kimi K2.7 基座训练,通过强化学习管线改进(基础设施、训练稳定性、数据质量、长程任务技术)实现前沿智能水平并大幅降低成本。在 FrontierCode 1.1 Main 基准上达 42.3%(Kimi K2.7 Code 为 30.1%,GPT-5.5 为 43.0%,Opus 4.8 为 46.5%),Terminal-Bench 2.1 达 81.5%,SWE-Bench Multilingual 达 77.8%。模型针对长周期异步任务优化,现已在 Devin(Web、桌面、CLI)通过 Cerebras 以 1000 TPS 提供。
今天,我们发布了 SWE-1.7,这是迄今为止我们训练过的最强模型。它以更低的成本达到了前沿水平的智能,推动了成本-性能帕累托曲线的前进。
SWE-1.7 是我们 RL 流程全面改进的成果:更好的基础设施、更稳定的训练、更高质量的数据,以及针对长周期任务的新技术。由于 SWE-1.7 是基于已经经过大量 RL 后训练的 Kimi K2.7 底座训练的,我们自身训练所带来的巨大额外增益挑战了“后训练天花板”这一观点,并表明 RL 可以将能力推至远超此前认知的水平。
在 Cognition,我们一直在制定并完善构建优秀智能体软件工程的原则,无论是在评测方面(通过 FrontierCode1,2),还是在训练方面(通过 SWE-1.7)。我们的模型特别针对更长周期的异步任务进行了优化,这是高质量软件工程的重要组成部分。
SWE-1.7 即日起可通过 Cerebras 在 Devin(网页版、桌面版和 CLI)中使用,速度达 1000 TPS。我们鼓励您亲自尝试!
| 基准测试 | SWE-1.7 | Kimi K2.7 Code | GPT-5.5 | Opus 4.8 | Opus 4.7 | GLM-5.2 | Composer 2.5 | SWE-1.6 |
|---|---|---|---|---|---|---|---|---|
| FrontierCode 1.1 Main | 42.3% | 30.1% | 43.0% | 46.5% | 38.5% | 24.5% | 25.6% | 9.4% |
| Terminal-Bench 2.1 | 81.5% | 72.7% | 84.2% | 86.9% | 83.0% | 81.0% | 76.0% | 39.7% |
| SWE-Bench Multilingual | 77.8% | 73.5% | 76.8% | 84.4% | 80.5% | 74.5% | 71.6% | 58.3% |
本文的其余部分将介绍我们如何训练 SWE-1.7:模型背后的基础设施、算法和数据工作。我们将重点介绍四个重要的组成部分。
- 保持熵并稳定训练:长时间运行的 RL 面临两个棘手问题:熵坍缩,以及由于训练和推理之间的数值漂移导致的不稳定性。我们追查并解决了每个问题的成因,这使得训练能够持续改进,远超此前运行停滞的点。
- 多集群训练与容错:RL 并不需要其所有推理计算都在一个集群中完成。我们在横跨三大洲的集群上进行了训练,通过对象存储传输权重更新,并构建了容错机制,使得硬件故障永远不会中断运行。
- 策划高质量数据:我们构建了一个广泛的数据质量流水线,通过自动化执行测试来运行每个任务,过滤掉学习信号低的任务,并对任务进行加固以防止奖励破解。
- 针对长周期任务的自我压缩:模型学会总结其工作状态并从摘要中恢复,从而将任务周期扩展到原始上下文窗口之外。我们使用交替的长度惩罚来激励简洁的输出,同时不牺牲正确性。
最后,我们通过分享一些关于有趣行为倾向的观察来结束本文,例如仔细探索和简洁推理,这些行为是模型因我们的训练设置而获得的。
保持熵与稳定训练
我们发现训练稳定性是在大规模下实现可预测改进的关键因素。
在使用异步 RL3 进行训练时,我们遇到的最成问题的问题之一是推理和训练之间的 KL 散度不匹配4,因为训练器策略通常与采样策略不同。过去,为了纠正这一点(尽管规模较小),我们使用了重要性采样5和量化感知训练,用于 NVFP4 + 专家路由回放6,7 中的低精度 rollout。
在此,我们介绍在大规模下变得更加重要的额外干预措施。
我们发现 top-p 采样8 对于防止熵崩溃9,10 有显著贡献,在熵崩溃中,一个强大的模型会在几百步内停止探索,奖励也趋于平稳。
概率极低的 token 通常是那些已经偏离轨道或分布外轨迹的一部分。这些轨迹很可能产生低奖励,而 softmax 函数的性质导致这些 token 使 token 概率分布变得尖锐。实际上,假设我们有三个 token,其 logits 和概率分别为 ,其中 token 3 是一个导致低奖励的低概率 token。如果我们采样 token 3,其 logprob 相对于 logits 的梯度为:
并且对 logits 的策略梯度更新为 ,其中 是采样 token 的优势。由于该轨迹获得的奖励较低,并且更新
在这些更新中,低概率 token 会受到惩罚,而高概率 token 的增长幅度更大。因此,采样会进一步拉大已占主导地位的 token 的领先优势,使分布更加尖锐并降低熵值。Top-k 采样从一开始就阻止这些低概率 token 被采样并用作优化目标!
这种保持熵值的效果使得 top-k 采样在我们的模型自生成(rollout)中备受青睐。但朴素地实现 top-k 采样显然会加剧训练与推理之间的不匹配——训练器从所有 token 中计算概率分布,而模型自生成则从 top-k 子集中采样,因此两者的分布差异更大,导致经过少量步骤后训练就会崩溃。因此,我们实现了采样分布重放(sampling distribution replay)技术,即在模型自生成时记录可供采样的保留 token 集合,并在训练器中利用这些掩码重新归一化概率。通过这一修正,我们运行中的熵值在训练过程中大致保持恒定,且推理-训练分布差异也保持在可控范围内。
使用 top-p 采样重放的另一个有趣结果是,它仅针对概率低于特定阈值的 token。概率高于该阈值的 token,其保留集大小为 1,因此重新归一化后的概率分布恒为 1,梯度被清零。我们通过实验发现,模型采样到的 token 中有很大一部分的概率高于标准 top-p 阈值,因此它们被排除在整体梯度计算之外。这减少了梯度噪声,使优化算法能够专注于轨迹中具有高学习信号的 token。
我们还发现使用 Muon 优化器并消除训练器中的非确定性操作能带来额外收益。
多集群训练
Cognition 是一家快速发展的研究实验室,正进入一个高度受限于算力的成熟领域。我们的目标是训练万亿参数级别的模型,但如今,在单一网络架构上拥有 10k 到 100k 芯片的大型集群属于稀缺资源。相比之下,如果能够正确协同使用,全球范围内的小型集群则相当充裕。
在这种设定下,强化学习的结构对我们有利。强化学习天然可以跨多个集群分解。只有训练器必须位于单个高带宽集群上。负责生成轨迹数据的推理引擎是自包含的,它们可以在任何地方运行,除了当前权重之外不需要任何东西。
我们投资了利用这一特性的基础设施。我们的强化学习训练横跨三大洲的四个数据中心,将我们自身跨多个集群的 GPU 与来自 Fireworks 等推理提供商的额外算力相结合。其结果是,我们能够将强化学习训练的规模扩展到远超任何单个集群所能允许的程度。
这种设置的核心挑战在于,在每次优化器步骤之后,让所有推理引擎与训练器权重保持同步。我们希望这些权重更新足够快,以减少轨迹数据的陈旧性,从而能够使用更激进的学习率进行训练。
简单地将完整模型从一个集群广播到另一个集群会既慢又低效。相反,每经过 K 个梯度步骤,我们计算并发送当前权重与之前权重之间的压缩权重增量,这将每次传输的数据量减少了 99% 以上。
我们并非将权重直接从训练器流式传输到每个推理集群,而是使用云对象存储来维护权重版本的单一事实来源。在训练器上传新的权重增量后,推理引擎几乎可以在不中断推理的情况下完成更新。每次训练运行在每个涉及的集群中都有一个权重控制器,负责管理该次运行的权重版本生命周期。权重控制器轮询对象存储以获取新的清单文件,训练器在每次更新后会写入这些清单。当发现新的增量时,它会指示工作节点下载各自的分片,然后通过树形广播将这些分片复制到本地磁盘。同一个对象存储还负责将路由矩阵和 top-p 掩码从推理引擎传回训练器。
每个推理引擎在继续处理推理轨迹的同时,将增量预取到 CPU 内存中。只有当增量完全就绪后,引擎才会短暂暂停,将其原地应用。正在处理中的轨迹可以直接在新权重上继续运行,其 KV 缓存保持不变。
采用这种方法,跨洲际更新一个 1T 参数模型的权重,端到端只需 1–2 分钟。整个过程异步进行,除了更新时 3–4 秒的推理暂停外,不会阻塞训练或推理。
容错
在大规模系统中,硬件故障持续发生,如果每次故障都全局重启,长期运行将无法实现。我们的架构根据故障发生的位置——推理引擎或训练器——采用不同的处理方式。
推理侧的故障本身成本较低。引擎是自包含的,除当前权重外不持有任何状态,因此一个引擎宕机仅损失其正在处理的会话。我们使用 NVIDIA Dynamo 管理引擎生命周期并路由推理:每个智能体沙箱都有自己的代理,记录输入和输出的 token,因此如果某个副本宕机,我们不会丢失完整的推理轨迹,Dynamo 会将其重新路由到另一个工作节点。当 Dynamo 在健康节点上重新调度副本时,我们的权重控制器会从对象存储加载最新的检查点,并从该检查点版本重放一系列增量。
训练器是故障成本最高的地方:它是唯一紧密耦合的组件,一个节点宕机就会拖慢整个集群。为了快速恢复,每个节点在每一步都会异步检查点到本地磁盘,并将其分片复制到对等节点,因此宕机节点的状态可以在数秒内从副本重建。如果容量仍然不足,运行会按整个数据并行副本缩减,待节点恢复后再重新扩展。在整个过程中,数据生成管线保持热状态。训练器重启后,缓冲区策略会选择使用哪些累积的生成数据,并防止因中断期间训练-推理吞吐量不平衡而导致的偏差。
面向长周期任务的智能自压缩
从一开始,我们构建 Devin 就是为了完成异步、长时间运行的任务。SWE-1.7 直接在 Devin 框架内进行训练,因此我们自然希望在自己的模型上训练更长周期的任务。这带来了两个挑战。首先,任务展开的时长可能远远超出原始上下文窗口的限制。其次,正如 DeepSeek R1 所展示的,在推理任务上进行强化学习往往会产生越来越长的响应,但我们希望模型在推理时保持高效,仅在困难任务上展开详细思考。
我们通过训练自我压缩能力和交替长度惩罚机制来解决这些问题。
- 当智能体接近上下文限制时,我们要求它总结自己的工作状态,然后让它从自己编写的摘要中恢复运行。在训练过程中,模型同时学习(1)编写信息更丰富、更简洁的摘要,以及(2)更好地利用和基于此类摘要进行工作。我们最初在 Kevin15 中引入了这种方法的一个版本,当时我们将其用于内核优化任务的探索。通过自我压缩,我们在 SWE-1.7 训练运行期间的任务展开时长可达六小时。
- 我们没有在整个训练过程中统一应用长度惩罚,而是采用了一种交替策略。在无约束阶段,模型仅针对任务成功进行优化。在预算阶段,我们会惩罚那些超出加权成本函数特定预算的解决方案,该成本函数包括 token 数量、轮次以及工具调用所花费的总时间。通过这种结构,模型能力范围内的任务响应长度趋于压缩,而困难任务上的长周期行为则得以保留。
数据质量
数据是决定我们模型学习何种能力与技能的核心因素。因此,我们确保训练所用的数据经过校准且难度足够,并抑制不良行为以保持模型良好的对齐。我们主要关注以下几个方面:
- 验证器质量:任务的验证器可能在两个方向上出错:接受错误的解决方案(误报)或拒绝正确的解决方案(漏报)。我们设计了广泛的质量保证流程,以最大限度地减少训练中误报和漏报的出现。
- 难度:在模型总能解决或总是无法解决的任务上,我们观察不到任何有意义的学习信号。因此,我们精心筛选了模型仅能低概率解决的训练数据,这既能产生真实的学习信号,同时又能推动模型智能的提升。
- 作弊检测与防范:我们采用了多种防御手段来应对不同形式的作弊行为。例如,我们对沙箱环境进行了网络限制,并移除了其中的 Git 历史和参考工件。我们还隔离了评分路径与智能体本身。此外,我们采用了程序化检查来捕获已知的漏洞利用特征。最后,为确保激励措施得当,我们对任何包含作弊尝试的轨迹(无论是否成功)均给予 0 奖励。
结果:模型行为
由于进行了大量的强化学习,SWE-1.7 展现出与其基础模型 Kimi K2.7 Code 显著不同的行为。首先,它比 K2.7 或其他前沿开源模型更加对齐且值得信赖。我们在配套博文《衡量开源衍生模型的可信度》中对此进行了详细阐述。
我们在 SWE-1.7 中注意到的另一个行为差异是压缩的思维链。与 Kimi-K2.7-Code 相比,SWE-1.7 的首次思维链具有更低的虚词占比(作为语法“粘合剂”的词汇比例),且平均每句单词数几乎减半。我们认为这直接受到了我们交替长度惩罚中的预算阶段的影响。我们在下方下拉菜单中提供了几个压缩思维链的示例。
我们观察到的另一个主要行为差异是,SWE-1.7 在行动前对代码库的探索要彻底得多,这可以从模型执行的工具调用次数、文件读取次数和搜索次数中看出。
这一点在缺陷修复中体现得最为明显。一份缺陷报告通常描述一个主要症状,但底层问题往往影响更大的范围。与 Kimi-K2.7-Code 相比,SWE-1.7 更倾向于调查缺陷的根本原因,并考虑边界情况、假设性场景、对抗性输入以及超出需求范围的要求。通过其增强的代码库探索能力,SWE-1.7 在理解需要做出的确切设计决策方面也做得更好。此外,我们观察到 SWE-1.7 倾向于通过实验和试探来解决歧义语义,例如编写小型 Python 脚本,而不是进行猜测。
我们认为这些行为直接源于我们为剔除数据中的假阳性和假阴性而采取的广泛质量保证措施,这迫使我们的模型提出更完整、端到端的解决方案。我们认为 SWE-1.7 增强的尽职调查能力直接转化为在各种基准测试上的更高性能。我们在下面的下拉菜单中附上了一些示例轨迹。
额外的思考带来了变更范围略微增加的微小代价。正如 FrontierCode1 中所述,一个好的解决方案只修改所需的最少文件集,而不触及无关代码或引入不必要的重构。由于 SWE-1.7 推理更多,它做的也更多:编写额外的测试用例,并触及比任务本身要求更多的文件。我们注意到整个行业的模型都存在这一趋势:随着推理能力的提升,模型所触及的文件范围也在扩大。这是我们期待改进的一个方面。
评估方法
- 所有模型均在其最大推理能力下进行评估。
- Terminal-Bench 2.1:我们在自己的内部评估框架上进行评估,对 Anthropic 模型使用 Claude Code,对 OpenAI 模型使用 Codex,对其他模型使用 Devin CLI,超时时间设置为 4 小时。
- SWE-Bench Multilingual:我们尽可能使用自行报告的数据,否则在 Devin CLI 上进行评估。
- FrontierCode 1.1:请参阅我们的博客文章。
参考文献
- [1]E. Lu, B. Pan, D. Birlikci, S. Lee, R. Wang, R. Choudhury, F. Ma, TC Qin, C. Baronio, and S. Alberti, "Introducing FrontierCode," 2026年6月. cognition.com/blog/frontier-code
- [2]E. Lu, B. Pan, F. Ma, A. Lombardi, D. Birlikci, S. Lee, R. Wang, R. Choudhury, TC Qin, C. Baronio, J. Teo, J. H. Lee, and S. Alberti, "FrontierCode 1.1," 2026年7月7日. cognition.com/blog/frontier-code-1.1
- [3]A. Piché 等人, "PipelineRL: Faster On-policy Reinforcement Learning for Long Sequence Generation," arXiv:2509.19128, 2025.
- [4]F. Yao 等人, "Your Efficient RL Framework Secretly Brings You Off-Policy RL Training," 2025. fengyao.notion.site/off-policy-rl
- [5]B. Pan, C. Baronio, A. Tam, P. Marsella, M. Jain, D. Chiu, Swyx, and S. Alberti, "Introducing SWE-grep and SWE-grep-mini: RL for Multi-Turn, Fast Context Retrieval," 2025. cognition.com/blog/swe-grep
- [6]"Stabilizing MoE Reinforcement Learning by Aligning Training and Inference Routers" (Rollout Routing Replay, R3), arXiv:2510.11370, 2025.
- [7]C. Baronio, B. Pan, S. Lee, E. Lu, S. Cao, R. Choudhury, A. Zweiger, R. Wang, G. Chang, and S. Alberti, "An Early Preview of SWE-1.6 and Research Update," 2026年3月. cognition.com/blog/swe-1-6-preview
- [8]A. Holtzman 等人, "The Curious Case of Neural Text Degeneration," arXiv:1904.09751, 2019.
- [9]G. Cui 等人, "The Entropy Mechanism of Reinforcement Learning for Reasoning Language Models," arXiv:2505.22617, 2025. arxiv.org/abs/2505.22617
- [10]S. Yu 等人, "DAPO: An Open-Source LLM Reinforcement Learning System at Scale," arXiv:2503.14476, 2025. arxiv.org/abs/2503.14476
- [11]DeepSeek-AI, "DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models," arXiv:2512.02556, 2025. arxiv.org/abs/2512.02556
- [12]K. Jordan 等人, "Muon: An optimizer for hidden layers in neural networks," 2024. kellerjordan.github.io/posts/muon — 另见 J. Liu 等人, "Muon is Scalable for LLM Training," arXiv:2502.16982, 2025.
- [13]Fireworks AI, "Frontier RL Is Cheaper Than You Think," 2026. fireworks.ai/blog/frontier-rl-is-cheaper-than-you-think
- [14]DeepSeek-AI, "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning," arXiv:2501.12948, 2025. arxiv.org/abs/2501.12948
- [15]C. Baronio、P. Marsella、B. Pan 与 S. Alberti,《Kevin-32B:用于编写 CUDA 内核的多轮强化学习》,2025 年。cognition.com/blog/kevin-32b
- [16]Kimi 团队,《Kimi K2.5:视觉智能体智能》,arXiv:2602.02276,2026 年 2 月。arxiv.org/abs/2602.02276
- [17]Terminal-Bench 团队,《Terminal-Bench:终端环境中 AI 智能体的基准测试》,2025 年。tbench.ai
- [18]J. Yang 等人,《SWE-smith:为软件工程智能体扩展数据》,arXiv:2504.21798,2025 年。arxiv.org/abs/2504.21798(SWE-bench Multilingual:swebench.com/multilingual)