Composer:用强化学习打造高效前沿模型
Composer 是我们全新的智能代理模型,面向软件工程的智能与速度而打造。在我们的基准测试中,该模型在编码任务上达到行业前沿水准,生成速度比同类模型快四倍。
我们通过在大型代码库中训练模型,使其能够完成真实的软件工程任务,从而取得这些成果。在训练过程中,Composer 可使用一套生产级的搜索与编辑工具,并被要求高效解决各类棘手问题。最终产出的是一个大规模模型,已针对在 Cursor 中作为智能代理的高速使用进行了优化。
我们的动力源于我们在开发 Cursor Tab(自研的补全模型)时的经验。我们发现,开发者往往希望使用既足够智能又能支持交互式使用的模型,以保持编码的专注与流畅。在研发过程中,我们试验了一个代号为 Cheetah 的原型代理模型,以更好地理解更高速代理模型的影响。Composer 是该模型的更智能升级版,凭借足够的速度支撑交互式体验,让编码始终愉快顺滑。
Composer 是一种专家混合(MoE)语言模型,支持长上下文的生成与理解。它通过在多样化的开发环境中进行强化学习(RL),对软件工程进行了专项优化。每次训练迭代中,模型都会接收问题描述,并被指示产出最佳响应,无论是代码修改、方案规划,还是信息性回答。模型既能使用读取与编辑文件等简单工具,也能调用更强大的能力,例如终端命令和面向整个代码库的语义搜索。
为衡量进展,我们构建了一套尽可能贴近软件开发者实际使用价值的评测。我们的基准测试 Cursor Bench 由 Cursor 的工程师和研究人员提交的真实代理请求组成,并配有人工精心整理的最佳解决方案。该评测不仅考察代理的正确性,还评估其对代码库既有抽象与软件工程实践的遵循程度。
强化学习使我们能够有针对性地优化模型,以更好地服务高效的软件工程。鉴于响应速度是交互式开发的关键,我们鼓励模型在工具使用上做出高效选择,并在可能的情况下最大化并行处理。此外,我们通过减少不必要的回复、避免无依据的陈述来训练模型成为更有帮助的助手。我们还发现,在 RL 过程中,模型会自发习得一些有用的能力,例如执行复杂搜索、修复 linter 错误,以及编写并运行单元测试。
高效训练大型 MoE 模型需要在基础设施与系统研究方面进行大量投入。我们基于 PyTorch 和 Ray 构建了定制化训练基础设施,以在大规模环境下支持异步强化学习。我们通过将MXFP8 MoE kernels与专家并行和混合分片数据并行相结合,在原生低精度下训练模型,使我们能够以极低的通信开销将训练扩展到数千张 NVIDIA GPU。此外,采用 MXFP8 训练还能在无需训练后量化的情况下实现更快的推理速度。
在进行 RL 时,我们希望模型能够调用 Cursor Agent 框架中的任意工具。这些工具可用于编辑代码、进行语义搜索、使用 grep 查找字符串,以及运行终端命令。以我们的规模,要让模型高效调用这些工具,需要在云端并发运行数十万份隔离的沙盒编码环境。为了承载这类工作负载,我们对既有的 Background Agents 基础设施进行了改造,重写了虚拟机调度器,以适配训练运行的突发性与规模。由此,我们将 RL 环境与生产环境实现了无缝统一。
Cursor 致力于构建软件工程工具,并在内部深度使用这些工具。推动 Composer 开发的初衷之一,是打造一个我们在日常工作中也会主动依赖的智能体。近几周来,我们发现许多同事已在日常软件开发中使用 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 计算,跨模型的 token 统一按照最新的 Anthropic 分词器进行标准化。