返回技术博客

Cursor Composer 2.5:AI 编程工具是怎么训练出来的

Cursor 上周发了 Composer 2.5,带了一篇技术博客。在 AI 编程工具普遍把训练方法当商业机密的今天,这篇博客的信息密度相当高。

我觉得最值得关注的不是「又变强了」这个结论,而是它背后的几个技术决策。

基座模型:不自研,用开源

Composer 2.5 的基座是 Moonshot 开源的 Kimi K2.5。没错,一个中国公司开源的模型,被硅谷最火的 AI 编程工具拿来当底座。

上一代 Composer 2 也是用的 Kimi K2.5。Cursor 的策略很明确:基座能力让开源社区卷,自己专注后训练(post-training)和产品体验。

这个策略有几个好处:

省了预训练的天价算力成本。Kimi K2.5 据说用了上万张 GPU 训练,这笔账让 Moonshot 买单。

迭代速度快。不用等自己的基座模型训练完,开源社区出了更好的模型随时可以换。

把精力集中在真正的差异化能力上:怎么让模型在编程场景里表现得更好。

不过 Cursor 也透露了下一步:正在和 SpaceXAI 合作,用 Colossus 2 的百万张 H100 从头训练一个更大的模型。开源基座是过渡方案,长期还是要自研。

核心创新:Targeted RL with Textual Feedback

这是 Composer 2.5 最有意思的技术点。

传统的强化学习(RL)在训练编程 Agent 时有一个老大难问题:credit assignment。一次编程任务的 rollout 可能有几十万个 token,最后拿到一个「成功/失败」的奖励信号,模型很难搞清楚到底是哪一步做对了、哪一步做错了。

打个比方:你写了一个小时的代码,测试通过了。但中间有一个函数命名很糟糕、有一段注释完全多余、有一个 API 调用用了过时的方法。最终的「测试通过」信号不会告诉你这些局部问题。

Cursor 的做法是:在 trajectory 中定位到具体的问题点,插入一段文本反馈(textual feedback),告诉模型「这里应该怎么做更好」。然后用带反馈的输出作为 teacher,原始输出作为 student,做 on-policy 蒸馏。

具体流程:

  1. 模型完成一次完整的编程任务(rollout)
  2. 一个评估系统定位到 rollout 中的问题点(比如某个糟糕的工具调用、一段混乱的解释)
  3. 在该问题点的上下文中插入一段 hint:「这里应该用 subprocess 而不是 os.system」
  4. 让模型在带 hint 的上下文下重新生成该段,得到 teacher 分布
  5. 用 KL 散度损失把原始模型(student)往 teacher 方向推

这个方法优雅在于:它把「全局奖励 + 局部归因」这个难题,转化成了「局部反馈 + 局部蒸馏」这个简单得多的问题。

训练的不只是智能,还有「人味」

Cursor 在博客里提到一个观点:现有 benchmark 抓不住真正影响体验的东西。

他们关注三个 benchmark 测不出来的维度:

沟通风格。 模型说话是不是让人舒服?是不是废话连篇?会不会在不该解释的时候解释一堆?

Effort 校准。 简单问题不要大动干戈,复杂问题不要敷衍了事。该写 10 行代码就写 10 行,不要为了「显得认真」写 50 行。

长任务续航。 跑一个持续几十分钟的复杂任务,中间不要迷路、不要重复、不要忘记前面的上下文。

这三个维度加起来,就是所谓的「和 AI 协作的手感」。用过编程 Agent 的人都知道,智能只是及格线,用着顺不顺手才是决定你会不会续费的关键。

Cursor 用了前面提到的 Targeted RL 方法来训练这些行为维度。比如模型在某处写了过长的解释,就在那个位置插入「这里应该一句话带过」的反馈,然后蒸馏。

和 Claude Code 的对比

有意思的是,同一周 Anthropic 宣布了 Claude Code 的计费调整(SDK 和 claude -p 从订阅计划中独立出来)。两家在 AI 编程赛道上的路线差异越来越明显:

Anthropic 的路线是:做最强的通用模型(Opus),然后提供一个轻量 harness(Claude Code CLI)让开发者直接和模型对话。模型本身的强大就是产品力。

Cursor 的路线是:拿别人的基座模型,通过产品设计和后训练把编程体验做到极致。IDE 集成、UI 交互、上下文管理这些产品层的东西才是核心。

两条路线都有道理,但赌注不同。Anthropic 赌的是模型能力会是最终的护城河,Cursor 赌的是产品体验和训练方法会是最终的护城河。

对开发者意味着什么

如果你是 Cursor 用户:升级到 Composer 2.5 吧,长任务体验应该有明显改善。

如果你在做 AI 产品:Cursor 的「开源基座 + 自研后训练」模式值得参考。不是每家公司都需要从头训练自己的基座模型,把后训练和产品体验做好,也能建立很强的竞争力。

如果你对 RL 训练有兴趣:Targeted Textual Feedback 这个方法的思路(把全局 credit assignment 转化成局部蒸馏)可能在编程之外的 Agent 场景里也有用。任何涉及长 rollout 的 RL 训练,都有 credit assignment 的问题。

Cursor 现在每天处理的代码量据说已经超过了所有人类程序员的总和。这不是夸张的营销数字,是产品数据。当一个工具的使用量达到这个级别,它的训练方法论就不再是学术论文里的优化技巧,而是实打实影响千万开发者日常体验的东西。


这是 AI Agent 系列的第五篇。前几篇: