Lex Fridman 播客 #447

对话Cursor:重塑人与AI的编程协作

本报告深入解析了Cursor创始团队的访谈内容,探讨其如何通过深度整合AI,从根本上改变软件开发。这不仅是关于一个代码编辑器,更是关于编程的演进、效率的飞跃以及人机协作的全新范式。

Cursor的诞生之路

1

Vim时代

团队成员均为Vim忠实用户

在Cursor诞生之前,团队成员都是Vim的资深用户,习惯于高效、纯粹的文本编辑环境,追求极致的编程效率。

2

Copilot 出现 (2021)

为体验AI而转向VS Code

GitHub Copilot的发布,作为首个杀手级LLM应用,其强大的自动补全能力吸引团队成员放弃Vim,转而使用当时唯一支持Copilot的VS Code,初步体验到AI辅助编程的魔力。

3

GPT-4 启示 (2022)

预见到AI将彻底改变编程

2022年底,团队获得GPT-4的早期访问权限。GPT-4在能力上的巨大飞跃,让他们确信AI将彻底改变软件构建方式,不仅仅是提高生产力,更是重塑编程的本质。

4

Cursor 诞生

分叉VS Code,打造原生AI编辑器

团队意识到现有插件模式的局限性,决定分叉VS Code,从底层构建Cursor。旨在打造一个深度整合AI、以程序员为中心、强调速度与控制的下一代编程环境。

三大核心AI功能

Cursor不满足于简单的代码补全,而是从预测、审查到应用,构建了一套完整的AI辅助编程工作流,旨在消除低效操作,提升开发乐趣。

Cursor Tab: 超越自动补全

它的目标不只是补全代码,而是预测你的“下一个动作”,包括跨行编辑、文件跳转等,让你可以通过连续按Tab键完成一系列连贯的编程任务。

const user = await prisma.user.findUnique({
  where: { email: 'user@example.com' },
});

// AI预测: 你可能想检查用户是否存在
if (!user) {
  throw new Error('User not found');
}

// AI继续预测: 接下来可能要获取用户的帖子...
const posts = await prisma.post.findMany({
    where: { authorId: user.id }
});

技术揭秘

从模型选择到性能优化,Cursor的背后是一系列精心设计的技术决策,旨在为用户提供最流畅、最智能的编程体验。

模型对决:GPT vs Claude (Sonnet)

团队认为,目前没有模型能全方位胜出。OpenAI的o1模型在纯粹的推理上表现优异,而Anthropic的Sonnet在理解用户模糊意图方面更胜一筹,综合表现被认为是当前最佳。此图表基于访谈中的定性评价。

关键技术概念

🚀 性能优化

Cursor通过多种技术实现极致性能:
- KV缓存(Key-Value Cache):Transformer模型在生成Token时会计算并存储键值对。通过复用这些缓存,可以避免重复计算,显著降低延迟和成本,尤其是在处理长Prompt时。
- 推测性编辑(Speculative Edits):这是推测性解码的变体。模型利用现有代码作为强先验,预测用户可能进行的修改。它能快速验证大部分不变的代码,只在有差异的地方进行生成,从而大幅加速编辑过程。
- MoE模型(Mixture of Experts):稀疏模型在处理大量输入Token但只生成少量输出Token时效率更高。这使得Cursor在处理长上下文时,能以极低的延迟响应,同时优化GPU负载。

🧠 Prompt工程 (Preempt系统)

借鉴React的声明式思想,用类似JSX的组件动态构建和优化Prompt,确保模型总能获得最相关的上下文信息。

🐞 Bug发现的挑战

模型在发现bug上表现不佳,因缺乏相关训练数据。未来希望通过合成数据结合运行时信息来提升此能力。

编程的未来展望

Cursor团队相信,编程的未来不是用AI替代程序员,而是创造一个人类主导、AI辅助的高效协作环境。

AI智能体与影子工作区

未来的AI智能体将在“影子工作区”中自主完成任务(如修复bug),它们可以在不干扰用户的情况下修改代码、获取编译器反馈并进行迭代。

用户下达指令

影子工作区 (后台运行)

AI修改代码 获取LSP反馈

任务完成,提交审查

程序员的演变

AI将消除繁琐的样板代码,让编程变得更加有趣。未来的程序员将:

  • 更专注于创造与设计:将精力从“如何实现”转移到“创造什么”。
  • 以判断的速度迭代:AI大幅提升修改和重构的效率,让快速试错成为可能。
  • 掌握抽象层次的控制:能够在代码的不同抽象层次间自由切换,进行更高维度的思考和操作。
  • 保持主导地位:AI是强大的副驾驶,但最终的决策和方向盘仍掌握在人类手中。