你有没有想过,AI 编程助手为什么总是让人感觉"差点意思"?要么够聪明但慢得让人抓狂,要么反应很快但写出的代码总是不太对劲。这种矛盾一直困扰着我,直到我看到 Cursor 的 AI 研究员 Sasha Rush 在 Ray Summit 2025 上的分享。他们发布了一个叫 Cursor Composer 的新模型,用一种完全不同的思路解决了这个问题:通过强化学习(RL)训练一个既聪明又飞快的 AI agent。
我听完整个分享后,最大的感受是:这不只是一个技术进步,而是一种思维方式的转变。Cursor 团队不是在追求通用的 benchmark 分数,而是专注于解决真实编程工作中的实际问题。他们用强化学习让模型在真实的代码库环境中学习,让它理解代码规范、学会使用各种工具、知道什么时候该并行执行任务。更重要的是,他们把整个产品基础设施都整合进了训练过程,让 AI 在训练时就像一个真实用户在使用 Cursor 一样。这种"训练即产品"的理念让我重新思考了 AI 工具应该如何被构建。
PS:我自己的AI出海项目正在招优秀的工程师和产品,可以到合伙人级别,在招一位UI设计的实习生,需要留学背景,可以参与到产品和运营增长环节,需要杭州线下,感兴趣的可以直接加我微信MohopeX聊聊。
为什么需要一个又快又聪明的编程 AI
Sasha Rush 在分享开头就提到,Cursor Composer 在他们的内部 benchmark 上的表现几乎与最好的 Frontier 模型(前沿模型)持平,并且优于去年夏天发布的所有模型。它的表现明显好于最好的开源模型,以及那些被标榜为"快速"的模型。但真正让人印象深刻的是,这个模型的 token 生成效率是同等智能水平模型的四倍。这意味着它不仅聪明,而且快得惊人,甚至比那些专门设计为快速编程模型的产品还要快。

我一直认为,AI 工具的"快"不仅仅是技术指标,更是用户体验的核心。想象一下你在写代码的时候,突然需要重构一个复杂的函数。如果 AI 助手需要等待 30 秒才能给出建议,这 30 秒足以打断你的思路,让你失去专注。但如果 AI 能在 2 秒内给出答案,你就能保持思维的连贯性,继续沉浸在编程的心流状态中。这种"快到不打断思路"的体验,才是真正有价值的。
Cursor 团队深刻理解这一点。他们的灵感来自 Cursor 应用中最受欢迎的功能之一:Cursor Tab。这是一个快速、智能的模型,用户在使用时感觉非常流畅愉悦。Sasha Rush 说,让模型快到足以支持交互式使用,能让开发者更容易保持思维链条,始终处于工作流状态。他们希望构建一个具有类似体验的 agent 模型。于是他们做了一个原型模型,代号叫 Cheetah(猎豹),专门为 agentic coding(agent 式编程)提供快速体验。这个原型发布到应用后,用户的反馈让他们很兴奋,很多人说这感觉"完全不一样",甚至像是"外星科技"。这让他们确信,如果能构建一个更聪明但保持同样效率的模型,将会带来革命性的体验。

我特别认同 Sasha Rush 提到的一点:他们不是在追求任意的 benchmark 分数,而是希望构建一个在真实编程工作中用起来感觉好的模型。他们从自己的代码库构建了一个内部 benchmark,专门测量模型在大型代码库中工作的能力,以及它是否能遵守代码库本身的规范和标准。这些智能因素才是日常软件工程中真正重要的东西。很多时候,AI 模型在标准测试中得分很高,但放到实际工作场景中却表现平平,就是因为它们没有针对真实工作流程进行优化。

Cursor 团队的目标是双重的:既要智能,又要快。"快"不仅意味着高效生成 token,还意味着在编辑器中运行得非常迅速。这要求模型不仅能快速产生编辑,还要能利用并行工具调用(parallel tool calling)等技术来快速产出结果。当你把这两个目标结合在一起,你会得到一个在实践中感觉截然不同的模型。在演示视频中,用户提交一个查询后,立即就能看到模型调用多个工具、运行终端命令、在代码库中搜索、进行编辑、编写待办事项,然后仅仅一两秒后,你就得到了完整的编辑和对代码变化的总结。这种体验与日常使用的典型编辑器 agent 完全不同。
Agent RL:让 AI 像真实开发者一样工作
Sasha Rush 花了相当多的时间解释他们如何使用 agent RL(agent 强化学习)来训练 Composer。我觉得这部分特别有启发性,因为它揭示了构建真正有用的 AI 工具需要什么样的思维方式。
从用户角度看,Cursor 的工作流程很简单:用户向 Cursor 后端提交一个查询,agent 读取查询后进行一系列工具调用。Sasha Rush 说,我们可以把 agent 主要理解为在"工具空间"中交互。它可以从一系列能够改变用户代码的工具中进行选择。实际上,Cursor 使用了大约 10 个工具,但现在我们可以简单地理解为有读取文件、编辑文件、代码库搜索、收集 lints(代码检查)和运行终端命令这几种。Agent 可以串行或并行调用这些工具,如果它认为这样能返回好的结果。

在底层,这个 agent 仍然只是一个大语言模型,它所做的只是生成 token。你可以把其中一些 token 理解为形成 XML 模式,使它能够调用工具以及这些工具本身的参数。但从强化学习的角度来看,我们主要可以把它理解为在工具调用的组合空间中采取行动。当你看 Cursor 的前端时,你看到的这些 rollout(执行过程)就是所有不同的工具调用组合起来做出改变的过程。对于读取这类操作,前端只是总结它们;对于编辑,你会实时看到整个变化;对于终端调用,你会看到工具调用和终端本身的输出。这基本上就是 agent 在你的 IDE 世界中采取行动的方式。

我觉得最有意思的是他们如何进行强化学习训练。Sasha Rush 强调,他们会尽可能模拟生产环境中的 Cursor 运行方式。这意味着他们会把训练数据当作用户查询发送给模型,然后 agent 会调用一系列工具来尝试完成目标。但强化学习的不同之处在于,他们会从同一个起点进行许多不同的 rollout。你可以把这想象成同时并行运行很多个 Cursor。在 rollout 1 中,模型可能读取一个文件然后编辑它。但在 rollout 2 中,由于 LLM 是概率性的,它可能使用不同的工具序列走不同的路径。然后他们会对这两个选择的输出进行评分,决定 rollout 2 比 rollout 1 更好,并根据这个变化更新模型参数。

听起来很简单对吧?但 Sasha Rush 说,所有有趣的挑战都来自于如何把这个基本流程扩展到极致,而扩展过程的各个环节都有挑战。这让我想到,很多时候技术的核心思想可能很简单,但真正的困难在于如何把它做到极致、做到能够实际应用。

三大挑战:训练与推理的匹配、超长 Rollout 和一致性
Sasha Rush 详细讲解了在这种 agent 式强化学习中遇到的三个核心挑战。我觉得这些挑战非常具有代表性,它们不仅适用于编程 AI,也适用于几乎所有需要在真实环境中训练 AI agent 的场景。
第一个挑战是训练与推理的匹配。他们要训练一个 mixture of experts(混合专家)语言模型,以获得最佳并行性能,而这需要在数千个 GPU 上分布式进行。如果你只是做预训练或监督微调,这已经够难了,但当你做强化学习时难度加倍,因为你必须同时拥有训练版本和采样版本,而且它们必须同步工作。我认为这个挑战揭示了一个更深层的问题:在真实产品中使用的模型和在训练中使用的模型,必须在架构、行为和性能上保持高度一致,否则训练出来的东西在产品中可能完全不work。

第二个挑战是超长的 rollout。当他们用真实的编码变更进行训练时,rollout 比演示中展示的要困难得多。在现代模型中,rollout 使用 10 万到 100 万个 token,并且在过程中进行数百次不同的工具调用。更复杂的是,不同的 rollout 会产生不同数量的工具调用,可能需要非常不同的时间。这让我想到,真实世界的任务往往比我们想象的复杂得多。一个看似简单的"重构这个函数"请求,可能需要 AI 读取十几个相关文件、搜索代码库中的使用示例、运行测试、检查 lints,然后才能做出正确的修改。如果训练时只用简单的玩具例子,模型永远学不会处理这种复杂性。

第三个挑战是一致性。他们做的事情本质上是"通过生产产品进行训练"。他们有一个 Cursor agent,并希望在强化学习中尽可能接近地模拟它。这意味着他们想使用与生产产品完全相同的工具格式和工具响应,但要在更大规模上进行。这个挑战特别有趣,因为它打破了传统机器学习的边界。通常我们会把训练环境和生产环境分开,但 Cursor 团队选择让它们尽可能一致。这样做的好处是,模型在训练时学到的每一个技巧、每一个工具使用方式,都能直接迁移到真实产品中。

Sasha Rush 强调,这三个问题都反映了机器学习系统扩展中的挑战,但这些挑战的实际解决方案都是基础设施选择。我非常认同这个观点。很多时候我们把机器学习看作纯粹的算法和数学问题,但实际上,能否把一个想法变成真正有用的产品,往往取决于你的基础设施有多强大、多灵活。

基础设施:让不可能变为可能的关键
Sasha Rush 花了很多时间讲解他们的基础设施架构,我觉得这部分非常值得深入理解,因为它展示了构建真正可扩展的 AI 系统需要什么。

在高层次上,他们有三个不同的服务器:训练器(trainer)、推理服务器(inference server)和环境服务器(environment server)。训练器主要使用 PyTorch,看起来像是扩展到非常大规模的标准机器学习栈。推理服务器主要使用 Ray 来编排 rollout。环境服务器使用 microVM(微虚拟机)来启动这些环境的有状态版本,允许他们进行文件更改、运行终端命令和运行 linters。你可以把这理解为运行一个迷你版的 Cursor。这三个部分需要彼此交互,形成一个完整的训练循环。

在训练器方面,他们做了一个非常有趣的优化:开发了一个自定义内核库,支持低精度训练。低精度训练加快了训练过程,还让他们能够高效运行采样,而不需要做任何训练后量化。他们使用的是一种叫 MXFP8 的 microscaling(微缩放)格式。这个想法是,他们可以使用 FP8 精度工作,但利用额外的缩放因子来获得更好的精度和更高质量的训练。Sasha Rush 提到,他们为最新的 NVIDIA 架构开发了使用这种 microscaling 格式的自定义内核。对于混合专家层,这在 Blackwell 芯片上提供了 3.5 倍的加速。
我认为这种对底层优化的关注非常重要。很多 AI 团队可能会满足于使用现成的训练框架和标准精度,但 Cursor 团队选择深入到内核层面进行优化。这种投入不仅带来了显著的速度提升,还让他们能够训练更大、更复杂的模型,同时保持训练和推理的效率。这种"不满足于现状"的态度,我觉得是顶尖团队的共同特征。
推理服务器面临的主要挑战是 stragglers(拖后腿的进程)问题。如果你对这个过程不加思考,只是让 agent 自己做事,就会遇到问题。这是因为 rollout 可能会调用终端命令,可能会安装整个库,它们可以做任何想做的事。所以如果你运行 10 个 rollout,它们可能会在不同的时间返回。他们通过使用 Ray 和单一控制器接口解决了这个问题,这让他们能够在许多不同的线程和进程之间进行负载均衡,使这部分过程变得高效。

我觉得这个问题特别能说明真实世界 AI 系统的复杂性。在理想情况下,所有 rollout 应该花费差不多的时间,但实际上它们可能差异巨大。有的可能只需要读几个文件就完成了,有的可能需要运行复杂的构建过程。如果不能有效处理这种异构性,整个训练过程就会被最慢的那个 rollout 拖累,导致资源浪费和效率低下。
与生产环境完美整合:训练即产品的哲学
Sasha Rush 特别强调的一点让我印象深刻:他们的目标是通过生产 Cursor 产品进行训练。Cursor 的一个有趣之处是,他们能够同时设计产品本身和机器学习训练。幸运的是,在构建强化学习栈的过程中,Cursor 发布了一个叫 cloud agents(云 agent)的产品。这是一种让你离线使用 agent 的方式,Sasha Rush 说他经常在坐地铁时使用它来检查模型表现如何。作为这个产品的一部分,他们会启动用户环境的虚拟机,让 agent 可以更改代码和运行终端命令。他们能够使用相同的基础设施来进行强化学习训练。

这意味着他们有一个生产 agent 服务器,在运行云 agent 时和训练强化学习时是完全相同的。我认为这是一个非常聪明的设计决策。很多公司会把训练环境和生产环境完全分开,导致训练出来的模型在真实产品中表现不如预期。但 Cursor 选择让它们完全一致,这样模型在训练时就已经在学习如何在真实产品中表现得更好。
当然,这也带来了挑战。在强化学习训练高峰期的工作负载会比运行标准产品时更加突发。所以他们必须处理当你为训练启动大量环境时的这种突发性,确保产品能够良好运行。Sasha Rush 展示了一个他们用 Composer 编写的仪表板,显示后端利用率的情况。我觉得这个细节很有意思,它展示了他们已经开始使用自己构建的工具来改进自己的工作流程。

你可能会问,为什么值得花这么多时间来实际使用真实的生产环境?他们本可以模拟所有这些不同的结构或尝试模拟它的工作方式。但 Sasha Rush 给出了一个非常有说服力的理由:他们能够引入他们认为对 agent 非常有价值的特定工具。其中之一是他们训练了自己的嵌入模型来进行强大的语义搜索。当你使用 Cursor 时,它会索引你的所有文件,允许 agent 用自然语言查询来查找它可能想要编辑的文件。

他们发现这种语义搜索能力对 Cursor 中使用的所有不同 agent 都有帮助,但对 Composer 特别有帮助。这是因为他们能够用与生产中实际使用的完全相同的模型和结构来训练 Composer。所以他们能够训练模型成为这个工具的高级用户。这让我意识到,AI 工具不仅需要聪明,还需要知道如何有效使用它可用的工具。就像一个优秀的开发者不仅懂编程语言,还知道如何使用 IDE、调试器、版本控制系统等工具一样,一个优秀的 AI agent 也需要学会如何充分利用它的工具箱。
Composer 发布一周后的表现:RL 真的有效
Sasha Rush 分享了 Composer 发布第一周的一些观察,这些数据让我对强化学习的潜力有了更深的认识。
让他们确信强化学习真的有效的主要证据,是随着他们运行越来越多步的 rollout-check-update 循环,模型性能的提升。模型开始时的性能大约与这个领域最好的开源模型相当,但随着训练,在 benchmark 上的性能以稳定的速度提高。这个图的 x 轴是对数刻度的计算量,所以他们在强化学习过程中投入了大量计算。但他们看到了与这种计算相关的收益,模型性能提高到了他们发布版本的水平。

我觉得这是强化学习可扩展性的一个非常好的信号,特别是强化学习扩展到困难的专业任务的能力。很多人质疑强化学习是否能在复杂的真实世界任务上工作,但 Cursor 的经验表明,只要有足够的计算资源和正确的基础设施,强化学习确实可以让模型在特定领域达到前沿水平。
他们还发现,他们能够训练模型以他们认为从产品角度有用的方式行事。Sasha Rush 之前提到,他们希望模型不仅在生成 token 时快,而且在端到端用户体验上也快。其中一个关键组成部分是让模型调用并行工具。随着训练,模型能够调用更多的并行工具,更快地响应用户查询。他们认为在未来的训练中可以进一步推进这一点。
我觉得这个发现特别有价值,因为它表明强化学习不仅能提高模型的"智能",还能塑造它的行为模式。通过适当的奖励设计,你可以让模型学会更高效的工作方式,比如并行化任务、优先处理关键步骤等。这种行为层面的优化,是传统监督学习很难做到的。

他们还发现模型学会了更好的 agent 行为。一开始,它做了太多编辑,而且在没有太多证据的情况下就进行编辑。随着训练,模型会读取更多文件,进行更多搜索,以找到正确的编辑位置并做出正确的更改。这让我想到,好的编程不仅仅是写代码,更重要的是理解上下文、找到正确的地方、做出合理的决策。Composer 通过强化学习学到了这些"软技能"。
可能最重要的是,用户似乎很喜欢它。他们一周前发布了 Composer,主要反馈是速度和智能的结合解锁了一种不同的编程方式。人们不再是启动一个 agent 然后去刷 Twitter 等待结果,而是快速获得结果并继续下一个问题。作为一个程序员、一个开发者,这真的很有趣。Sasha Rush 说,内部很多开发者现在在日常工作中使用它。我觉得这是最好的产品验证方式:当构建工具的人自己每天都在用它。
我对构建专业化 AI 模型的思考
听完 Sasha Rush 的分享,我有几点深刻的体会想分享。
首先,我认为强化学习真的非常适合构建这种专业化模型。这是我们在过去几年大语言模型发展中看到的范式转变。强化学习促进了构建在特定定制领域极其聪明的目标模型的能力。过去我们总是追求通用的、什么都能做的模型,但 Cursor 的经验表明,针对特定任务深度优化的模型,可能比通用模型在该任务上表现好得多。这让我想到,也许未来我们会看到更多这样的专业化模型:专门做数据分析的、专门做前端开发的、专门做系统架构的,每个都在自己的领域做到极致。

另一个让我着迷的是,AI 系统如何改变了研究和开发的过程本身。Sasha Rush 提到,他和团队的许多人现在的日常工作都由他们正在构建的相同 agent 来辅助。他们用这些 agent 构建仪表板、构建后端、构建各种各样的东西。这让他们能够用一个小团队快速行动。我觉得这是一个非常有意思的自举过程(bootstrap):你构建的 AI 工具不仅服务于用户,也服务于你自己,让你能更快地改进这个工具。这种正反馈循环可能会加速 AI 工具的进化速度。
最后,虽然 Sasha Rush 说他本质上不是一个基础设施专家,但看到强化学习有多少是由基础设施发展驱动的,这对他来说是一个警醒。这真的很难,需要整合产品、规模和机器学习训练。它真正触及了现代软件系统的所有部分。我完全同意这个观察。在我看来,未来的 AI 公司不仅需要优秀的机器学习研究人员,还需要世界级的基础设施工程师。那些能把两者结合好的公司,将会在竞争中占据巨大优势。

从更宏观的角度看,Cursor Composer 的故事让我重新思考了 AI 工具应该如何被构建。传统的方法是:先训练一个通用模型,然后通过微调或提示工程让它适应特定任务。但 Cursor 采用了完全不同的路径:从一开始就针对特定任务(编程)设计整个系统,包括模型架构、训练方法、基础设施和产品集成。这种端到端的思考方式,我觉得才是构建真正有用的 AI 工具的正确方法。
我也在思考这种方法的局限性。强化学习需要大量计算资源,需要复杂的基础设施,需要产品和训练的紧密集成。这意味着不是每个公司都能采用这种方法。但对于那些有资源和决心的公司来说,这可能是打造行业领先 AI 产品的最佳路径。Cursor 已经证明了这条路是可行的,我相信我们会看到更多公司沿着这条路走下去。
另一个值得思考的问题是,这种专业化模型的未来会是什么样子。Cursor Composer 专注于编程,但同样的方法可以应用到其他领域吗?比如专门用于数据分析的模型、专门用于内容创作的模型、专门用于客户支持的模型等等。我认为答案是肯定的,但每个领域都需要自己的基础设施、工具生态系统和训练方法。这不是一件容易的事,但对于那些能做到的公司来说,回报将是巨大的。

最后,我想说的是,Cursor Composer 的成功再次证明了一个道理:真正的创新往往不是来自于追随当前的热点,而是来自于深入理解用户需求,然后不惜一切代价去满足这些需求。Cursor 团队没有被"大模型越大越好"的叙事所迷惑,而是专注于解决开发者真正的痛点:如何让 AI 编程助手既聪明又快速。他们用强化学习、自定义基础设施、产品集成等各种手段来实现这个目标,最终交付了一个用户真正喜欢使用的产品。这种以用户为中心、以问题为导向的思维方式,我觉得是所有产品开发者都应该学习的。
文章来自微信公众号 “ 深思圈 ”
【开源免费】字节工作流产品扣子两大核心业务:Coze Studio(扣子开发平台)和 Coze Loop(扣子罗盘)全面开源,而且采用的是 Apache 2.0 许可证,支持商用!
项目地址:https://github.com/coze-dev/coze-studio
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner