## 引言 在AI编程工具快速发展的今天,Cursor已经成为最受开发者喜爱的产品之一。在这次深度访谈中,Cursor的联合创始人兼首席产品官Sualeh Asif分享了公司的创立故事、产品理念以及对AI编程未来的思考。 ## Cursor的诞生与成功之路 ### 从搜索引擎到AI编程工具 Sualeh的创业历程始于对语言模型和搜索引擎的深度思考。在大学期间,他就认为语言模型能够压缩全世界的信息,应该成为搜索互联网的端到端解决方案,而不是依赖多年来编码的启发式算法。 对缩放定律(scaling laws)的信仰和对大型模型训练的兴趣,让团队在看到GitHub Copilot时感到震撼。Copilot是第一个真正神奇的项目——快速且令人印象深刻。然而,Copilot在接下来的一两年里改进甚微,这让团队看到了机会。 ### GPT-4的转折点 当团队看到GPT-4时,他们意识到真正优秀产品的天花板已经变得非常高。随着模型变得更好,缩放定律的进展意味着未来可以构建的产品天花板会更高。作为程序员,他们想要构建自己每天都会使用的产品,Cursor最初就是为自己构建的。 ### 实验驱动的产品文化 Cursor早期的企业文化是实验各种使用模型的不同方式: - 是否应该有一个文档,用户在其中输入内容,模型进行编码? - 是否应该有下一步动作预测,告诉用户应该去哪里? - 是否应该能够对整个代码库进行编辑? 其中一些想法需要一年到一年半的时间和多次迭代才能实现,比如核心的下一步动作预测功能——在光标位置预测下一次编辑以及用户应该去的下一个位置。这个功能现在深受用户喜爱。 ## 产品优势与竞争策略 ### 从Vim到VS Code的转变 有趣的是,Cursor团队最初都是Vim的重度用户,但GitHub Copilot的出现成为了他们转向VS Code的转折点。Copilot是一个杀手级功能,足以让这些Vim爱好者改变习惯。 选择基于VS Code构建有几个原因: 1. VS Code是程序员最喜爱的平台 2. 他们希望渐进式地将其演化为自动化编程的世界 3. 虽然未来一年的Cursor应该看起来与今天非常不同,但他们不想从文本框开始,因为程序员仍然希望能够输入字符 ### 为什么在竞争中胜出 许多人都看到了AI编程工具的机会,包括多家YC公司和其他产品。Cursor之所以脱颖而出,主要原因包括: 1. **平衡创新与实用性**:始终努力推进技术前沿,同时确保在任何时候都是最有用的产品。避免过度承诺和交付不足。 2. **谨慎的产品发布**:他们在确信代理真正有用之前不会发布。曾经开发了三个代理原型都没有发布,因为模型会失去跟踪,可能短期内有帮助但长期会损害产品的可靠性。 3. **技术创新的领先性**:很多用户喜爱的功能都是Cursor首创的,比如跳转到下一个应该编辑位置的能力,他们已经拥有了8-10个月。 4. **规模化运营**:他们的自定义tab模型每天处理约1亿次请求,并且快速增长。能够可靠地为大量用户服务也是成功的一部分。 ## 用户数据驱动的产品改进 ### 反馈循环的重要性 用户数据对Cursor的成功极其重要。反馈循环体现在多个层面: **小的方面**: - 了解用户如何使用产品 - 确定任何时候最重要的发布内容 **大的方面**: - 训练模型 - 改进核心工作流程 **技术优化循环**: - 训练第一版相对较大的apply模型 - 为所有用户部署并获取大量数据 - 提炼出更小更快的模型 - 持续压缩模型,因为生成的数据支持这样做 通过这种方式,apply功能对于多达1000-2000行的文件感觉几乎是即时的,这正是他们想要达到的效果。 ## 让编程重新变得有趣 ### 延迟对体验的影响 一个有趣的产品理念是让代码编辑器的使用体验变得有趣。延迟对此有重大影响——当用户从Sonnet切换到O1时,由于延迟较高,编程的乐趣会降低。 最终指标是使用模型时的享受程度。他们很明确,相比O1,他们更喜欢使用Sonnet,部分原因是Sonnet在规模上可靠地相当快。 ### 有趣体验的设计原则 几个因素影响编程的乐趣: - 不必反复向模型解释你在做什么 - 模型理解你最近查看的文件 - 能够快速执行重构(比如10次tab就能完成整个重构) 为了实现这种体验,他们会逆向工程所需的建模工作:确定需要什么大小的模型、需要多少时间进行预训练、后训练和强化学习。 ## 基础设施挑战与解决方案 ### 大规模索引基础设施 Cursor构建了处理每天数十亿文件的索引基础设施。他们运行自己的推理系统,为嵌入文件的所有模型提供服务。 对于拥有40-50万文件的大公司,他们希望在用户编程时能够即时同步到服务器,同时模型使用嵌入来搜索或编辑代码库。 ### 技术架构选择 他们采用了基于S3构建数据库的方法,使用TurboBuffer,它将大部分向量存储在S3路径上,然后有一个写前日志,通过压缩过程将写前日志压缩回数据库。 ### 计算资源分配挑战 一个有趣的基础设施问题是如何分配token容量。当有固定数量的GPU(意味着固定的token容量)时,如何在大型代码库(如LLVM或Weights & Biases)和众多小型代码库之间分配资源? 他们目前试图让两边都相对满意,但仍在寻找更好的答案。与CPU领域不同,GPU领域还没有很好的无服务器选项。 ## 模型选择与DeepSeek的使用 ### 早期采用DeepSeek 令人意外的是,Cursor团队在DeepSeek引起广泛关注之前就已经使用了8-12个月。他们选择DeepSeek的原因包括: - DeepSeek一直在产出优秀的开源代码模型 - 他们有自己的后训练堆栈和强化学习 - DeepSeek在选择真正优秀的预训练基础方面表现出色 - 训练数据质量很好,模型既知识渊博又聪明,运行成本也相对较低 他们特别看好DeepSeek V3,认为它是大型模型的真正优秀预训练基础,对于制作自定义应用非常有用。 ## AI代理的发展与挑战 ### 代理技术的演进 随着强化学习技术的改进,模型在思考和保持连贯性方面都有了很大提升。最重要的变化是模型在产生数万个token输出时的连贯性——以前它们在几千个token后就会进入妄想模式。 这种连贯性的提升来自于强化学习和优秀的后训练。代理之前受到这种连贯性问题的瓶颈限制。 ### 实用性评估 他们判断代理是否足够好的标准很简单:如果开发团队每天编程10小时都不使用它,那么其他人也不会想要使用。 对于代理这样的通用功能,如果团队成员不使用,几乎可以确定它不够有用。 ### 未来的代理能力 公司的使命是尽可能多地自动化编程,同时让开发者保持主导地位。短期内包括: - 在开发者想要后退让模型编程时支持这种需求 - 在开发者想要驱动编辑器时提供精细控制 例如,当你想要从一个gRPC包切换到另一个TLS包时,应该能够告诉模型"我想要切换我的gRPC包来使用Rust TLS",模型就应该理解并进行大规模的代码库级别的更改。 ## 编程工作流程的未来变化 ### 渐进式变化 Sualeh预测在1-2年的时间框架内,人们编程的方式将会改变,但这将是一个渐进的过程,对每个人来说都会感觉极其自然。 他以从没有Copilot到有Copilot的变化为例——回想起来这是极其自然的转变,没有人觉得可怕。它预测你的想法,你会想"哇,这太棒了",然后就开始使用它。 ### 从背景到前景的代理 从Copilot到前景代理界面的变化也是如此——模型跨多个文件进行编辑,你可以说"我想要切换到使用TLS,确保总是使用HTTP2"等等,模型理解并读取所有文件,进行更改,你可以快速审查更改并确认它们是正确的。 ### 更多人将参与编程 他认为未来会有更多人编程,制作更困难的东西——无论是底层的东西还是更大的项目,甚至是个人项目。人们通常对个人项目很保守,因为觉得可能没有那么多时间,但未来人们对这些个人项目会变得不那么保守。 ## 调试和评估复杂AI代理 ### 内部工具开发 对于代理的调试和评估,Cursor正在构建自己的推理基础设施。他们使用名为"preempt"的内部库来构建提示,这个库很适合他们自己的需求。 对于代理基础设施,他们短期内也会构建自己的基础设施,但预期长期会有优秀的开发工具出现,使得检查链条、在任何点停止和重启链条、在生产中出现奇怪情况时调试等变得更容易。 ### 评估方法 目前代理评估主要基于"感觉",但随着他们在发布这些功能方面变得更好,会变得越来越基于具体指标,更加运营化。 ## 个人兴趣与未来项目 ### 阅读体验的改进 如果不在Cursor工作,Sualeh最想改进的是阅读体验——无论是阅读书籍、论文还是代码库。 他认为阅读代码库是编程中被低估的一个方面。所有人都在这些产品中倾注了多年生命——比如Redis,有人把生命倾注在Redis中,他真的想要去阅读和理解Redis,了解哪些是困难的决定,哪些是容易的决定。 ### 推荐的代码库 他特别推荐几个值得阅读的代码库: - **Redis**:相对较小但仍然很有趣,被每个人使用且写得非常好 - **SQLite**:同样写得很好,是由很少数人写成的连贯文档 - **个人使用的软件**:建议人们阅读自己使用的软件的源码 他强调人们往往低估了像PyTorch团队这样的人为了让PyTorch对用户来说真正容易使用和神奇(所有梯度自然流动)所付出的巨大工作量——这需要数万甚至数十万的工程小时。 ## 结语 通过这次深度访谈,我们看到了Cursor成功背后的产品哲学:专注于用户体验、谨慎但持续的创新、以及对AI编程未来的深度思考。Sualeh的分享不仅揭示了Cursor的技术优势,也为整个AI编程工具行业的发展提供了宝贵的洞察。 随着AI模型能力的不断提升和基础设施的完善,我们可以期待看到编程体验的进一步革命——一个既保持开发者掌控力,又极大提升效率和乐趣的编程未来。 ## 引用来源 [Inside Cursor: The future of AI coding with Co-founder Sualeh Asif](https://www.youtube.com/watch?v=ImVr5jyymbM)