正文
Michael:
当我们开始构建 Cursor 时,我们对推向市场持谨慎态度,避免过早发布。最初,我们从零开始构建原型,并没有以 VS Code 为基础。我们必须自己开发许多现代代码编辑器所需的功能,包括多语言支持、语言间导航、错误追踪等,还需要集成命令行和远程服务器功能。
我们迅速投入到开发工作中,五周后开始完全使用自己的编辑器,放弃了之前的工具。当我们发现它有用时,就让其他人试用,并进行了短期测试。几个月后,我们将其推向市场,大约是在写出第一行代码后的三个月。那时我们的心态是:“让我们尽快发布这个产品,公开构建。”
令我们惊讶的是,我们本以为会长时间为几百个用户开发,但一开始就收到了大量兴趣和反馈,这些反馈非常有帮助,并促使我们从手工构建的编辑器转向基于 VS Code 的版本。从那时起,我们就开始在公开环境中进行迭代。
Lenny:我觉得你们从零到一亿的年经常性收入(ARR)只用了大约一年到一年半的时间,这真是历史性的成就。你认为你们成功的秘诀是什么?
Michael:
三个月的版本其实并不太好,所以我认为成功的关键在于持续的焦虑和对改进的不断追求。我们始终意识到,产品有许多改进的空间。我们的最终目标是发明一种全新的编程方式,自动化大部分当前的编码工作。尽管 Cursor 已经取得了一些进展,我们仍然觉得离这个目标很远,仍有大量工作需要完成。
Lenny:
你们构建了一个自己作为工程师非常喜欢的优秀产品,然后发布出去,人们喜欢它,再纷纷告诉别人。
Michael:
我们也确实花时间做了很多其他工作,比如组建团队和支持轮换等。但一些通常在公司早期阶段需要关注的问题,我们选择让它们在一段时间内处于“燃烧状态”,尤其是在销售和市场营销方面。我们专注于产品,先打造一个自己和团队都喜欢的产品,然后再根据用户反馈进行调整。听起来简单,但实际上要做得好非常难。
有很多方向和路径可以选择,专注于正确的事物并有效排序优先级是非常具有挑战性的。在这个领域的另一个难点是,这种产品构建方式非常跨学科——我们既不是普通的软件公司,也不是基础模型公司,因为我们要为数百万用户开发产品。在保证产品质量的同时,还需要在合适的地方做更多的科学研究和模型开发。因此,如何在这方面做到平衡,一直是一个挑战。
Lenny:到目前为止,你在构建 Cursor 和其他 AI 产品过程中,做过的最违背直觉的事情是什么?
Michael:
最违背直觉的一点是,刚开始时我们完全没想到会进行自己的模型开发。进入这个领域时,已有公司专注于从零开始训练模型,我们也计算过训练成本,知道这对我们来说难以实现。外面已经有很多优秀的模型,尤其是在预训练方面,我们认为不必重复做别人已经完成的工作。
然而随着发展,我们进行了大量模型开发,并专门招聘了一个优秀的团队。到目前为止,Cursor 中的每个“魔法时刻”都与自定义模型相关,这个过程是逐步发展的。最初,我们训练自己的模型是因为没有合适的大型基础模型可用,结果非常成功。在模型开发过程中,一个有帮助的策略是精心选择合适的领域,不要集中精力在基础模型已表现优秀的地方,而是要聚焦于它们的弱点,并思考如何补充它们。
Lenny:很多人听到你们有自己的模型时会感到惊讶。人们谈论 Cursor 和这个领域的其他公司时,会认为它们只是建立在 ChatGPT 或 Sonnet 之上。能谈谈你们的模型背后技术堆栈的情况吗?
Michael:
我们确实在多个场景中使用了最大的基础模型,它们是 Cursor 体验的重要组成部分。我们自己开发模型的地方,通常是为了处理一些基础模型因成本或速度原因无法满足的用例。例如,自动完成功能。在编码中,有时你可以完全预测接下来的一段工作,就像写作时的自动补全一样。不同的是,编码时,下一步修改的内容通常可以从之前的代码中预测出来。
Cursor 的核心功能之一就是针对自动完成功能的优化,能够预测你在多个文件或同一文件多个位置上的操作。要让模型在这个用例中表现出色,首先需要解决速度问题,模型必须在 300 毫秒内提供自动补全,并且要控制成本,因为每次按键时都需要运行大量模型并不断调整预测。另一个特殊用例是代码差异的自动补全。我们训练了专门的模型,使其能够精准地预测代码库中的变化,包括删除和添加部分。
此外,我们还使用自有模型来辅助像 Sonnet、Gemini 或 GPT 这样的基础模型,作用于输入和输出端。在输入端,我们的模型遍历整个代码库,找出与大模型相关的部分,像一个专门的小型搜索引擎;在输出端,我们获取大模型的修改建议,并通过我们自己的模型填补细节。这样,我们能够将高层次的修改转化为完整的代码差异,极大地提升了产品的质量和速度。
Lenny:我之前在播客上采访了 OpenAI 的首席产品官 Kevin Weil,他称之为“模型集成”,就是以这种方式运作——利用每个模型的最佳特性,并且如你所说,使用成本更低的模型带来的优势。其他模型是指基于 Llama 之类的开源模型吗?
Michael:
是的。我们从现有的最优秀的预训练模型开始,通常是开源的,有时也会与这些大模型提供商合作,尽管他们并不公开分享模型的权重,因为我们最关心的不是逐行读取权重矩阵来获得特定的输出。我们更关心的是能够训练这些模型,并进行后训练。
Lenny:这引出了一个很多 AI 创始人和投资者总是思考的话题,那就是护城河(moats)和 AI 领域的防御能力。你如何看待定制模型的长期防御能力,特别是知道有其他公司,不断发布新产品,试图抢占你的市场份额?
Michael:
我们处于一个必须不断努力构建最好产品的领域,这对我们和整个行业都是如此。天花板非常高,无论构建什么样的壁垒,都有可能被超越。尤其是在搜索领域,增加分发渠道能帮助改进产品,因为可以根据用户反馈调整算法和学习方式。
我认为,这种动态同样适用于我们的市场。虽然这对我们公司来说可能是令人沮丧的事实,但对世界而言却是令人兴奋的,那就是:有许多可以超越的机会,还有更多有用的东西等待被构建。我们离能够在未来 5 到 10 年内完全竞争还有很长的路要走,而我们的责任就是保持这个进步。
Lenny:
持续做到最好,让人们一直使用你的产品,而不是通过创建“锁定”机制之类的方式来留住用户,像 Salesforce 通过与整个公司签订合同,迫使他们使用你的产品。
Michael:
我认为,如果你所在的领域很快就会耗尽创新机会,那就不太适合。但如果你处在一个需要大量投资,并且通过让更多优秀的人在正确的路径上工作来不断创造价值的领域,你就能获得研发规模的经济效益,并推动技术朝着正确方向发展,最终形成竞争壁垒。尽管如此,我相信最关键的还是要打造出最好的产品。