Composer:用强化学习构建高速前沿模型
Composer 是我们为软件工程智能和速度打造的新智能体模型。在我们的基准测试中,该模型在代码生成方面达到了前沿水平,生成速度比同类模型快四倍。
我们通过训练模型在大型代码库中完成真实世界的软件工程挑战来取得这些结果。在训练过程中,Composer 可以访问一组生产级搜索和编辑工具,并被要求高效地解决各种复杂难题。最终得到的是一个大规模模型,被优化用于在 Cursor 中作为智能体高速运行。


我们的动机来自于我们在开发 Cursor Tab(我们的自定义补全模型)时的经验。我们发现,开发者往往希望使用在交互场景中依然足够智能的模型,从而保持连贯顺畅的编码体验。在研发过程中,我们曾尝试了一个代号为 Cheetah 的原型智能体模型,以更好地理解更高速智能体模型的效果。Composer 是这个模型的更智能升级版本,它通过足够快速的交互体验,让编码始终保持愉悦。
Composer 是一个 mixture-of-experts(MoE,专家混合)语言模型,支持长上下文的生成与理解。它通过在多样化的开发环境中进行强化学习(RL),专门针对软件工程进行了优化。在每一次训练迭代中,模型会获得一个问题描述,并被指示给出最佳响应,无论是代码编辑、方案规划,还是信息性回答。模型既可以使用诸如读取与编辑文件等简单工具,也可以使用诸如终端命令以及跨代码库的语义搜索等更强大的工具。
为了衡量进展,我们构建了一套尽可能真实地评估模型对软件开发者有用性的评测体系。我们的基准 Cursor Bench 由 Cursor 的工程师和研究人员提出的真实智能体请求,以及精心整理的这些请求的最优解决方案组成。由此得到的评测不仅衡量智能体的正确性,还衡量其是否遵循代码库中已有的抽象和软件工程实践。


强化学习使我们能够主动将模型专门化,以实现高效的软件工程。由于响应速度是交互式开发的关键组成部分,我们通过激励机制促使模型在使用工具时做出高效选择,并尽可能最大化并行度。此外,我们通过减少不必要的回复以及无依据的断言来训练模型,令其成为一个高效、可靠的助手。我们还观察到,在 RL 过程中,模型会自主学会一些有用行为,例如执行复杂搜索、修复 linter 错误,以及编写和执行单元测试。


高效训练大型 MoE 模型,需要在基础设施构建和系统研究上进行大量投入。我们基于 PyTorch 和 Ray 构建了自定义训练基础设施,以大规模支撑异步强化学习。通过将我们的 MXFP8 MoE kernels 与 expert parallelism(专家并行)和 hybrid sharded data parallelism(混合分片数据并行)结合,我们可以在通信开销极小的情况下,将训练扩展到上千块 NVIDIA GPU。此外,使用 MXFP8 进行训练,使我们能够在无需后训练量化的前提下提供更快的推理速度。
在 RL 过程中,我们希望模型能够调用 Cursor Agent 工具框架中的任意工具。这些工具支持编辑代码、使用语义搜索、grep 字符串以及运行终端命令。按我们的规模,要让模型学会高效调用这些工具,需要在云端同时运行数十万个隔离的沙盒编码环境。为支撑这一工作负载,我们在已有的 Background Agents 基础设施之上进行了改造,重写了虚拟机调度器,以支持训练运行中突发性的负载特征和规模。这样就实现了将 RL 环境与生产环境的无缝统一。
Cursor 为软件工程构建工具,而我们自己也大量使用我们开发的这些工具。推动 Composer 开发的一个重要动机,就是打造一个我们在自己日常工作中也会主动使用的 Agent。最近几周,我们发现许多同事已经在日常软件开发中使用 Composer。通过这次发布,我们也希望你同样会觉得它是一款有价值的工具。
—
¹ 基于 Cursor 工具框架的内部基准测试结果。我们根据得分将模型划分为不同类别,并报告每个类别中表现最好的模型。"Fast Frontier" 包含为高效推理设计的模型,例如 Haiku 4.5 和 Gemini Flash 2.5。"Best Open" 包含近期开源权重模型的发布,例如 Qwen Coder 和 GLM 4.6。"Frontier 7/2025" 指的是今年 7 月可用的最佳模型。"Best Frontier" 包含 GPT-5 和 Sonnet 4.5,这两者的表现都优于 Composer。对于每秒 Token 数的计算,我们使用最新的 Anthropic tokenizer 在不同模型间对 Token 进行标准化。