![]()
随着人工智能在各个领域的深入应用,编程这一传统的高技术门槛活动也开始迎来革命性变化。近期,知名代码编辑器Cursor背后的团队发布了一项重磅研究成果——Composer 2技术报告。这项研究发表于2026年3月,论文编号为arXiv:2603.24477v2,详细介绍了一个专为软件工程设计的人工智能系统。有兴趣深入了解的读者可以通过该编号查询完整论文。
要理解Composer 2的革命性意义,我们可以把传统的编程过程想象成一个人独自在书房里写作。程序员需要在脑海中构思整个软件架构,记住无数细节,然后一行行地敲出代码。而Composer 2则像是给程序员配备了一位极其聪明的助手,这位助手不仅能够理解复杂的编程任务,还能自主地在真实的开发环境中操作,就像一个有经验的程序员在实际工作一样。
这项研究的核心突破在于创造了一个能够进行长期规划和复杂推理的编程AI。与以往那些只能完成简单代码补全的工具不同,Composer 2能够像人类程序员一样思考整个项目的架构,理解代码之间的复杂关系,并且能在真实的编程环境中自主操作各种开发工具。研究团队通过两个关键阶段的训练实现了这一突破:首先是继续预训练阶段,让AI掌握更深层的编程知识;然后是强化学习阶段,让AI学会在复杂的编程任务中做出正确的决策。
Composer 2的表现确实令人印象深刻。在Cursor团队自主开发的CursorBench评估体系中,Composer 2获得了61.3分的成绩,相比前一代Composer 1.5的44.2分有了显著提升。更重要的是,这个系统在保持高性能的同时,运行成本却比同等水平的其他AI系统要低得多,这意味着普通开发者也能够负担得起使用这样的先进工具。
在软件工程的实际应用中,Composer 2展现出了前所未有的能力。它能够理解模糊的需求描述,在大型代码库中找到相关代码,分析复杂的错误日志,甚至能够重构现有代码以改善性能。这种能力的获得离不开研究团队精心设计的训练环境。他们创建了一个与实际开发环境完全一致的训练系统,让AI在与真实工作场景无异的环境中学习和成长。
为了客观评估AI的真实能力,研究团队开发了CursorBench这一全新的评估标准。与现有的公开评估标准不同,CursorBench完全基于真实的软件开发任务,避免了数据污染问题,能够更准确地反映AI在实际工作中的表现。这个评估体系就像是为AI程序员设计的职业技能测试,涵盖了从简单的代码修改到复杂的系统重构等各种真实场景。
一、继续预训练:为AI打造编程基础
要让AI成为一个出色的程序员,首先需要让它掌握扎实的编程基础知识。这就像培养一个医学生,在让他们进入临床实习之前,必须先让他们熟练掌握解剖学、生理学等基础医学知识。Composer 2的训练也遵循了这样的逻辑。
研究团队首先从众多基础模型中选择了最适合的起点。他们测试了包括GLM-5、Kimi K2.5和DeepSeek V3.2在内的多个候选模型,就像挑选学徒时要考察他们的基础素质一样。最终,他们选择了Kimi K2.5作为基础模型。这个模型拥有1.04万亿个参数,但实际激活的参数只有320亿个,采用了混合专家(MoE)架构。这种设计类似于一个大型咨询公司,虽然有很多专家,但每次只需要调用相关领域的专家来解决具体问题,既保证了专业性,又提高了效率。
继续预训练阶段就像是让这个AI进行专业的编程进修。研究团队准备了大量高质量的编程相关数据,让AI在这些数据上继续学习。这个过程分为三个阶段:第一阶段重点提升基础编程能力,处理长度为32k个token的代码序列;第二阶段扩展到256k个token的长上下文处理能力,这相当于让AI能够理解和处理更大规模的代码项目;第三阶段则是针对特定编程任务的精细化训练。
这种分阶段的训练方法类似于学习一门外语的过程。你不会一开始就试图理解莎士比亚的作品,而是先掌握基本词汇和语法,然后逐步提高阅读理解能力,最后才能欣赏复杂的文学作品。AI学习编程也是如此,需要循序渐进地提升能力。
为了验证继续预训练的效果,研究团队做了一个巧妙的实验。他们用一个较小的Qwen模型来模拟这个过程,在不同的训练强度下测试模型的表现。结果发现,随着训练数据量的增加,模型在后续强化学习阶段的表现也会相应提升。这证明了扎实的基础训练对最终性能的重要性,就像运动员需要先练好基本功才能在比赛中发挥出色一样。
此外,为了提高实际部署时的运行速度,研究团队还在训练过程中加入了多令牌预测(MTP)技术。这就像教AI学会"一心二用",在生成当前代码的同时,还能预测接下来可能需要的代码片段,从而大大提高了代码生成的速度。这种技术通过推测性解码实现,相当于给AI配备了一个"代码预测引擎"。
二、强化学习:让AI学会真正的编程思维
如果说继续预训练是让AI掌握编程的基础知识,那么强化学习阶段就是让AI学会如何像真正的程序员一样思考和工作。这个阶段就像是让医学院的学生进入医院实习,在真实的环境中处理各种复杂的情况。
强化学习的核心思想是让AI通过试错来学习最优的编程策略。研究团队创建了一个涵盖各种真实编程场景的训练环境。在这个环境中,AI需要处理从功能开发、代码调试、重构优化到代码审查等各种任务。每种任务都有其特定的挑战,就像不同科室的医生需要掌握不同的专业技能一样。
其中,功能迭代和调试占据了训练任务的很大比重,这反映了现实软件开发中的主要工作内容。除此之外,AI还需要学习处理文档编写、测试、部署运维等看似简单但实际上需要深刻理解软件系统的任务。这种全面的训练确保了AI不是仅仅会写代码的工具,而是一个能够理解整个软件开发生命周期的智能助手。
训练过程采用了异步强化学习的方法,这种方法就像是让多个AI学生同时在不同的项目中实习,然后定期分享经验和改进方法。具体来说,系统中有专门的推理worker负责生成代码解决方案,环境worker负责运行和测试这些解决方案,训练worker则负责根据结果的好坏来调整AI的行为策略。这种分工合作的方式大大提高了训练效率,也确保了系统的稳定性。
在奖励机制的设计上,研究团队不仅关注代码的功能正确性,还考虑了代码质量、执行效率、可读性等多个维度。这就像评价一个程序员的工作不仅要看功能是否实现,还要看代码是否优雅、是否易于维护。为了鼓励AI在简单任务上快速响应,在复杂任务上深入思考,他们设计了一个巧妙的非线性长度惩罚机制。这个机制就像是对工作效率的评价:简单的任务应该快速完成,复杂的任务则可以花更多时间深入思考。
特别值得一提的是,Composer 2在训练过程中同时提升了平均性能和最佳性能,这在以往的强化学习研究中是比较罕见的。通常情况下,强化学习容易让模型过度专注于已知的成功策略,从而限制了探索新解决方案的能力。但Composer 2的训练结果显示,它不仅提高了单次尝试的成功率,也提高了多次尝试中的最佳结果,说明AI确实学会了更多样化和更有效的编程策略。
为了应对长时间的编程任务,研究团队还引入了自总结技术。这项技术让AI能够在处理长期任务时定期总结当前的进展和发现,类似于程序员在解决复杂问题时会阶段性地整理思路和记录重要信息。这种能力使得AI能够处理超出其直接上下文窗口的大型项目,就像人类程序员会使用笔记和文档来辅助记忆一样。
三、真实世界评估:CursorBench的创新评价体系
评估AI编程能力的最大挑战在于现有的公开评估标准往往无法反映真实的软件开发场景。这就像用标准化考试成绩来评价一个人的实际工作能力,虽然有一定的参考价值,但往往存在较大的偏差。为了解决这个问题,Cursor团队开发了CursorBench这一全新的评估体系。
CursorBench的独特之处在于它完全基于真实的软件开发任务。这些任务来自Cursor团队自己的工程实践,涵盖了从简单的代码修改到复杂的系统架构调整等各种场景。这种设计确保了评估结果能够真实反映AI在实际工作中的表现,就像通过实际项目来评估程序员的能力一样。
与传统的编程评估相比,CursorBench的任务具有几个显著特点。首先,任务描述通常比较简短和模糊,更接近真实的需求场景。在实际工作中,产品经理或客户很少会给出详细完整的技术规范,程序员需要根据模糊的描述理解真正的需求。其次,任务往往需要修改大量的代码,中位数达到181行,这与公开评估中通常只需要修改7-10行代码形成了鲜明对比。
CursorBench的评估不仅关注功能的正确性,还考虑了代码质量、执行效率、交互体验等多个维度。这种全方位的评估更接近真实的软件开发标准,因为在实际项目中,一个好的解决方案不仅要功能正确,还要易于理解、高效运行、便于维护。
举个具体的例子来说明CursorBench任务的复杂性。其中一个任务是要求AI根据简短的错误描述和生产日志来诊断一个奇怪的构建工具问题。这个问题实际上是由于esbuild编译器的一个特殊版本降级bug导致的,会在重试循环中产生意外的状态错误。AI需要从大量包含无关警告信息的日志中找到真正的问题根源,这需要深度的代码理解能力和调试经验。
另一个任务则要求AI分析954个聊天响应文件,识别和量化一个微妙的流式传输回归问题。AI需要编写启发式检测算法来准确识别异常的前缀流模式,同时避免将正常的增量输出误判为错误。这类任务不仅测试AI的编程能力,还考验其数据分析和问题诊断的综合能力。
随着软件开发复杂度的不断提升,CursorBench也在持续进化。从早期版本到最新的CursorBench-3,任务的复杂度显著增加,需要修改的文件数量和代码行数都翻了一倍以上。这种演进反映了真实软件开发中任务复杂度不断增加的趋势,也确保了评估标准能够跟上AI能力发展的步伐。
除了核心的编程任务评估,CursorBench还包括了多个专项评估,涵盖了意图理解、指令遵循、代码质量、中断处理等各个方面。这些评估就像是对程序员进行的全方位职业能力测试,确保AI不仅在技术层面表现出色,在交互体验和工作习惯方面也符合专业标准。
四、基础设施架构:支撑大规模AI训练的技术基石
要训练出像Composer 2这样强大的AI系统,需要极其复杂和精密的基础设施支撑。这就像建造一座摩天大楼,不仅需要优秀的建筑设计,还需要坚实的地基、先进的施工技术和精密的工程管理。Composer 2背后的基础设施体现了当前AI训练技术的最高水准。
训练基础设施的核心挑战是如何高效地处理大规模的模型参数和计算任务。Kimi K2.5作为一个包含1.04万亿参数的混合专家模型,其训练复杂度远超传统的dense模型。研究团队采用了创新的并行计算策略,将传统的专家并行(EP)与张量并行(TP)解耦,创建了更加灵活的计算架构。这种设计就像是重新组织一个大型工厂的生产线,让不同类型的工人能够更高效地协作。
在具体的实现中,他们使用了上下文并行(CP)作为主要的长上下文扩展方案。相比传统的张量并行,上下文并行需要更少的通信开销,能够更好地保持计算效率。这种技术类似于将一本厚书分成几个章节,让不同的读者并行阅读,然后再汇总理解内容,而不是让每个读者都从头到尾读完整本书。
为了充分利用NVIDIA B300 GPU的硬件特性,研究团队开发了专门的低精度训练内核。他们使用了MXFP8和NVFP4等先进的数值格式,在保持训练稳定性的同时大大提高了计算效率。这些自定义内核就像是为特定任务量身定制的工具,能够发挥硬件的最大潜力。
强化学习的基础设施更是体现了系统工程的复杂性。整个系统由四个相互独立但紧密协作的服务组成:训练服务负责模型参数的更新,环境服务负责提供真实的代码执行环境,推理服务负责生成AI的响应,评估服务负责测试模型性能。这种架构就像是一个现代化的汽车制造厂,不同的车间专门负责不同的工序,通过精密的协调实现整体的高效生产。
环境服务基于Anyrun平台构建,这是一个专门为运行不受信任代码而设计的计算平台。每个训练任务都运行在独立的Firecracker虚拟机中,提供完整的开发环境,包括浏览器和图形界面。这种设计确保了训练环境与实际的开发环境完全一致,就像让医学生在真实的医院环境中实习,而不是在模拟的实验室中学习。
特别值得一提的是权重同步机制的设计。由于强化学习需要在训练过程中频繁更新模型参数,如何快速、可靠地在分布式系统中同步这些参数成为关键挑战。研究团队采用了增量压缩技术,只传输相对于上一版本的参数变化,大大减少了网络传输的数据量。这种方法就像是只发送文档的修订版本而不是整个文档,既节省了带宽,又提高了同步速度。
整个训练过程跨越了多个地理区域,使用了三个区域的GPU计算资源和四个区域的CPU计算资源。这种全球分布的架构不仅提高了资源利用效率,还增强了系统的容错能力。即使某个区域出现故障,训练过程也能继续进行,这对于需要长时间运行的大规模AI训练来说至关重要。
五、实验结果与性能分析:验证AI编程能力的全面提升
经过精心设计的训练流程,Composer 2在各项评估中都展现出了显著的性能提升。这些结果不仅证明了技术路线的正确性,也为AI在软件工程领域的应用前景提供了有力支撑。
在CursorBench评估中,Composer 2取得了61.3%的准确率,相比前代Composer 1.5的44.2%有了37%的相对提升,比初代Composer 1的38.0%更是有了61%的巨大跃升。这种持续的性能提升展现了技术迭代的价值,也证明了当前的技术路线能够持续产生改进。更重要的是,与基础模型Kimi K2.5的36.0%相比,Composer 2的提升幅度达到了70%,这充分说明了专门针对编程任务的训练和优化的效果。
与其他先进的AI系统相比,Composer 2的表现也相当出色。在CursorBench上,它的61.3%准确率已经接近GPT-5.4的63.9%,并且显著超越了Claude 4.6 Opus的58.2%和GPT-5.3 Codex的59.1%。考虑到Composer 2是专门为编程任务优化的模型,这样的表现证明了专业化训练的价值。
在公开评估基准上,Composer 2同样表现不俗。在SWE-bench Multilingual上取得了73.7%的成绩,在Terminal-Bench上达到了61.7%。虽然这些成绩可能不是绝对最高的,但考虑到Composer 2的成本效益比,这些结果已经相当令人满意。特别是在Terminal-Bench上,Composer 2超越了多个主流模型,显示出其在处理复杂命令行任务方面的优势。
从资源消耗的角度来看,Composer 2展现出了极佳的成本效益比。虽然其活跃参数数量(320亿)相比一些竞争对手较小,但通过专业化的训练和优化,它能够在保持高性能的同时显著降低推理成本。在每个CursorBench任务的中位推理成本方面,Composer 2与小型模型或低配置版本的成本相当,但性能却能与大型前沿模型媲美,这种帕累托最优的表现对于实际部署具有重要意义。
从token使用效率来看,Composer 2生成的解决方案长度与其他模型相当,但质量更高。这意味着它不是通过生成更长的代码来提高成功率,而是通过更好的理解和推理能力来产生更有效的解决方案。这种效率的提升对于实际应用场景特别重要,因为更短、更精确的代码不仅运行效率更高,也更容易维护和理解。
特别令人欣慰的是,Composer 2在强化学习训练过程中同时提升了平均性能和最佳性能。这种现象在强化学习研究中比较罕见,通常情况下模型会专注于已知的成功策略,从而可能限制策略的多样性。但Composer 2的结果显示,它不仅提高了单次尝试的成功率,也扩大了有效解决方案的覆盖范围,这对于需要创造性解决问题的编程任务来说非常重要。
训练过程的稳定性也值得关注。在整个强化学习训练期间,模型的性能呈现稳定的上升趋势,没有出现显著的性能波动或退化。这种稳定性不仅证明了训练算法的可靠性,也为后续的持续改进提供了良好的基础。
六、技术创新与突破:推动AI编程发展的关键要素
Composer 2的成功不是偶然的,而是多项技术创新综合作用的结果。这些创新不仅解决了当前AI编程面临的具体问题,也为未来的发展指明了方向。
在训练方法论方面,Composer 2采用的两阶段训练策略为领域专用AI的开发提供了有效的范式。继续预训练阶段专注于知识积累,强化学习阶段专注于技能应用,这种分工明确的训练方式比端到端的训练更加高效和可控。这就像培养一名专业运动员,需要先打好基础体能,再针对具体项目进行专项训练。
自总结技术的应用是另一个重要创新。这项技术使得AI能够处理超出其上下文窗口限制的长期任务,通过动态的信息压缩和保持来维护任务的连续性。这种能力对于处理大型软件项目特别重要,因为这些项目往往涉及数千个文件和复杂的依赖关系。
在评估方法上,CursorBench的开发代表了AI评估领域的重要进步。通过使用真实的工程任务而非合成的测试用例,这种评估方法能够更准确地反映AI在实际应用中的表现。这种思路不仅适用于编程AI的评估,也可能为其他领域的AI评估提供借鉴。
基础设施架构的创新也不容忽视。异步强化学习系统的设计实现了训练效率和稳定性的平衡,多地域分布式部署提高了系统的可靠性和扩展性。这些技术突破为大规模AI训练提供了新的可能性。
在硬件优化方面,研究团队开发的自定义训练内核充分发挥了新一代GPU的性能潜力。通过使用MXFP8和NVFP4等低精度格式,在保持训练质量的同时大幅提升了计算效率。这种软硬件协同优化的思路在AI系统开发中越来越重要。
路由重放机制的引入解决了混合专家模型在分布式训练中的数值稳定性问题。这项技术确保了训练过程中推理引擎和训练器之间的专家选择一致性,避免了由于数值差异导致的梯度噪声。这种细致入微的技术处理体现了大规模AI系统开发的复杂性和严谨性。
行为塑造方面的创新也值得一提。研究团队不仅关注AI的技术能力,还通过辅助奖励机制来培养良好的交互习惯和工作风格。非线性长度惩罚机制鼓励AI在简单任务上快速响应,在复杂任务上深入思考,这种设计体现了对用户体验的深度考虑。
七、影响与展望:AI编程时代的到来
Composer 2的成功不仅仅是一个技术突破,更预示着软件开发行业即将迎来的深刻变革。这种变革的影响将远远超出编程本身,可能重塑整个软件产业的格局。
从immediate的影响来看,Composer 2已经能够处理很多以前需要高级程序员才能完成的复杂任务。代码调试、功能开发、系统重构这些传统上需要大量经验和技巧的工作,现在AI也能胜任。这并不意味着程序员会被取代,而是意味着程序员的工作重心将发生转移。他们可能会更多地专注于系统架构设计、需求理解、技术决策等更高层次的工作。
对于软件开发教育而言,Composer 2的出现也带来了新的思考。传统的编程教育重点培养学生的代码编写能力,但当AI能够高效生成代码时,教育的重点可能需要转向问题分析、系统设计、AI工具使用等方面。这就像计算器的普及改变了数学教育的重点一样,AI编程工具也将改变编程教育的内容和方法。
从技术发展的角度来看,Composer 2展现的专业化训练路径为其他领域的AI应用提供了借鉴。通过领域特定的数据、环境和评估标准,可能在医疗、金融、教育等各个专业领域都能开发出类似的专用AI系统。这种专业化的发展方向可能比追求通用人工智能更加务实和有效。
当前Composer 2虽然已经表现出色,但研究团队也明确指出了未来的改进方向。长期任务的处理能力仍有提升空间,这对于处理大型软件项目特别重要。随着软件系统复杂度的不断增长,需要AI能够在更长的时间尺度上保持一致性和连贯性。
可解释性也是一个重要的发展方向。当AI做出复杂的编程决策时,能够清晰地解释其reasoning过程对于建立用户信任和facilitating调试都很重要。这就像一个经验丰富的程序员不仅能写出好代码,还能向同事解释为什么这样设计一样。
安全性考虑在AI编程系统中也显得格外重要。由于AI生成的代码将直接影响软件系统的运行,需要确保AI不会引入安全漏洞或恶意代码。这需要在训练过程中加入安全性约束,以及在部署时进行严格的安全审查。
从更广阔的视角来看,像Composer 2这样的AI编程系统可能会降低软件开发的门槛,让更多非专业人员也能参与到软件创建的过程中。这种democratization可能会推动软件应用的爆发性增长,就像网页构建工具让很多不懂HTML的人也能创建网站一样。
然而,这种技术进步也带来了新的挑战。如何确保AI生成的代码质量,如何处理AI可能的偏见和错误,如何在提高效率的同时保持创新性,这些都是需要持续关注和解决的问题。
总的来说,Composer 2代表了AI编程技术的一个重要里程碑,但这只是开始。随着技术的进一步发展和完善,我们可能会看到更加智能、更加可靠、更加易用的AI编程系统。这些系统不会取代人类程序员,而是会成为他们强有力的合作伙伴,共同推动软件技术的发展和应用的创新。
说到底,Composer 2的真正价值不仅在于它现在能做什么,更在于它为我们展现了AI与人类协作的新可能性。当AI能够处理繁琐的编码细节时,人类就能将更多精力投入到创造性思考和问题解决上。这种分工合作可能会带来软件开发效率和质量的双重提升,最终惠及整个社会。随着这项技术的不断成熟和普及,我们有理由期待一个更加智能、高效的软件开发时代的到来。
Q&A
Q1:Composer 2相比传统的编程AI有什么特别之处?
A:Composer 2最大的特点是能够在真实的开发环境中自主操作,就像真正的程序员一样。它不仅能写代码,还能理解复杂需求、分析错误日志、重构系统架构,甚至能处理模糊的任务描述。相比只能做代码补全的传统工具,Composer 2具备了长期规划和复杂推理能力,能够像有经验的程序员一样思考整个项目。
Q2:CursorBench评估体系和其他编程测试有什么不同?
A:CursorBench完全基于真实的软件开发任务,而不是人工设计的测试题目。它的任务描述更简短模糊,更接近现实中的需求场景,但要求修改的代码量更大(中位数181行 vs 其他测试的7-10行)。这种设计避免了数据污染问题,能更准确反映AI在实际工作中的表现,就像通过真实项目而不是标准化考试来评价程序员能力。
Q3:普通开发者现在能用到Composer 2吗?
A:Composer 2目前主要集成在Cursor代码编辑器中,开发者可以通过使用Cursor来体验这项技术。不过作为前沿技术,它可能还不是完全普及的消费级产品。随着技术的进一步成熟和优化,预计会有更多开发者能够使用到这样的AI编程助手,帮助提高开发效率和代码质量。





京公网安备 11011402013531号