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 蒸馏。
具体流程:
- 模型完成一次完整的编程任务(rollout)
- 一个评估系统定位到 rollout 中的问题点(比如某个糟糕的工具调用、一段混乱的解释)
- 在该问题点的上下文中插入一段 hint:「这里应该用 subprocess 而不是 os.system」
- 让模型在带 hint 的上下文下重新生成该段,得到 teacher 分布
- 用 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 系列的第五篇。前几篇: