首次揭秘:Cursor技术团队内部深度分析如何训练出超越人类的编程AI agent

首次揭秘:Cursor技术团队内部深度分析如何训练出超越人类的编程AI agent

12分钟 ·
播放数273
·
评论数2

核心内容概述

  1. 让AI写出优秀代码的关键这不仅是技术问题,还涉及定义“优秀”、获取反馈以及让机器理解人类意图。Cursor因有自己训练的小模型,使用体验优于多数其他AI IDE,其背后设计一直是谜,近期内部团队讨论视频为我们揭开了部分面纱。团队正在解决的问题复杂,涵盖强化学习的稀疏奖励、长上下文处理等。
  2. 编程AI强化学习的困难编程领域与数学、写作领域差异大。数学推理中答案明确,推理过程可引导模型接近答案;而编程中代码既是思考过程又是结果,且编程任务多需多步骤工具调用,流程复杂。此外,Cursor团队重视无法用传统方式验证的场景,实际应用中用户常不明确告知解决方案是否有效,给强化学习带来极大挑战。
  3. 测试驱动训练的局限性与创新奖励机制测试有优点,能提供接近真实情况的信号,可用于长期强化学习并发现有趣行为模式,但无法捕捉所有重要方面。创新奖励机制包括使用真实变更的对比数据,虽不完美但接近真实开发场景。奖励稀疏性是重大挑战,可将大任务分解成小部分进行测试以提高成功率。
  4. 工具选择的智慧不同研究实验室选择不同工具集训练强化学习模型,如OpenAI的o3模型专注终端,Claude模型围绕搜索和编辑设计。终端工具因简单受欢迎,但可在核心工具集基础上进一步优化。例如,linter错误能提供大量信号,但获取困难,而Cursor自带预安装语言服务器的扩展有优势。语义搜索工具能更快到达目标,成本低、速度快。还可使用工具建模模型本身行为,让模型学会合理思考。
  5. 长上下文与代码理解的未来长上下文对代码理解至关重要,现有模型在8K token限制下表现受限,至少需50 - 60k token的最小上下文长度才能有显著改进。长上下文趋势是越来越长,注意力机制使用长上下文成本高,技术层面需控制成本增长并重用缓存上下文。代码与聊天应用不同,专业代码库相关上下文量大。长期来看,混合机制方法可能最有意义,如DeepSeek的Multi - head Latent Attention(MLA)机制能很好地扩展。
  6. 内存工具与状态管理的挑战内存工具允许模型存储和检索信息,但让模型存储有用记忆复杂。内存工具包含存储和检索两个工具,检索相对容易教会模型,存储则因奖励依赖不同轨迹,增加训练计算量和难度。团队认为非模型训练方式生成和检索记忆可能更易,可使用评估系统尝试不同规则和方法。
  7. GPU架构对长上下文处理的影响新一代GPU让长上下文处理更易,GB200和NVL72架构通过张量并行和统一内存支持超长上下文。其创新应用可避免将KV存储在GPU内存中,减少速度下降。处理大规模长上下文需结合其他改进方法,如滑窗、偶尔共享等。“文档级注意力”(squid attention)可独立关注每个文档,方便交换文档和缓存键值,对产品功能有用。
  8. 真实世界中训练方法的优化目前多数强化学习关注测试用例,而我们更关心模型在贴近人类需求任务上的表现。可从真实人类获取奖励信号,如观察用户真实更改。pass@k比pass@1高,可通过多数投票或奖励模型缩小差距。有奖励信号时可训练和重新训练奖励模型,使其更接近真实需求。
  9. RL基础设施的技术挑战与创新RL基础设施比训练基础设施复杂,建立在其之上,需优化前向和反向传播及推理组件,注重吞吐量。对于GRPO算法,要优化提示处理和参数同步。重用为用户做的推理作为RL推理可简化部分事情,确保策略匹配。
  10. 编程AI的未来未来编程AI将使用更多token,特别是在输出上下文方面。目前部分模型做法浪费资源,未来应摊销成本,让agent从历史经验学习,建立对代码库的深入理解。这反映AI行业从数据受限转向计算优化的转变,一些因计算成本被搁置的想法可能变得可行。编程AI将更智能,改变编程交互方式,传统编程方式将被AI辅助的协作式编程取代。

结尾思考

在未来的编程AI时代,开发者的角色和技能要求会发生哪些根本性的变化?

展开Show Notes
RoyaZon
RoyaZon
2025.9.18
05:52 ChatGPT和kimi目前也有记忆管理模块了 不过确实也限制了大小
usky_1nmp
usky_1nmp
2025.6.12
AI生成的播客?