我们意识到,自己对编程的未来怀有发自内心的兴奋。我想我们当时退后一步,意识到如果真正坚持我们的信念,那么在未来 5 年里,整个编程领域都将迎来变革的机遇,所有软件开发都将流经模型。当时感觉,这个领域里没有人真正认真对待这一点。感觉他们拥有优秀的产品,也只是在让产品好一点点,但并没有真正瞄准一个“我们今天所熟知的编程全部被自动化、构建软件的样子变得截然不同”的世界。带着这样的想法,我们开始投身其中。让我们从创始人旅程的起源故事开始聊起吧。你得一直回溯到中学时代,那时你在读 PJ 的文章,对吧?早期的时候,我想,很长一段时间以来我都对创办公司感兴趣。也对很多其他事情感兴趣。实际上,最初接触编程是因为想做一个带点商业性质的东西。我第一次看到代码是在某个寒假,我和弟弟想打造一款爆款手游。我们不太清楚该怎么做,就在 Google 上搜索“怎么制作游戏”。听说需要下载一个叫 Xcode 的应用,我们就下载了,然后迎面撞上了一堆古怪、花哨、晦涩的符号,那就是 Objective C。你知道,它现在还在,但可能因为一些合理的原因,不如当年那么流行了。我盯着这堵密不透风的 Objective C 高墙,而我弟弟则当场就放弃了,没有继续学编程。他现在走了一条完全不同的职业道路,好像在尝试画画之类的。但我坚持了下来,买了一本 Objective C 的书,最终开始着手做手游。这就是我接触编程的起源。后来在此过程中,没错,我也成了 PG 文章的忠实读者,还有 Sam 的文章,以及 YC 里很多人的文章。从高中最早期开始,这绝对是巨大的灵感来源。我觉得 Cursor 最不可思议的地方在于,你现在才 24 岁,却在极短时间内打造出了这家庞然大物般的公司。在很多人看来,这似乎有点横空出世,但这其实酝酿了十多年。你一直在开发并发布很多不同的项目,对吧?而且你在高中时就已经在做 AI 相关的事了,对吧?跟我们讲讲这些项目,以及你是怎么入门的。我很幸运很早就接触了编程,也很幸运很早就对 AI 产生了兴趣,并且很快就找到了很棒的合作伙伴一起做一些 AI 项目。那是在我涉足手游之后——我手游做得也不太好——所以我做的东西里,实际上最火的一个,恰恰是技术上最容易实现的一个。这或许给创业上了一课:代码并不是一切。那是一个手游或者说移动应用,可以在 Piano Tiles、Flappy Bird 这类游戏里伪造高分,然后发给朋友。那就是走红的东西。并不是那种你呕心沥血亲手打造游戏引擎的作品。不过,在那之后不久,我和一个朋友对造一条机器狗产生了兴趣。我们觉得,如果能有一个不用编程就能教它做事的机器人,那就太棒了。相反,你可以像训狗一样给它正面和负面反馈。比如它做了好事,你可以给它“奖励”;做了坏事,你可以说“不行”。这样也许你就能教它玩捡球之类的。这个想法让我们非常兴奋。但我们完全不知道该怎么造。于是,再一次,我们从人人都会起步的地方开始——Google——然后钻了很多兔子洞,最后把我们带入了遗传算法(genetic algorithms)的世界,也许这能帮我们造出想要的机器狗。后来我们终于了解到了神经网络(neural network)这东西,因为当时有些人在尝试用遗传算法来演化神经网络,比如 NEAT 那类工作。再后来,这就把我们引向了 RL(reinforcement learning,强化学习)——要知道早在 2015 年,人们就已经在这个领域耕耘很久了。最终,我和朋友确实造出了几个机器人。我们并没有做出什么真正经得起时间考验的重大成果,但我们当时做了一些有趣的工作,主要是让强化学习算法更高效地利用数据——也就是让它们能从极少的数据点中学习,数量级大概在几十个数据点,同时还能从带有噪声的数据,也就是人类给出的数据中学习。那并不完全是一条狗,但我们造了几个机器人,其中一个多轴机械臂可以挥动球拍打乒乓球,如果你给它装上合适的传感器,并给出恰当的正面和负面反馈,你就能教它在看到球时挥拍。然后我们还有一个 Kiwi drive 机器人,我们教它沿着线走。实际上,这算得上是一次很好的 ML(机器学习)启蒙。部分原因在于我们当时既蠢又天真,根本不知道还有 Torch、TensorFlow 这类东西,也不知道有很多现成的构建模块可以用,大概是我们还不太会用 Google 搜索。所以你们是从零开始实现了自己的神经网络?是的。当时大概 16、17 岁吧?问题的约束条件在于,我们是在和机器人打交道,也就是在和微控制器(microcontrollers)打交道。微控制器的内存非常小,根本装不下任何正常的标准 ML 库。所以,在我们为了造机器狗而折腾各种琐事的过程中,我们自己实现了一个极小的神经网络库。我记得当时我们其实完全不理解这些事物的内部原理,也不太懂微积分,只是磕磕绊绊地重新实现了一些神经网络里的重要概念。我觉得这教会了我们很多。但我也觉得,我们在基础上有很多缺漏,后来花了很多年才补上。然后快进到创立 Anysphere。这个名字很有意思,因为 Cursor 并不是它最初的样子。你们创业的时候,应该是刚从 MIT 毕业,对吧?那是在 2022 年。你们四个人最初在 2022 年开始做的是什么想法?是的。Cursor 的起源其实是在 2021 年。我和我的联合创始人长期以来都对 AI 很感兴趣。我们每个人都有自己的那个“机器狗时刻”——比如我的一位联合创始人曾在 Google 尝试做一个竞品,实际上是在 2021 年用 LMS 训练他自己的 contrastive models。我的一位联合创始人在学术界做计算机视觉(computer vision),我们中还有些人在 Google 这样的公司做过推荐系统(recommendation systems)。但我们确实对 AI 很感兴趣。2021 年,我们试图想清楚该如何处理这份兴趣:是去学术界做 AI,还是加入一个已经成型的大型 AI 项目,抑或我们自己单干?当时有两个时刻真正让我们兴奋了起来。一是看到首批 AI 产品开始问世,GitHub Copilot 对我们来说确实是典型例子。二是看到一些研究,表明未来随着模型规模扩大,AI 可能会可预见地变得更好。
2022 年初,我和联合创始人们基本上进行了一场为期一个月的黑客马拉松,开始捣鼓一些想法,大致是选一个知识工作领域,然后构建出随着 AI 越来越成熟后该领域的样子。你们为第一个想法收集了大量数据,对吧?是的。所以我们长期投入的第一个真正想法是在机械工程领域。我们试图为机械工程师打造一款 copilot,并训练模型来预测你在 CAD 系统(比如 Solid Works 或 Fusion 360)中的操作——也就是机械师在电脑上进行三维零件建模的地方。我们选择这个领域是因为觉得它无聊、沉寂、缺乏竞争,有点像是在做纸上谈兵的 MBA 分析;尽管从一开始这就是个糟糕的选择,因为我们谁也不是真正的机械工程师,而且技术科学层面也还没准备好进入那个领域。但你们坚持做了好几个月,对吧?你们爬取了所有这些 CAD 文件,而且确实做出了能自动补全的东西,对吧?那就像是第一个能用的版本。是的,大量工作都在数据爬取上。说实话,就是试图把互联网上所有的 CAD 模型都弄到手。还有各种不同的文件格式,我们试图把它们全部转换成某种标准格式,因为 CAD 是个很奇怪的软件市场,有很多不同的系统都挺流行,非常碎片化。还有一些云 CAD 系统,它们的文件不容易导出,也不希望你爬取他们的数据,所以这方面也费了不少功夫。另外,当时做任何建模工作的训练基础设施都非常原始,因此在基础设施层面也投入了大量工作,还要大量实验模型,以及大量实验如何东拼西凑地给这些 CAD 系统做个扩展进去,因为你知道,我们是在做扩展,而这些应用本身根本不可扩展。当时其实我们还在做其他项目。我的两位联合创始人正在做一个端到端加密的消息系统,因为其中一位有安全研究背景。那个想法是,像 Signal 和 WhatsApp 这样的应用虽然加密了消息内容,但并没有隐藏谁在什么时候和谁通话,而如果你不想信任消息应用提供商,这其实是非常关键的信息。所以,比如一名记者正在和政府内部的某个线人联系,仅仅知道他们在通话这件事本身,其实就是一条非常重要的信息。那是在 2022 年中左右。所以你们在这个想法上投入了大约整整 6 个月。是的。那你们当时有多少用户?就是说,你们发布了产品。所有这些项目都上线了,但基本上没有任何用户。你们是在什么时候意识到这个想法行不通的?就是那种,“糟了,我们都在做这个,我们想创业,但这行不通”的时刻。那个时刻是什么样的?我觉得每个项目的情况不太一样。对于我两位联合创始人做的那个消息系统,技术上确实令人印象深刻,但存在一些糟糕的权衡,导致它不太可扩展。他们试着把它给别人用,但效果并不好。然后又尝试 B2B 销售,也不太行。而对于 CAD 的想法,是在花了几个月时间试图获得增长之后——是的,花了好几个月试图让模型对终端用户真正有用——然后还要面对一个问题:我们真的对这些领域感兴趣吗,还是说有没有其他我们本身更兴奋的领域?所以有一个时刻,你们决定“好吧,这些想法行不通,我们得再次转型”。是的。你们在最终落到代码补全之前,辗转了三、四、五个想法。是的,我觉得我们其实很早就被 Copilot 这类工具所启发,而且我们一直在回避做 AI 编程,因为我们觉得这竞争太激烈了——当时竞争激烈,现在依然激烈。所以——
2022 年 GitHub Copilot 的收入已经有大约 1 亿美元了。我觉得可能更多。可能更多。是的。然后你们想,“哦,我们仍然能比 GitHub Copilot 做得更好,因为大家觉得大局已定。”就像在说:“嘿,GitHub。”
嗯,我的意思是,一开始我们并不认为自己能做到。然后我觉得,是在其他想法上折腾了一段时间后,那种绝望感——慢慢对它们失去了兴奋感,而且它们也确实没成。我觉得这种经历会塑造你在乎什么、目标是什么。然后我们意识到,自己内心深处其实对编程的未来非常兴奋。另外,我们也看到了这个领域其他人在怎么做产品,看到了技术如何发展。我觉得我们退后一步,意识到如果我们真正坚持自己的信念,未来 5 年里整个编程领域都会发生变化,所有软件开发都将流经模型。而当时似乎没有人真正认真对待这一点。感觉他们有很好的产品,也在让它们变得更好一点,但他们并不是在瞄准一个“我们今天所知的所有编程都被自动化、构建软件最终会变得面目全非”的世界。带着这样的想法,我们开始着手去做这件事。那是个大胆的决定,因为你们说好不再做那些我们背景不够深的其他想法,而你们对编程很兴奋,尽管房间里已经有了 GitHub Copilot 这么个庞然大物。你们决定去做,说“我们就来解决这个问题”。当时其实没觉得大胆,或者算什么重大举措,因为就是一群人坐在客厅里,对着笔记本电脑而已。又不像什么大公司转型。但是的,我们确实做了。一开始我们是试探着进入的,想着也许可以做一款非常小众的工具,专门做安全审查,比如试图检测代码里未来的 CVE,或者也许只针对软件的某个小众领域做点东西。嗯,我们考虑过为量化金融从业者构建工具,实际上也为量化研究人员做过一些原型之类的东西。但是,在做的过程中,我们满脑子都是 Cursor 可以变成什么样——如果它的目标就是成为用 AI 编程的最佳方式,而且是普适性的。然后我觉得我们对这一点有了极强的信念,也极其兴奋,所以在某个时刻我们就决定放手一搏。是的。那是在 2022 年底,对吧?你们决定转型,然后多快就发布了第一个产品?第一个产品长什么样?大概是几周后就发布了?那是什么样的?嗯,我们确实花了一些时间才公开发布东西。嗯。我想大概花了三个月,从写下第一行代码到对外开放并正式发布。最初我们是完全从零开始搭建了自己的编辑器。天哪。不过它仍然使用了很多开源模块。有很多优秀的基础组件,比如 CodeMirror,还有语言服务器等等,有很多开源技术能帮你构建编辑器,但没错,它确实是从零开始拼凑起来的,而且我们有自己的 remote SSH 版本,当时也有自己的 Copilot 集成,因为我们还没有自动补全这类功能,你得搭建自己的 peen 系统,得自己搭建所有语言服务器的集成——要把一个东西做到能在已经相当成熟的代码编辑器市场上具备竞争力,并且能成为用户的主力工具,需要投入的东西太多了。不过我想大概用了四周,我们就做出了一个可以自己日常使用的版本。又过了大概四周,我们把它交给了第一批 beta 测试用户,然后再过四周就发布了,那时候它仍然非常粗糙。向公众开放这件事当时感觉没什么大不了的。你们从第一个版本中学到了什么?因为你们从零开始搭了一个代码编辑器,那时候还没有走 fork 现有项目的路线。对。我们当时心里特别没底,甚至可以说是怀着恐惧。我是说,之前我们做的一些东西,人们并不是很喜欢。所以我觉得我们当时就是孤注一掷,非常专注。但我们从中学到了什么?嗯,我觉得我们初步摸索出了第一批 AI 功能。你知道,最开始的时候,我觉得只有一个快捷键,会在编辑器里调出这样一个类似万能遥控器的界面,你跟它说要做点什么,然后完全由 AI 自己去琢磨:哦,你到底想让我做什么?你是想要一个聊天式的回复,还是想要一个可以直接采纳的代码建议?你是想让它去搜索你的代码库然后回答一个问题?还是想让它运行很长时间或者很短时间?那时候可控性很差。我觉得我们学到了——考虑到 2022 年底当时的技术水平——实际上产品形态必须看起来不太一样。所以我们通过给自己用、也给别人用,迭代出了最早的一批 AI 功能,后来这些成为了 Cursor 的核心部分。我觉得另一点我们学到的是,我们当时非常快速地堆砌了很多我们认为一个普通代码编辑器该有的功能,再加上一些我们觉得特别棒的 AI 功能。但一个功能完备的、面向全世界的代码编辑器,这条路会漫长得多。要知道,VS Code 已经开发了 12 年,是最早的 TypeScript 项目之一,有大批人力投入。我们当时想,哦是啊,当然,你可以在几个月内搞出一个对世界来说等价的东西。但我们很快意识到事实并非如此,我们的时间最好还是只花在 AI 上。所以就像浏览器通常基于 Chromium 的渲染引擎一样,我们后来转为了基于 VS Code。还有一点是,你们也自己实现过模型。那时候你们从 Codex 身上获得了很多灵感,对吧?嗯,是的。我们最初真正花大量时间去做的那个想法,是试图用 AI 帮助机械工程师提高生产力。我们在融第一轮资的时候,有一件事是,我们其实从一开始就需要一些钱来做一点模型训练,因为你没法用市面上现成的模型来启动这个项目,它们在那个任务上表现不够好。我们当时经常拿出来展示的一篇论文,其实就是最早的 Codex 论文。因为按我们的计算,Codex——也就是 GitHub Copilot 背后第一个自动补全模型——训练起来其实没那么贵。哪怕在 2022 年初到年中,人们都在谈论训练 AI 模型有多昂贵,我觉得它的训练成本大概是——可能我算错了——大概 10 万美元左右。然后在探索机械工程的那段时期,我们也做过自己的训练。等到我们着手做 Cursor 的时候,我觉得我们被那段经历搞得有点心有余悸。所以我们想尽可能务实,不去重新发明轮子。于是刚开始我们完全没做模型训练这些事。然后在 2023 年,随着产品不断打磨,这反而成了一个非常重要的产品杠杆,尤其是当产品规模化、有大量用户使用时。而且这也让你能够利用产品数据来把产品做得更好。所以这实际上一直是公司里一项非常重要的能力。
YC 下一批项目现在正在接受申请。你身上有创业基因吗?去 ycombinator.com/apply 申请。永远不会太早,填写申请表会让你的想法更上一层楼。好了,回到视频。那到了 2023 年,你们当时还不确定 Cursor 能不能成,对吧?你们还在和联合创始人争论要不要转型。就是,哦,这个想法到底还行不行?你们同时也在想办法增长,对吧?因为营收花了很长时间才做起来。对。我觉得 2023 年一整年它虽然在增长,但数字还比较小。而且我们做的这件事,下一步该怎么走也并不总是清晰的。有些市场可能非常适合你立刻去找一大堆人聊,认真记下他们的问题,或者非常系统、非常详尽地把每个问题都过一遍,想想到底最直接的解决方案是什么,然后排好优先级,再照着做。但我觉得我们当时所在的、以及现在所在的空间,跟那不太一样。你知道,我们是一个终端用户应用,没有太多复杂度预算。我们想做的是用 AI 写代码的最佳方式。所以很大程度上是在琢磨:以你今天手头有的工具,你实际上能做出什么?你可以写下很多「如果能做出来会很有用」的东西,但具体怎么实现、所有细节怎么弄,往前该怎么推进,这并不完全清晰。所以没错,2023 年有很多这样的时刻。另外还要补充一点,关于我们的早期用户群,如果你只是顺着他们需求的梯度去走,最终会被拉向一些跟我们实际走向略有不同的方向。我们有一批声音很大的用户是完全不会写代码的,我们也讨论过要不要专注服务那群人。还有一批声音很大的用户希望我们做的东西非常特定于某个技术栈,就是只围绕某一项技术来构建,把它从一个通用工具变得非常不通用,我们也没有这么做。2023 年有很多早期原型探索,有点像在沙漠中徘徊。然后我们也在琢磨,哪些地方不仅值得做软件,还值得自己做模型,用来改进 API 模型或者在某些地方替代它们——比如我们的 tab,也就是我们的 next edit prediction——以及具体该怎么做。你们大概是在2023年左右从0做到100万用户的,对吧?这个过程很艰难,是吗?嗯,是的,实际数字比那还多了一点,但大致就是那个规模。然后2024年是疯狂的一年。你们一年内从100万涨到了1亿。跟我们讲讲这种复合增长的力量吧,因为你们保持了每周10%的增长。这是怎么做到的?起初数字看起来很小,然后复合增长就持续下去了。我觉得有几件事真正推动了我们的增长。我们所在的这个市场,如果你把产品做得更好,你几乎能立刻在数字上看到反馈,增长就会更明显。所以我们能切身感受到,比如当我们第一次让 Cursor 具备代码库感知能力时,当我们第一次能够预测你的下一个操作时,当我们把预测做得更准确时,然后做得更快,做得更有野心,比如它能预测一连串的修改,再然后当我们让 AI 模型开始在代码库里采取更多行动并且做得非常快时,不断加速。所以一路走来,我们就是专注于把产品做得更好。复利效应就这样持续下去了。我不认为所有市场都是这样,但我们所在的市场里,终端用户的偏好非常重要。如果你做出了最好的东西,人们会听说它、谈论它。这种情况持续了很长时间。我觉得有趣的是,那段时间我们在 YC 公司中看到了巨大的转变。当各期 batch 陆续进行时,我们会问他们用什么技术栈来构建应用,两期之间简直是天壤之别。我记得2023年,可能只有个位数的 batch 成员在用 Cursor,到了2024年,大概变成了80%。它就像野火一样蔓延开来,最顶尖的开发者都在用你们的产品。上了他们的 Twitter 动态。是的。
Twitter 动态。很多用户是从那里来的吗?增长到底是怎么来的?在非常早期的阶段,当我们第一次发布编辑器时,我们试图在社交媒体上推广它。实际上,我的一位联合创始人在2022年,当我们还在捣鼓一些不太成功的想法时,正是多巴胺带来的那股兴奋劲儿支撑着他,他开始在网上发帖,并且明确打算积累大量粉丝——不是靠做常规的社交媒体内容,而是通过谈论 AI。这其实挺让人惊讶的,一个人竟然可以只是阅读各种论文,深入思考当时正在发生的事情,公开谈论这些,然后就被这个领域里有影响力的人注意到。当时有一个特别的开源模型,Flynn T5,后来有很多 AI 项目都用了那个模型。他们了解到那个模型的好处,直接就是从我的联合创始人那里,因为他一直在 Twitter 上发帖。他后来变成了那种极其极其极其小众的旧金山极客圈微型名人。早期他确实也在为产品做宣传。所以我们当时有一个像电影魔法一样的演示。当我们首次发布、首次通过等待名单来获取第一批用户时,我觉得这对我们起步很有帮助。但之后我们就抽身而出了,2023年过得像僧侣一样,只专注于产品。然后它真的就是靠口碑传播的。我记得那一年有几次,团队成员会说:“伙计们,产品已经够好了。先放一边吧,咱们专注于增长工程。”然后就会有大概两个月的冲刺,去做某种版本的增长工程。但它带来的效果永远比不上我们当年做的其他工作。那到了2024年,Cursor 有多大?当时公司规模是多少人?
2023年我们还很小。我的联合创始人都是非常出色的工程师,我们一共四个人,所以在不招人的情况下也能推进很远。我们自己在招第一批人该怎么招这个问题上也走过一些弯路。所以早期我们既非常有耐心,在招聘上也比本该做的要少得多。我想最终我们只有个位数的人,还不到10个。是的。太惊人了。所以——
对了,我好奇想问一下,现在稍微换个话题,关于编程的未来你怎么看?从一开始,我们大概就走了一条中间路线。当我们着手创办这家公司、招聘第一批人的时候,周围人都会用奇怪的眼光看我们,觉得“你们为什么要……”——其实到2022年底情况还不是这样的,对吧?因为 ChatGPT 出来了,然后2023年初全世界才觉醒过来。但在2022年那段时间,当我们还在做 CAD 相关的东西、以及早期代码相关的东西时,人们觉得做 AI 有点奇怪。大家并不完全相信这是在好好利用时间,也不相信 AI 会涌现出很多伟大的应用。而且即使是对 AI 感兴趣的人,在我们这个领域里,也有一大群人只专注于优化已经存在的产品形态,把那些产品做得稍微好一点。与此同时,在我们的社交圈和专业圈里,又有另一大群人在想:除了 AGI 你为什么还要做别的?你们现在做的所有工作,再过一两年,也就是2022年前后,都会灰飞烟灭。是的,我们一直以来的观点是,未来几十年会有非常非常多做起来极具价值的事情。AI 将成为一种变革性技术,可能比近几个世纪以来的任何技术革命都更深刻,但这需要几十年的时间。这将是一个全行业共同努力的过程,需要各种独立的能力逐个到位,才能真正达到最终状态——彻底改变在计算机上构建软件的方式,或者 AI 可能改变的其他知识工作领域。是的,具体说到近期,我们认为对于专业工程师——也就是我们服务的终端用户、我们服务的市场——代码仍然非常重要,而且会有一个漫长而混乱的中间阶段,在这个阶段里你会越来越多地与 AI 协作,它会越来越像一个同事。它也可能变成一个非常先进的编译器,开始为你隐藏一部分代码。但你需要阅读其中的逻辑,对它进行审查和编辑。所以——
你认为哪些技能仍然重要?大家应该继续学什么,或者停止学什么?我是说,我觉得编程就像数学一样,本质上是一种很好的通识教育。我不认为这会消失。而且我认为,现在学习计算机科学也能培养出很多实用的技能。我的意思是,通常当人们进入快速发展的行业时,他们在学校里学的那些具体知识并不是特别关键,更重要的是在实践中不断学习成长。我认为 AI 并没有改变这一点。你对观众有什么建议?如果有一个年轻的 Michael Trello——也许不只是三年前——他们想在你创办 Cursor 之前的那个阶段成为你,他们现在应该做什么?我认为就是去做你感兴趣的事,和既让你喜欢相处、又让你非常尊敬的人一起做。并且非常认真地对待这件事。是的,我觉得对很多在校学生来说,有太多事情会把你拉向按部就班地完成任务,而不是长期专注于积累、构建一些东西,真正专注于你感兴趣的事。好了,让我们为 Michael 鼓掌。非常感谢。当然,谢谢你邀请我。