Cursor 团队专访:AI 如何重塑编程未来与代码编辑器的革命
AI Coding

Cursor 团队专访:AI 如何重塑编程未来与代码编辑器的革命

M
Michael Truell, Sualeh Asif, Arvid Lunnemark, Aman Sanger
2024年10月7日YouTube
返回首页

金句精选

乐趣的一个重要部分就是速度。很多时候,唯快不破,快就是好玩。

优秀的自动补全旨在预测你接下来的按键,而 Cursor 的概念更具野心——我们预测的是你要做的下一个完整的代码变更(Diff)。

如果不重新思考 AI 如何融入编辑过程,仅仅做一个 VS Code 的插件是不够的。我们不想被现有的环境束缚,我们希望构建最有用的东西。

随着模型变得更聪明,它们能建议的变更范围也会越来越大。变更越大,人类需要做的验证工作就越多,也越困难。

[深度复盘] Cursor团队亲述:我们为什么要“背叛”VS Code,重造一个AI代码编辑器?

📝 创作说明

  • 选题方向: [Cursor团队的AI原生编辑器重构之路]
  • 评分: AI相关性 48/50 + 故事性 42/50 + 加分项 15/20 = 总分 105/120
  • 字数: 2150/2000字
  • 核心价值: 揭秘Cursor如何利用"投机解码"和"稀疏模型"打破Copilot的局限,以及从插件到独立IDE的底层逻辑。

正文内容

还记得你第一次用GitHub Copilot时的感觉吗?

那种"它读懂了我的心思"的惊艳感。但说实话,这种感觉在2023年后是不是越来越淡了?你依然在VS Code里频繁切换窗口,依然要手动修改那些愚蠢的错误,依然觉得AI像个反应迟钝的实习生,而不是真正的结对程序员。

数据不会撒谎。对于大多数资深开发者来说,Copilot的接受率虽然在提升,但它并没有从根本上改变"编写代码"的物理过程。

为什么?因为仅仅做一个VS Code插件是不够的

这就是Cursor团队面临的残酷真相。这不仅仅是一个关于"更好的自动补全"的故事,这是一场关于如何打破微软垄断、利用底层AI技术重构编程体验的豪赌。

今天,我们要拆解的是Cursor团队(Aman, Arvid, Michael, Sualeh)如何在GPT-4发布前夜,做出了那个改变一切的决定——Fork VS Code,重造轮子。


故事的主角是四个来自MIT的年轻极客。

特别是Aman Sanger,他曾是一个坚定的"AI怀疑论者"。在2022年6月,他和团队成员立下了一个赌约:他赌AI模型的能力已经到了瓶颈,所谓的"Scaling Laws"(缩放定律)将不再奏效。他甚至甚至做了一件T恤,上面印着"Scaling Laws"的公式图表,以此来嘲讽这种盲目相信"越大越好"的教条。

那时候的他们,和大多数开发者一样,也是Vim和VS Code的死忠粉。他们试图在现有的编辑器上通过插件来提升效率,就像给一辆马车装上涡轮增压器。

他们开发了用于金融领域的AI工具,尝试过Jupyter Notebook的静态分析插件。虽然有点用,但总感觉隔靴搔痒。


核心冲突在2022年底爆发了。

当时团队拿到了GPT-4的早期访问权。那一刻,Aman意识到自己输得很惨——"Scaling Laws"不仅没有失效,反而带来了惊人的能力跃升。

但随之而来的是一个巨大的痛点:现有的IDE架构根本承载不了GPT-4的智力。

如果你只是一个插件,你无法控制光标的跳转逻辑;你无法在用户毫无察觉的情况下,预判并修改10行以外的代码;你无法为了降低延迟,去魔改底层的推理机制。

"如果你想让AI真正接管编程,你不能只做副驾驶(Copilot),你得造一辆新车。"

这就像是你试图在Word文档里植入Excel的计算功能,无论怎么优化插件,体验永远是割裂的。如果不掌握编辑器的源代码,AI永远只能是"建议者",而不能成为"行动者"。


转折点发生在他们决定"Fork"(分叉)VS Code的那一刻。

这在技术圈通常被视为自杀行为。维护一个像VS Code这样庞大的开源项目的分支,工作量是天文数字。但他们发现,如果不这样做,AI的能力就被锁死在了一个小小的侧边栏对话框里。

他们想要实现的,不是"补全代码",而是"预测意图"。

这个决定直接催生了Cursor最核心的杀手锏——Tab键的进化。这不再是简单的字符补全,而是一整套AI原生工作流的重构。


下面,我们深入拆解Cursor团队是如何利用AI重构编程体验的,这套方法论不仅适用于工具开发者,更值得每一个希望利用AI提效的程序员深思。

第一步:重新定义"自动补全"(从Token到Action)

传统的Copilot逻辑是:预测下一个单词。 Cursor的逻辑是:预测你接下来的所有改动。

在Cursor中,当你按下Tab键时,它不仅仅是补全一行代码。它可能直接跳到18行以下,修改一个变量名,然后自动修正上面所有引用该变量的地方。

这背后的技术逻辑是**"差异预测"(Diff Prediction)**。

Cursor的模型并不是在生成文本,而是在生成一个"Diff"(差异补丁)。它在后台默默计算:如果用户现在的意图是"增加一个鉴权功能",那么整个文件需要发生哪些变化?

这种体验就像你身边坐着一个高级工程师。你刚写完函数头,他不仅帮你写完了函数体,还顺手帮你把Import语句加好了,甚至把单元测试的框架都搭好了。你只需要一路狂按Tab键。

第二步:为了极致速度的"投机解码"(Speculative Decoding)

这是Cursor最硬核的技术壁垒。

如果你用过ChatGPT写代码,你会发现它是一个字一个字往外蹦的。这种延迟在IDE里是不可接受的。程序员的思维速度极快,任何超过200毫秒的延迟都会打断心流。

Cursor引入了**"投机解码"**技术。

简单来说,他们训练了一个非常小、非常快的小模型(Small Model)。当你打字时,这个小模型会疯狂地"猜测"你接下来要写的代码,瞬间生成一堆草稿。

然后,那个更聪明但也更慢的大模型(Large Model)会在后台并行验证这些草稿。如果小模型猜对了(对于很多常规代码,小模型准确率很高),大模型就直接批准,这些代码就会瞬间出现在你的屏幕上。

这就像是小模型是"快手草稿员",大模型是"审核主编"。这种配合让Cursor的代码生成速度比普通API调用快了数倍,真正做到了"跟手"的体验。

第三步:上下文感知的"KV缓存"(Context Awareness)

为什么很多AI插件经常"幻觉"?因为它们记不住你之前写了什么。

在编程中,上下文就是一切。你修改了A文件的接口,B文件的调用也得改。Cursor利用了**KV缓存(Key-Value Cache)**技术来解决这个问题。

通常,每次你向AI提问,它都要把你整个文件的代码重新读一遍,这非常消耗算力和时间。Cursor通过精心设计的Prompt工程和缓存机制,让模型"记住"了你的代码库状态。

这就意味着,当你进行跨文件修改时,不需要重复输入背景信息。Cursor已经把你项目中的依赖关系、变量定义都"缓存"在大脑里了。

这也解释了为什么Cursor的"Cmd+K"(AI指令生成代码)如此强大。你可以直接选中一段代码,输入"把这个改成异步调用",它能立刻理解你的意图,并结合上下文给出完美的修改,而不是像通用的LLM那样给你一段需要手动调整的通用代码。

Fourth Step:重构人机交互的"UI哲学"

技术再强,如果界面反人类也没用。Cursor团队在UI上做了大量的"减法"。

在早期的版本中,当AI建议修改代码时,Cursor采用了类似Google Docs的"删除线+新文本"的显示方式。结果用户反馈非常糟糕——屏幕上红红绿绿的一片,根本没法看。

于是他们发明了**"幽灵文本"(Ghost Text)"蓝色高亮"**的交互模式。

  • 预判而非打扰:AI的建议会以灰色幽灵文本的形式悬浮在后方,只有当你按住Option键(或特定快捷键)时,它才会显现出完整的Diff视图。
  • 低熵区域自动通过:对于那些显而易见的代码修改(低熵信息),Cursor会设计让用户一键通过,不需要仔细审查。
  • 高熵区域重点标注:对于那些复杂的逻辑变更(高熵信息),UI会用更明显的颜色提示用户:"嘿,这里逻辑变了,你得仔细看看。"

这种设计哲学的核心在于:将人类的认知负荷降到最低,只在真正需要决策的时候唤醒你的注意力。


当然,Cursor的成功并非仅仅因为这几个功能,它验证了一个更宏大的理论——Scaling Laws(缩放定律)在垂直领域的有效性。

OpenAI的论文在2020年就告诉我们:只要算力和数据量跟上,模型的智能程度就会呈指数级上升。Cursor团队虽然最初对此表示怀疑(还记得那个赌约吗?),但他们最终成为了这一理论的坚定践行者。

他们证明了,通用大模型(如GPT-4)虽然强大,但通过在特定领域(编程)进行微调,并结合专门的推理架构(如投机解码),可以解锁出远超通用模型的生产力。

这也给我们揭示了一个道理:未来的软件,不是"软件+AI",而是"AI原生软件"。 任何试图在旧架构上打补丁的产品,最终都会被从底层重构的AI原生产品所取代。


不过,Cursor也并非没有局限性。

首先是**"验证难题"**。随着AI生成代码的速度越来越快,人类程序员的角色正在从"作者"转变为"编辑"。阅读和审查代码其实比自己写代码更累。如果你看不懂AI生成的复杂逻辑,一旦出现Bug,调试起来将是灾难性的。

其次是**"过度依赖"**。就像GPS让人丧失了认路能力一样,如果连最基本的循环结构都要靠Tab键生成,新一代程序员是否会失去对底层逻辑的掌控力?

最后,它依然受限于上下文窗口。虽然有KV缓存,但面对数百万行的超大型遗留代码库(Legacy Code),目前的AI模型依然很难做到全知全能。


但无论如何,Cursor已经推开了新世界的大门。

Aman在那场赌局中输掉了,但他和他的团队赢得了未来。他们用行动告诉我们:当AI浪潮来临时,不要试图修补那艘旧船,去造一艘新船吧。

在这个"Tab-Tab-Done"的时代,你的核心竞争力不再是打字速度,甚至不再是语法记忆,而是定义问题和判断结果的能力

正如他们所说:"未来的编程,是你与计算机之间的一场高速心灵感应。"

既然未来已来,为什么不现在就按下那个Tab键呢?