使用自动安装引导Composer · Cursor
Cursor团队介绍了Composer中的自动安装功能,该功能利用早期模型版本自动配置RL训练环境,提高训练效率。通过两阶段过程,模型能完成复杂的环境设置,并在实际项目中成功应用。此方法显著提升了Composer 2在终端基准测试中的表现。
我们将介绍Cursor团队开发的Composer自动安装功能,该功能利用早期版本的Composer模型自动创建可运行的强化学习(RL)训练环境。在训练最新版本Composer 2时,团队使用了其前身Composer 1.5来管理这一过程。自动安装的核心目标是从未配置的仓库检出中自动建立工作环境,避免模型在调试设置上浪费计算资源。
自动安装的设计灵感来源于Cursor云代理中的自动化环境设置功能。在RL训练中,环境设置至关重要,因为Composer配备了全套工具,包括编程语言lint命令、搜索功能和沙盒shell。若环境配置失败,训练效率将大打折扣,甚至无法获得任何奖励信号。
自动安装分为两个阶段。第一阶段是“目标设定”:给Cursor代理一个固定版本的代码库,要求其提出10个命令以及正确环境下应输出的高级描述。代理会探索README、makefile,尝试语言特定的命令如uv或clippy,并提出设置命令、测试和启动命令。
第二阶段中,另一个Composer代理接收初始环境状态以及从10个命令中选出的3个目标命令。代理探索代码库,调用工具设置环境使命令可运行。之后测试三个命令是否成功执行且输出与描述匹配。若不成功,则重新开始第二阶段。若重复5次仍未成功,则丢弃该环境。代理会尽力模拟缺失文件、创建占位图片甚至伪造数据库表来搭建完整环境。
为了验证自动安装的实际效果,团队在真实项目Celo上进行了实验。Celo是一个大型区块链项目,具有多个主要依赖。在第一阶段,代理阅读文档和代码找到关键安装命令,并通过网络搜索补充信息。第二阶段中,代理需要让这些命令实际运行,它发现需要安装Foundry等其他依赖,并通过网络搜索阅读相关文档。第一次迭代中测试应用失败,但第二次迭代通过创建模拟用户成功启动本地应用。
自动安装显著提升了Composer 2的性能。在Terminal-Bench基准测试中,Composer 2得分61.7%,而Composer 1.5为47.9%。这表明Composer 2为自动安装提供了更好的基础。未来,之前的Composer实例将在训练过程中发挥更大作用,包括运行管理、数据预处理和架构调优。