Cursor 的 Tab Completion 功能简史
Cursor 的 Tab Completion 功能简史
Jos van der Westhuizen
2025年5月5日
在构建我们自己的 Unity tab-completion 功能时,我探索了现有的解决方案及其迷人的历史。 这让我了解了 Cursor 收购 Babble 的故事,Babble 是当今最好的 tab-completion 模型。 Babble 起源于 Jacob Jackson 早期的代码补全工具 TabNine,通过使用编辑序列进行训练彻底改变了这个领域——远优于传统的 Fill-in-the-Middle 方法。 Babble 凭借突破性的 1M 上下文窗口,在速度和范围上都大大优于竞争对手。 Cursor 收购 Babble 不仅提升了他们自己的产品,还确保了显着的数据优势,使他们处于 AI 驱动的编码助手的最前沿。
作为为 Unity 构建我们自己的 tab-completion 的一部分,我深入研究了当前的 tab-completion 解决方案,它们的工作方式以及如何训练它们。 这个简短的故事是关于 Cursor 如何收购市场上最好的 tab-complete 解决方案的。
要讲述这个故事,我们必须回到 LLM 成为主流之前的时代。 2018 年,Jacob Jackson 创建了一个名为 TabNine 的产品,这是最早的代码补全工具之一。 为了参考,ChatGPT 的 LLM 觉醒发生在 4 年后,当时 OpenAI 发布了 ChatGPT 的早期演示(2022 年 11 月 30 日)。 Jackson 于 2019 年毕业于 University of Waterloo。 在学习期间,他在 Jane Street、Hudson River Trading 和 OpenAI 实习,并且在业余时间启动了 TabNine。 他通过简化 Jane Street 内部的 UI 创建,从而很早就开始涉足开发工具。
Codota 于 2019 年 11 月收购了 Tabnine,Jackson 在接下来的 2.5 年中担任 OpenAI 的 Research Scientist。 他于 2022 年离开 OpenAI 创立了 Supermaven,这是 Cursor 的直接竞争对手(也成立于 2022 年)。 Supermaven 从未像 Cursor 那样受欢迎,但他们的 tab-completion 模型 Babble 是市场上最好的。 2024 年 2 月,当 ChatGPT 的上下文窗口为 32k 时,Babble 的上下文窗口为 300k,延迟为 250 毫秒。 与当时 Cursor 模型的 1883 毫秒延迟相比!
在 Supermaven 被收购之前,他们的 Babble 拥有 1M 的上下文窗口,考虑到流行的(速度较慢)聊天模型仍然只有大约 128k,这简直是荒谬的。
他们从一开始就拥有的一个关键区别在于他们训练 Babble 的方式。 大多数提供商使用 Fill-in-the-Middle (FIM) 方法来训练他们的 auto-complete 模型,但这相当有限,因为建议的编辑将始终从你的 caret(文本光标)所在的位置向下进行。 但是,如果您想跳转到文件顶部以导入一个新包怎么办? 或者,如果您想完全跳转到一个新文件怎么办?
作为解决方案,Babble 是在编辑序列而不是代码行上进行训练的。 更类似于你在 git diff 中看到的内容。 由于 Cursor 拥有整个编辑器,因此他们可以了解开发人员在项目中发起、接受和拒绝的更改,这使他们处于训练最佳 tab-completion 模型的最有利位置。
但是,Cursor 并没有真正拥有最好的模型,与此同时,Cursor 的创始人 Jacob 一直在交谈,并且在 Supermaven 成立之前就认识了。 Jacob 计划在达到插件的限制后制作自己的 IDE。 Cursor 团队可能正在努力追赶 tab complete,所以这是一场天作之合。
这就是 Cursor 获得市场上最好的 tab-complete 模型的方式。 鉴于 Cursor 庞大的客户群,他们现在拥有巨大的数据护城河,以保持他们的模型处于最佳状态。 目前的主要风险似乎是我们可能会彻底改变 code-copilot 工作流程,正如我们所看到的 Cline。
‹ How Cline Quietly Changed The Game For Code Copilots
Simple, fast, and intuitive AI for Unity development. Come Play.
Made with
in San Francisco
Powerful, fast, and intuitive AI for Unity development. Come Play.
Made with
in San Francisco
Simple, fast, and intuitive AI for Unity development. Come Play.
Made with
in San Francisco