您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[未知机构]:Cursor创始人20240909 - 发现报告

Cursor创始人20240909

2024-09-09未知机构L***
Cursor创始人20240909

Cursor可谓是最近最火的可谓是最近最火的AI代码类应用。代码类应用。 AI大神Andrej Karpathy多次在推特上夸赞Cursor,说Cursor的体验已经碾压式的超过了GitHub Copilot。 8月份他们宣布获得A轮6000万的融资,a16z领投,OpenAI和谷歌首席科学家Jeff Dean参投。 Cursor创始人创始人 Cursor可谓是最近最火的可谓是最近最火的AI代码类应用。代码类应用。 AI大神Andrej Karpathy多次在推特上夸赞Cursor,说Cursor的体验已经碾压式的超过了GitHub Copilot。 8月份他们宣布获得A轮6000万的融资,a16z领投,OpenAI和谷歌首席科学家Jeff Dean参投。这家公司现在估值达到4亿美元,年度ARR收入超过1000万美元。 和其他的Code Copilot应用不同,Cursor定位自己是The AI-first Code Editor。不仅仅是编码插件,而是构建一个新型的代码编辑器——「面向程序员的GoogleDocs」。 01 Cursor的出发点, 是重新设计软件开发流程 Swyx:直接来聊Cursor,毕竟这是你们现在的主打产品。2023年1月,你们向全世界公布了它。也许可以带我们了解一下Cursor的想法演变过程。 Aman:好啊。其实中间还有一小段时间我们转向尝试做文字生成图像。后来我们放弃了,主要是因为我觉得我们不适合做那种公司。我们从CAD项目学到了教训,现在我们坚信一点:做产品的人最好自己也是产品的用户。但我们自己 并不怎么用文字生成图像的工具。 然后到了2022年12月份,我们设法提前拿到了GPT-4的使用权限。在那之前,我们其实已经用GPT-3.5的早期版本试过写代码了。但我们差不多放弃了,因为看起来无论是Text DaVinci 2还是Code DaVinci 2,这些3.5的老版本,都做不了什么有意义的事情。 但是当我们打开GPT-4的playground,开始往里面粘贴代码,那效果让人大吃一惊。要知道,那时候大家还没开始大规模使用ChatGPT呢。 Swyx:你们用的是早期版本吗? Aman:对,是的。 Swyx:所以是更早的版本,那种还没被约束的原始版本? Aman:哦,其实不是,它还是很安全的。不过那时候人们还没开始普遍使用它。HumanEval(基准测试数据集)已经存在了,但在大家都开始谈论它之前,我们就尝试用这个进行测试,结果得分达到了85%。我们当时就惊呆了,要知道当时最好的开源模型也就30%的得分。Code DaVinci 2大概是47%左右。而且,你看,现在的GPT-4得分也差不多。 然后我们就开始在里面写代码,就是把我们正在测试和开发的各种代码随便复 制粘贴进去。我们发现它不仅擅长创造新东西,还能重构代码、编辑代码、帮 你调试。软件开发的方方面面,用这些模型感觉都完全不一样了。 接着我们就在脑子里畅想了一下未来。这才是GPT-4呢,要是有了4.5、GPT-5 会怎样?这些模型在编程方面只会越来越厉害。未来可能不会是你按Tab键然后回车就能自动补全更多东西那么简单。我觉得自动补全是个很有用的工具, 我们每天都在用Copilot,觉得挺好用的。但是你想啊,如果语言模型能生成90%、95%的代码,那还按原来那种方式来肯定是不行的。 我觉得得彻底重新设计整个软件编写的方式,整个用户体验都得改。这就是我 们做Cursor的出发点,你得掌控整个IDE,彻底重新设计软件开发的流程,其实是重新设计整个软件开发的方式。 Swyx:你刚才说的这些可不是小事啊,得好好聊聊。我想往回捋一捋。你们提前用上了GPT-4,这是不是意味着你们其实是得到了OpenAI的支持,在做Cursor之前就加入了OpenAIFund? Aman:嗯,差不多吧。 Swyx:哦,好的。因为我在理清时间线,我还以为是他们看中了Cursor才给你们投资呢。 Aman:是这样的,OpenAI有个叫Converge的项目,我们参加了这个项目。通过这个项目,我们最大的收获就是可以提前体验到还没发布的模型。当然了, 这些都没有用于生产环境,也不可能用于生产环境。就是让我们偷偷瞄了一眼 GPT-4。所以,在我们真正开发Cursor之前,我们没有从OpenAI那里拿钱,但我们确实参与了这个项目。 Swyx:明白了。对了,你还提到一件有意思的事。你们现在还在用Copilot,但同时也用Cursor。对吧。你还说Copilot可能是用上万亿个token训练的,这意味着从最初的Codex到现在,它经历了大量的训练。 Aman:我是这么想的,你看Stack Overflow?它有多少来着?一到两万亿个token?差不多这个数吧。我很怀疑Copilot会用更少的数据训练,特别是现在还有那么多关于它是否属于”合理使用”的官司呢。 Swyx:所以,我猜就是上万亿个token。 Aman:我也不太确定。不过我敢说,如果你算一算GitHub上有多少公开代码,肯定是以万亿计的。 Swyx:我之所以一直纠结这个问题,是因为我们一直在关注数据集和参数比例的关系。Copilot不可能那么大,因为它响应得很快。所以它的参数规模应该就是几十亿级别的,对吧?那么问题来了,怎么用万亿级别的token训练出一个参数只有几十亿的模型呢? Aman:我对这个问题有些想法。你知道,现在大家都在讨论chinchilla scaling(一种模型训练方法),但又有人说,因为推理的原因,chinchilla scaling其实不重要。不过,Copilot可能是一个MoE系统。 但这只是另一种猜测,我也不确定是不是真的。至少一两年前可能还不是这 样。我猜它可能是一个小模型,但经过了大量的过度训练。据我所知,还有很 多缓存技巧可以用,即使模型很大,它实际上也不需要花时间去处理整个提 示。 Swyx:他们管这个叫语义缓存,对吧?我猜如果大致嵌入到同一个东西,就直接返回相同的结果。 Aman:我觉得部分是这样的。比如说,如果你光标前面的代码后缀稍微变了一点,他们可能不会真的去用不同的… Swyx:这对代码来说似乎有点危险啊。 Aman:确实看起来有点危险,但这样可以让响应速度非常快。还有一个就是 KV缓存,你知道吧?虽然我觉得现在还没有开源框架在做这个,但如果你已经在KV缓存上计算过一些东西,你就可以直接… Swyx:这里说的是注意力机制中的KV缓存,给大家解释一下。 Aman:对,就是注意力机制的KV缓存。如果你已经计算出了所有的键和值,你就可以把它们存在内存里,然后直接加载到GPU上,这样就不需要再处理一遍提示了。我猜他们在后台可能就是这么做的。 Swyx:那需要不少内存和存储啊。 Aman:除非他们用了类似多查询注意力(multi-query attention)之类的技术…Swyx:对,我们聊聊你那篇关于Llama2的文章*。你在文章里还提到了一个重要观点,就是必须开发自己的IDE,而不是写一个VSCode插件。现在已经有不少这样的插件了,比如SourceGraph就在做一个,我也一直在和刚推出Rift的Morph密切合 作。显然,开发自己的IDE是个大工程。你能不能多解释一下为什么要自己开发IDE呢? Aman:我们之所以这么决定,是因为我觉得从长远来看,虽然现在Cursor和其他工具提供的功能可能和VSCode差不多,但从长期来看,你需要设计一个完全不同的用户体验,而这是插件无法给你的。 我们听说过一个故事,说Copilot为了实现多行幽灵文本(multi-line ghost text,就是那种半透明的提示文本),其实不是通过插件实现的。GitHub的团队不得不联系VS Code,让他们修改源代码,才能启用那个扩展API。这就是多行幽灵文本补全的实现方式。这挺吓人的。 想想看,如果VS Code在他们的源代码中还启用了一些其他API,但这些API只对Copilot开放,对其他所有人都是关闭的。所以我觉得这里存在一个根本的平台风险,你在和拥有平台的incumbent(在位者)竞争,而你却要在他们的平台上构建。从这个角度来看,我们觉得这样做不太可行。 另外,如果你想做一些更花哨的功能,也需要自己的IDE。 比如说,我们现在正在开发一个功能:Copilot很擅长补全下一行或接下来几行代码,但如果你想做编辑,不仅仅是补全这一行,而是改变上面的行或者删除 一些东西呢?在VS Code里你根本无法实现这样的功能,但我们在Cursor里已经为此构建了UI。我们现在正在训练模型,让这个功能运行得更好。我们认为一旦这个功能完善,它会非常有用,可能会达到Copilot那样的实用水平。但如果你不拥有自己的IDE,这根本就是不可能的。我们还在酝酿很多类似的功能。还有一些小细节。比如说内联编辑,在Cursor里你可以按Command+K,然后要求修改代码或生成代码。我觉得我们在这方面的用户体验可能是最好的。如果 你看看Sourcegraph的做法,他们基本上只能使用GitHub的拉取请求评论功能(pull request comment)来实现这一点。我觉得这些小问题随着时间积累起来会很烦人。 Swyx:确实如此。而且Cursor给人的印象很好,下载很快,安装包很小,启动速度也快,用一个文本文件就把你带入了教程。真的很棒。 Alessio:我今天刚用过呢。我最喜欢的一点是,你们允许用户使用自己的API密钥。这是我在很多产品中都没看到的功能,大多数产品都要求你注册账号什 么的。 Swyx:嗯,不过你得相信他们不会滥用你的密钥。 我在想啊,OpenAI要是能再多做一件事就好了,就是给每个API密钥设个消费上限。这样不就给其他公司留出空间来做这个了嘛。不过说实话,OpenAI明天 就能搞定这功能。 Alessio:我看到Logan(Logan Kilpatrick,谷歌AI负责人)发推问大家,每个密钥单独计费是不是个好主意。 Swyx:我觉得挺有意思的。他们肯定在考虑这事儿。 Aman:是啊,不过他们还有更重要的事要忙呢,比如GPT-4.5。 02 一开始想做CAD大模型, 但很快就放弃了 Swyx:你之前在桥水基金(全球最大的对冲基金)、麦肯锡、谷歌和You.com工作,主要做AI相关的项目,还有一些金融方面的工作。你创办了一家叫Abelian AI的咨询公司。麻省理工毕业,学的是计算机科学和数学。你还参与了好几个项目,包括我们待会儿会聊到的Instill和最近的Cursor.so。 咱们先说点轻松的,有没有什么LinkedIn上看不到,但你觉得大家应该知道的有趣的事? Aman:你可能不信,我以前可是个壁球高手。 Swyx:你还是高手啊? Aman:对啊,高中的时候还参加过比赛呢。不过说实话,很多人可能都不太了解壁球。其实它和网球有点像,也是用拍子打球,不过是在室内,对着墙打。 我本来是打网球的,后来搬到一个有壁球场的地方,就开始玩壁球了。一玩就喜欢上了,之后就一直在打。高中时经常去比赛,到了麻省理工也没停。只是搬到旧金山后打得少了,这里壁球场太少了。 Swyx:那我们可以组织个壁球赛,你肯定能横扫全场。对了,你觉得运动员的心态对你现在当创始人有什么帮助吗? Aman:是啊,有时候可能会有点帮助过头,但我确实很好胜。我真的很讨厌输。现在我出去跑步,要是有人想超过我,我绝对不会让他得逞。我会立马加 速,如果实在跑不过他,我可能会转个弯跑别的路,但绝不能让人在跑步的时 候超过我。我觉得创业也是一样的道理。这种好胜心总的来说能激励我,让我 更加努力工作。 Alessio:2022年8月,你推出了一个叫Instill的项目,能不能跟我们说说这个项目? Aman:在说Instill之前,我可能得先聊聊我之前在做什么。因为Instill其实是我和我