Overview of Composer series

Author

Updated

May, 21, 2026

Category

Introduction

Composer series 是 cursor 推出的一个针对 agentic software engineering 的代码大模型系列,包括 Composer (Cursor Research, 2025), Composer 1.5 (Cursor Research, 2026), Composer 2(Research et al., 2026) Composer 2.5(Cursor Research, 2026b) 四个版本。

下面是不同版本模型在 Cursor 推出的私有 benchmark CursorBench 上的表现。

Composer Series — CursorBench Performance
Sourced from Composer2 Tech Report.

可以看到,Composer 2.5 已经接近于 Claude Opus 4.7 (Claude, 2026) 的表现。

Takeaway
  1. Scaling up post-training. Post-training 应该使用比 pre-training 更多的算力 (Composer1.5) 和数据 (Composer 2.5).
  2. 现有的 benchmark 难以评估真实场景中的用户需求 (Composer2).
  3. infra 上的优化决定了模型的迭代速度。
  1. Claude. (2026). Opus 4.7. https://www.anthropic.com/claude/opus
  2. Cursor Research. (2025). Composer: Building a fast frontier model with RL. https://cursor.com/blog/composer
  3. Cursor Research. (2026a). Introducing Composer 1.5. https://cursor.com/blog/composer-1-5
  4. Cursor Research. (2026b). Introducing Composer 2.5. https://cursor.com/en-US/blog/composer-2-5
  5. Research, C., :, Chan, A., Shalaby, A., Wettig, A., Sanger, A., Zhai, A., Ajay, A., Nair, A., Snell, C., Lu, C., Shen, C., Jia, E., Cassano, F., Liu, H., Chen, H., Wildermuth, H., Jackson, J., Li, J., … Zhang, Z. (2026). Composer 2 Technical Report. https://arxiv.org/abs/2603.24477

Composer

Composer (Cursor Research, 2025) 是一个针对 software engineering 的 agent model.

在架构上,Composer 是一个基于 MoE 架构的大语言模型。

在 RL 训练时,作者通过 reward design 来提高模型选择工具的效率以及并行调用工具的能力。

在 Infra 上,作者构建了基于 Pytorch 和 Ray 的 training framework, 来支持 asynchronous RL 训练。 作者还是用了 MXFP8 MoE kernel, EP, Hybrid Sharded Data Parallelism (HSDP) 来提高训练效率。

  1. Cursor Research. (2025). Composer: Building a fast frontier model with RL. https://cursor.com/blog/composer

Composer1.5

Composer 1.5 (Cursor Research, 2026) 相比与 Composer 在 RL 训练阶段使用了 20×20\times 的算力,这个算力超过了 pre-trained model所使用的计算量。

作者还使用了 self-summarization 来让模型在到达context limit时,自主产生一份当前状态与进度的总结,从而降低整体的上下文长度。

  1. Cursor Research. (2026). Introducing Composer 1.5. https://cursor.com/blog/composer-1-5

Composer2

Composer2 (Research et al., 2026) 是 Cursor 发布的第一个带有技术报告的模型。

作者主要探究了 scaling model training 对模型解决 real-world coding problems 能力提升的影响。

为了实现这个目标,作者主要从 RL algorithms, infra 等方面进行了优化。

Continue Pre-training

作者从 codebase perplexity, coding knowledge 以及 state tracking 三个方面对 base model (包括 DeepSeek V3.2 (DeepSeek-AI et al., 2025), GLM 5 (GLM-5-Team et al., 2026), Kimi K2.5 (Team et al., 2026)) 进行了评估,评估结果如下

ModelFreshBench \uparrowState Tracking \downarrowNegative Log-Likelihood \downarrow
DeepSeek V3.268.9%6611.75M
Kimi K2.583.2%8613.81M
GLM-579.2%9214.11M

综合模型表现以及 infra optimization, 作者选择了 Kimi K2.5 (Team et al., 2026) 作为 base model 来进行 continual pre-training.

Continual pre-training 的目的是让模型特化为 coding model. 作者将训练分为三个阶段: 32K context length, 256K context length, SFT.

作者通过实验验证了 cross entropy loss 可以用于预测下游 RL 训练的表现。

与 DeepSeek V3 (DeepSeek-AI, Liu, Feng, et al., 2025) 一样,Composer2 也使用了 Multi-Token Prediction (MTP) module (Gloeckle et al., 2024) 来实现 speculative decoding.

作者使用了 self-distillation 来训练 MTP module, 让模型学习 main LM head 的 logit distribution, MTP 在后两个阶段中参与训练。

RL Training

作者在以下 coding task 上进行了训练

对于算法设计,作者介绍了以下几点:

  1. 与 Dr.GRPO (Liu et al., 2025) 一样,避免引入 bias, 因此不再引入 length standardization term (会引入 length bias). 不对 group advantage 进行 normalization.
  2. Composer1.5 一样使用 self-summarization 来避免 rollouts 过长
  3. 与 DeepSeek V3.2 (DeepSeek-AI, Liu, Mei, et al., 2025), PipelineRL (Piché et al., 2025) 一样,使用 replay MoE routing 来避免训练 - 推理不一致性。
  4. 使用 k1=logrk_1=-\log r 来估计 KL divergence

作者设计了 multi-reward 来提高模型在使用时的用户体验,这些 reward 包括 coding style, communication 等,在训练过程中作者会依据模型行为来提供不同的 reward.

作者还构建了一个 length penalty 来让模型实现动态思考,penalty 表达式如下

Ck,q(x)=(1+kx)1q1k(1q)C_{k,q}(x) = \frac{(1+kx)^{1-q}-1}{k(1-q)}

其中 k,qk,q 为超参数,xx 是 thinking tokens, tool calling tokens, tool output tokens, final message tokens, number of tool calls, and number of turns of a rollout 的加权求和。

Infra

作者主要介绍了 Parallelism, Kernels 以及 low precision training.

Parallelism

第一点是针对 Context Parallelism (CP) 的优化。

对于长文本训练,TP 会把矩阵 hidden dimension 切的比较小,导致 GPU 在进行矩阵计算时面对的是瘦长的局部矩阵,从而计算效率下降,并且 TP 还会产生额外的 All-reduce 通信。 而 CP 在 sequence dimension 进行切分,每个 GPU 拿到的都是完整的特征维度,GPU 计算起来更加高效,并且通信量也更少。

对于 MLA, 作者也进行了计算与通信重叠:每个 CP rank 先分别计算各自的 KV latent vector, 然后通过 all-gather 进行汇总,由于 KV down projection matrice 比较小,因此带来的额外开销可以忽略不计。 并且,现在 KV latent vector 还可以与 Q latent vector 进行计算通信重叠。

为了维持负载均衡,与 RingAttention (H. Liu et al., 2024) 一样,作者将序列拆分为 2×2\times CP ranks, 让每个 rank 交替负责首尾两块,这样不同 rank 的计算量就基本相同。

第二点是针对 Expert Parallelism (EP) 的优化,作者将 EP 与 Tensor Parallelism (TP) 进行了解耦。作者使用了如下配置

StageEPCPNote
Continual Pre-training82context length 固定,CP=2 足够
RL88CoT 非常长,使用 CP=8 提高计算效率

作者使用了 DeepEP (Zhao et al., 2025) 来提高 dispatch/combine 效率。 与 DeepSeek-V3 (DeepSeek-AI, Liu, Feng, et al., 2025) 一样,作者在 dispatch 之前,也进行了 quantization, 将 token 转化为 MXFP8 精度来提高通信效率。

在 combine 时,作者使用了 BF16 精度来避免精度损失。

第三点是 DP, 在 Continual Pre-training 时,由于 sequence length 固定,负载均衡比较容易达到。 在 RL 阶段,作者使用了一个 global sequence packign 来保持负载均衡。

Kernels

针对 MoE layer, 在 forward pass, 作者将数值从 BF16 使用 FP8E4M3 per-block scales (block size =16) 和 FP32 per-token scales 量化到 FP4E2M1 格式。

作者发现使用 FP32 per-tensor scales 有两个问题:

  1. per-tensor scaling 与 training batch 相关,会导致 RL 训练失败

  2. 训练会导致未来的 token 泄漏,导致梯度有偏

在 backward pass, 作者使用了标准的 MXFP8 格式,此时,由于训练效率很高,我们可以使用更高精度来进行计算。

总的来说,核心思想就是 forward pass 效率更重要, backward pass 训练稳定性更重要。

MoE 整体的训练流程如下

GEMM training flow for MoE layers
Sourced from Composer2 Tech Report.

Evaluation

作者认为现有的 coding benchmark 难以体现真实场景下的需求:

  1. Domain mismatch: SWE-Bench 主要集中于评估模型的 bug-fixing 能力, Terminal-Bench 大多数任务是 abstract puzzles, 而不是 software enginnering tasks.
  2. Prompt Over-specification: 现有 benchmark 的输入都非常具体,而真实场景下用户的需求往往是比较模糊的
  3. Data Contamination and Overfitting: 模型可能针对这些任务进行了特定优化,但是其编程能力并没有提升
  4. Narrow Evaluation Scope: 现有的 benchmark 主要关注结果的正确性,而对于可读性,效率等指标没有考虑。
  1. DeepSeek-AI, Liu, A., Feng, B., Xue, B., Wang, B., Wu, B., Lu, C., Zhao, C., Deng, C., Zhang, C., Ruan, C., Dai, D., Guo, D., Yang, D., Chen, D., Ji, D., Li, E., Lin, F., Dai, F., … Pan, Z. (2025). DeepSeek-V3 Technical Report. https://arxiv.org/abs/2412.19437 back: 1, 2
  2. DeepSeek-AI, Liu, A., Mei, A., Lin, B., Xue, B., Wang, B., Xu, B., Wu, B., Zhang, B., Lin, C., Dong, C., Lu, C., Zhao, C., Deng, C., Xu, C., Ruan, C., Dai, D., Guo, D., Yang, D., … Qu, Z. (2025). DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models. https://arxiv.org/abs/2512.02556 back: 1, 2
  3. GLM-5-Team, :, Zeng, A., Lv, X., Hou, Z., Du, Z., Zheng, Q., Chen, B., Yin, D., Ge, C., Huang, C., Xie, C., Zhu, C., Yin, C., Wang, C., Pan, G., Zeng, H., Zhang, H., Wang, H., … Tang, J. (2026). GLM-5: from Vibe Coding to Agentic Engineering. https://arxiv.org/abs/2602.15763
  4. Gloeckle, F., Youbi Idrissi, B., Roziere, B., Lopez-Paz, D., & Synnaeve, G. (2024). Better & Faster Large Language Models via Multi-token Prediction. In R. Salakhutdinov, Z. Kolter, K. Heller, A. Weller, N. Oliver, J. Scarlett, & F. Berkenkamp (Eds.), Proceedings of the 41st International Conference on Machine Learning (Vol. 235, pp. 15706–15734). PMLR. https://proceedings.mlr.press/v235/gloeckle24a.html
  5. Liu, H., Zaharia, M., & Abbeel, P. (2024). RingAttention with Blockwise Transformers for Near-Infinite Context. The Twelfth International Conference on Learning Representations. https://openreview.net/forum?id=WsRHpHH4s0
  6. Liu, Z., Chen, C., Li, W., Qi, P., Pang, T., Du, C., Lee, W. S., & Lin, M. (2025). Understanding R1-Zero-Like Training: A Critical Perspective. https://arxiv.org/abs/2503.20783
  7. Piché, A., Kamalloo, E., Pardinas, R., Chen, X., & Bahdanau, D. (2025). PipelineRL: Faster On-policy Reinforcement Learning for Long Sequence Generation. https://arxiv.org/abs/2509.19128
  8. Research, C., :, Chan, A., Shalaby, A., Wettig, A., Sanger, A., Zhai, A., Ajay, A., Nair, A., Snell, C., Lu, C., Shen, C., Jia, E., Cassano, F., Liu, H., Chen, H., Wildermuth, H., Jackson, J., Li, J., … Zhang, Z. (2026). Composer 2 Technical Report. https://arxiv.org/abs/2603.24477
  9. Team, K., Bai, T., Bai, Y., Bao, Y., Cai, S. H., Cao, Y., Charles, Y., Che, H. S., Chen, C., Chen, G., Chen, H., Chen, J., Chen, J., Chen, J., Chen, J., Chen, K., Chen, L., Chen, R., Chen, X., … Zu, X. (2026). Kimi K2.5: Visual Agentic Intelligence. https://arxiv.org/abs/2602.02276 back: 1, 2
  10. Zhao, C., Zhou, S., Zhang, L., Deng, C., Xu, Z., Liu, Y., Yu, K., Li, J., & Zhao, L. (2025). DeepEP: an efficient expert-parallel communication library. GitHub. https://github.com/deepseek-ai/DeepEP

Composer2.5

Composer 2.5 (Cursor Research, 2026)Composer2 的基础上做了如下改进:

作者还改进了模型在 communication style 以及 effort calibration 等方面的行为

Method

算法上,作者提到了 credit assignment 问题,为了解决这个问题,作者采用了 targeted textual feedback 策略,一个 on policy distillation 方法 (Shenfeld et al., 2026; Zhao et al., 2026).

Credit Assignment

其具体做法就是,在上下文中加入一些提示,然后将使用带有提示的 prompt 作为输入的 model 作为 teacher model, 使用原始 prompt 作为输入的 model 作为 student model 进行 on policy distillation,

通过这个方法我们可以提供更加 dense 的 training signal.

数据上,Composer 2.5 还是用了比 Composer 2 多 25 倍的合成任务数据。

训练上,作者使用了 Muon (Jordan et al., 2024) 优化器,但是对于较大的矩阵,直接进行正交化是非常慢的,因此,作者进行了针对性优化:

由于 parallelism, 不同模块权重可能分布在不同 GPU 上,Newton-Schulz 算法必须使用完整矩阵,因此作者设计了一套 pipeline 来进行计算:

  1. batch: 把形状一样的 small tensors 集中起来
  2. all-to-all: 把不同 GPU 上的专家权重汇总得到一个完整的矩阵
  3. compute: 执行 Newton-Schulz 算法
  4. all-to-all dispatch: 分发专家权重

Infra

在 infra 上,作者使用了 HSDP, HSDP 针对 FSDP (Y. Zhao et al., 2023) 进行了优化,针对不同的模块使用了不同的策略:

最终,作者使用了 CP=2, EP=8 的训练配置。现在专家和非专家是解耦的,我们可以复用统一批 GPU (8 GPUs):

Price

Composer2.5的价格如下 (per 1M tokens)

Model VariantInputOutputCache WriteCache ReadNotes
Composer 2.5$0.50$2.50-$0.2Standard pricing
Composer 2.5 (Fast, default)$3.00$15.00-$0.5Same intelligence, faster speed, lower cost
  1. Cursor Research. (2026). Introducing Composer 2.5. https://cursor.com/en-US/blog/composer-2-5
  2. Jordan, K., Jin, Y., Boza, V., You, J., Cesista, F., Newhouse, L., & Bernstein, J. (2024). Muon: An optimizer for hidden layers in neural networks. https://kellerjordan.github.io/posts/muon/
  3. Shenfeld, I., Damani, M., Hübotter, J., & Agrawal, P. (2026). Self-Distillation Enables Continual Learning. https://arxiv.org/abs/2601.19897
  4. Zhao, S., Xie, Z., Liu, M., Huang, J., Pang, G., Chen, F., & Grover, A. (2026). Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models. https://arxiv.org/abs/2601.18734
  5. Zhao, Y., Gu, A., Varma, R., Luo, L., Huang, C.-C., Xu, M., Wright, L., Shojanazeri, H., Ott, M., Shleifer, S., Desmaison, A., Balioglu, C., Damania, P., Nguyen, B., Chauhan, G., Hao, Y., Mathews, A., & Li, S. (2023). PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel. https://arxiv.org/abs/2304.11277