Cursor Team

Cursor Team · 26,475 词 · 查看原文 ↗
AI 与机器学习技术与编程音乐与艺术政治与社会生物与进化
📋 章节目录
0:00 Introduction · 介绍
0:59 Code editor basics · 代码编辑器基础知识
3:09 GitHub Copilot · GitHub 副驾驶
10:27 Cursor · 光标
16:54 Cursor Tab · 光标选项卡
23:08 Code diff · 代码差异
31:20 ML details · 机器学习详细信息
36:54 GPT vs Claude · GPT VS 克劳德
43:28 Prompt engineering · 及时工程
50:54 AI agents · 人工智能代理
1:04:51 Running code in background · 在后台运行代码
1:09:31 Debugging · 调试
1:14:58 Dangerous code · 危险代码
1:26:09 Branching file systems · 分支文件系统
1:29:20 Scaling challenges · 扩展挑战
1:43:32 Context · 语境
1:48:39 OpenAI o1 · OpenAI o1
2:00:01 Synthetic data · 综合数据
2:03:48 RLHF vs RLAIF · RLHF vs RLAIF
2:05:34 Fields Medal for AI · 人工智能菲尔兹奖
🔑 关键词
codemodelmodelsamangoingarvidsualehdoncursorprogrammingdatalanguagemichaeldoingbettertokenscontextbugusinghard
💬 精彩语录
"I think agents, it’s like resembles like a human… You can feel that you’re getting closer to AGI because you see a demo where it acts as a human would and it’s really, really cool. I think agents are not yet super useful for many things. I think we’re getting close to where they will actually be useful. And so I think there are certain types of tasks where having an agent would be really nice. I would love to have an agent. For example, if we have a bug where you sometimes can’t Command+C and Command+V inside our chat input box, and that’s a task that’s super well specified. I just want to say in two sentences, “This does not work, please fix it.” And then I would love to have an agent that just goes off, does it, and then a day later, I come back and I review the thing."
我认为代理,它就像一个人一样......你可以感觉到你越来越接近 AGI,因为你看到一个演示,它的行为就像人类一样,它真的非常酷。我认为代理对于很多事情来说还不是非常有用。我认为我们已经接近它们真正有用的地方了。所以我认为在某些类型的任务中,有一个代理会非常好。我很想有一个代理。例如,如果我们有一个错误,您有时无法在聊天输入框中使用 Command+C 和 Command+V,那么这就是一个非常明确的任务。我只想用两句话说:“这不起作用,请修复它。”然后我希望有一个代理人能够立即行动,然后一天后,我回来并审查这件事。
— Arvid (00:51:03)
"Yeah, it finds the right files, it tries to reproduce the bug, it fixes the bug and then it verifies that it’s correct. And this could be a process that takes a long time. And so I think I would love to have that. And then I think a lot of programming, there is often this belief that agents will take over all of programming. I don’t think we think that that’s the case because a lot of programming, a lot of the value is in iterating, or you don’t actually want to specify something upfront because you don’t really know what you want until you have seen an initial version and then you want to iterate on that and then you provide more information."
是的,它找到正确的文件,尝试重现错误,修复错误,然后验证它是否正确。这可能是一个需要很长时间的过程。所以我想我很乐意拥有它。然后我想到很多编程,人们常常相信代理将接管所有编程。我不认为我们认为是这种情况,因为很多编程,很多价值都在于迭代,或者你实际上不想预先指定一些东西,因为你并不真正知道你想要什么,直到你看到初始版本,然后你想要迭代它,然后你提供更多信息。
— Arvid (00:52:05)
"Look to be clear, I think they sort of understand code really well. While they’re being pre-trained, the representation that’s being built up almost certainly like somewhere in the stream, the model knows that maybe there’s something sketchy going on. It sort of has some sketchiness but actually eliciting the sketchiness to actually… Part of it is that humans are really calibrated on which bugs are really important. It’s not just actually saying there’s something sketchy. It’s like it’s this sketchy trivial, it’s this sketchy like you’re going to take the server down."
看起来很清楚,我认为他们对代码的理解非常好。当它们正在接受预训练时,几乎可以肯定正在建立的表示就像流中的某个地方一样,模型知道也许正在发生一些粗略的事情。它有点粗略,但实际上引发了粗略……部分原因是人类确实根据哪些错误真正重要进行了校准。这不仅仅是说有一些粗略的东西。就好像这是一件粗略的琐事,就像你要关闭服务器一样。
— Sualeh (01:13:25)
"I think entire code bases is harder, but that is what I would love to have and I think it should be possible. And because you can even… There’s a lot of work recently where you can prove formally verified down to the hardware, so through the… You formally verify the C code and then you formally verify through the GCC compiler and then through the Verilog down to the hardware. And that’s incredibly big system, but it actually works. And I think big code bases are sort of similar in that and they’re like multi-layered system. And if you can decompose it and formally verify each part, then I think it should be possible. I think this specification problem is a real problem, but…"
我认为整个代码库更难,但这就是我想要的,并且我认为它应该是可能的。因为你甚至可以……最近有很多工作可以证明形式化验证到硬件,所以通过……你形式化验证 C 代码,然后通过 GCC 编译器形式化验证,然后通过 Verilog 形式化验证到硬件。这是一个非常大的系统,但它确实有效。我认为大型代码库在这方面有点相似,它们就像多层系统。而如果你能分解它并形式化地验证每个部分,那么我认为这应该是可能的。我认为这个规范问题是一个真正的问题,但是......
— Arvid (01:19:00)
"RLAIF is interesting because you’re depending on… This is actually, it’s depending on the constraint that verification is actually a decent bit easier than generation. Because it feels like, okay, what are you doing? Are you using this language model to look at the language model outputs and then prove the language model? But no, it actually may work if the language model has a much easier time verifying some solution than it does generating it. Then you actually could perhaps get this kind of recursive loop. But I don’t think it’s going to look exactly like that."
RLAIF 很有趣,因为你依赖于……这实际上取决于验证实际上比生成容易一点的约束。因为感觉就像,好吧,你在做什么?您是否使用该语言模型来查看语言模型输出,然​​后证明该语言模型?但不,如果语言模型验证某些解决方案比生成它更容易,那么它实际上可能会起作用。那么你实际上也许可以得到这种递归循环。但我认为它看起来不会完全像那样。
— Aman (02:04:21)
🎙️ 完整对话(462 条)
Lex Fridman (00:00:00)
The following is a conversation with the founding members of the Cursor team, Michael Truell, Sualeh Asif, Arvid Lunnemark, and Aman Sanger. Cursor is a code editor based on VS Code that adds a lot of powerful features for AI-assisted coding. It has captivated the attention and excitement of the programming and AI communities. So I thought this is an excellent opportunity to dive deep into the role of AI in programming. This is a super technical conversation that is bigger than just about one code editor. It’s about the future of programming and in general, the future of human AI collaboration in designing and engineering complicated and powerful systems. This is the Lex Fridman podcast. To support it, please check out our sponsors in the description. And now, dear friends, here’s Michael, Sualeh, Arvid and Aman. Code editor basics
以下是与 Cursor 团队创始成员 Michael Truell、Sualeh Asif、Arvid Lunnemark 和 Aman Sanger 的对话。 Cursor 是一个基于 VS Code 的代码编辑器,为 AI 辅助编码添加了很多强大的功能。它引起了编程和人工智能社区的关注和兴奋。所以我认为这是一个深入了解角色的绝佳机会
Lex Fridman (00:00:59)
All right, this is awesome. We have Michael, Aman, Sualeh, Arvid here from the Cursor team. First up, big ridiculous question. What’s the point of a code editor?
好吧,这太棒了。我们有来自 Cursor 团队的 Michael、Aman、Sualeh、Arvid。首先,一个非常荒谬的问题。代码编辑器有什么意义?
Michael (00:01:10)
So the code editor is largely the place where you build software and today or for a long time, that’s meant the place where you text edit a formal programming language. And for people who aren’t programmers, the way to think of a code editor is a really souped up word processor for programmers, where the reason it’s souped up is code has a lot of structure. And so the “word processor,” the code editor can actually do a lot for you that word processors sort of in the writing space haven’t been able to do for people editing texts there.
因此,代码编辑器主要是您构建软件的地方,而在今天或很长一段时间内,这意味着您对正式编程语言进行文本编辑的地方。对于不是程序员的人来说,可以将代码编辑器视为程序员的一个真正增强的文字处理器,其增强的原因是代码具有很多结构。所以“文字处理器”的代码是
Michael (00:01:42)
And so that’s everything from giving you visual differentiation of the actual tokens in the code so you can scan it quickly to letting you navigate around the code base, sort of like you’re navigating around the internet with hyperlinks, you’re going to definitions of things you’re using to error checking to catch rudimentary bugs. And so traditionally that’s what a code editor has meant. And I think that what a code editor is is going to change a lot over the next 10 years as what it means to build software maybe starts to look a bit different.
因此,这就是一切,从为您提供代码中实际标记的视觉区分,以便您可以快速扫描它,到让您在代码库中导航,有点像您使用超链接在互联网上导航,您将使用错误检查来捕获基本错误的事物的定义。传统上这就是代码编辑器的含义。而我
Lex Fridman (00:02:16)
I think also a code editor should just be fun.
我认为代码编辑器也应该很有趣。
Arvid (00:02:19)
Yes, that is very important. That is very important. And it’s actually sort of an underrated aspect of how we decide what to build. A lot of the things that we build and then we try them out, we do an experiment and then we actually throw them out because they’re not fun. And so a big part of being fun is being fast a lot of the time. Fast is fun.
是的,这非常重要。这非常重要。这实际上是我们决定构建什么的一个被低估的方面。我们构建了很多东西,然后我们尝试它们,我们做了实验,然后我们实际上把它们扔掉了,因为它们不好玩。因此,乐趣的一个重要部分就是很多时候速度快。快就是有趣。
Lex Fridman (00:02:42)
Yeah, fast is… That should be a T-shirt.
是的,快就是……那应该是一件T恤。
Michael (00:02:48)
Fundamentally, I think one of the things that draws a lot of people to building stuff on computers is this insane iteration speed, where in other disciplines you might be sort of gate capped by resources or the ability… Even the ability to get a large group together and coding is this amazing thing where it’s you and the computer and that alone, you can build really cool stuff really quickly. GitHub Copilot
从根本上说,我认为吸引很多人在计算机上构建东西的原因之一就是这种疯狂的迭代速度,在其他学科中,你可能会受到资源或能力的限制……即使是把一大群人聚集在一起并编码的能力也是一件令人惊奇的事情,只有你和计算机,你就可以很快地构建出非常酷的东西。吉特
Lex Fridman (00:03:09)
So for people who don’t know, Cursor is this super cool new editor that’s a fork of VS Code. It would be interesting to get your explanation of your own journey of editors. I think all of you were big fans of VS Code with Copilot. How did you arrive to VS Code and how did that lead to your journey with Cursor?
对于那些不知道的人来说,Cursor 是一个超级酷的新编辑器,它是 VS Code 的一个分支。得到你对你自己的编辑之旅的解释会很有趣。我想你们都是 VS Code with Copilot 的忠实粉丝。您是如何接触 VS Code 的?这又是如何开启您的 Cursor 之旅的?
Aman (00:03:33)
Yeah, so I think a lot of us… Well, all of us were originally [inaudible 00:03:39] users.
是的,所以我认为我们很多人......好吧,我们所有人最初都是[听不清 00:03:39] 用户。
Sualeh (00:03:39)
Pure Vim.
纯粹的维姆。
Aman (00:03:40)
Pure Vim. Yeah. No Neovim, just Pure Vim and a terminal. And at least for myself, it was around the time that Copilot came out, so 2021 that I really wanted to try it. So I went into VS Code, the only code editor in which it was available, and even though I really enjoyed using Vim, just the experience of Copilot with VS Code was more than good enough to convince me to switch. And so that kind of was the default until we started working on Cursor.
纯粹的维姆。是的。没有 Neovim,只有 Pure Vim 和一个终端。至少对我自己来说,那是 Copilot 出来的时候,所以 2021 年我真的很想尝试一下。因此,我进入了 VS Code,这是唯一可用的代码编辑器,尽管我真的很喜欢使用 Vim,但 Copilot 使用 VS Code 的体验就足以说服我切换。所以那种
Lex Fridman (00:04:14)
And maybe we should explain what Copilot does. It’s a really nice auto complete. As you start writing a thing, it suggests one or two or three lines how to complete the thing. And there’s a fun experience in that. You know like when you have a close friendship and your friend completes your sentences? When it’s done well, there’s an intimate feeling. There’s probably a better word than intimate, but there’s a cool feeling of holy shit, it gets me. And then there’s an unpleasant feeling when it doesn’t get you. And so there’s that kind of friction. But I would say for a lot of people, the feeling that it gets me overpowers that it doesn’t.
也许我们应该解释一下 Copilot 的作用。这是一个非常好的自动完成功能。当你开始写一篇文章时,它会建议一两行或三行如何完成这篇文章。这其中有一个有趣的经历。你知道当你有亲密的友谊并且你的朋友完成你的句子时吗?做得好的时候,会有一种亲密的感觉。可能有一个比亲密更好的词,b
Arvid (00:04:55)
And I think actually one of the underrated aspects of Github Copilot is that even when it’s wrong, it’s a little bit annoying, but it’s not that bad because you just type another character and then maybe then it gets you, or you type another character and then it gets you. So even when it’s wrong, it’s not that bad.
我认为实际上 Github Copilot 被低估的一个方面是,即使它是错误的,它也有点烦人,但它并没有那么糟糕,因为你只需输入另一个字符,然后它可能会抓住你,或者你键入另一个字符,然后它会抓住你。所以即使是错的,也没有那么糟糕。
Sualeh (00:05:09)
You can sort of iterate and fix it. I mean, the other underrated part of Copilot for me was just the first real AI product. So the first language model consumer product.
您可以进行迭代并修复它。我的意思是,对我来说,Copilot 的另一个被低估的部分只是第一个真正的人工智能产品。所以第一个语言模型是消费产品。
Lex Fridman (00:05:21)
So Copilot was kind of like the first killer app for LMs.
所以 Copilot 有点像 LM 的第一个杀手级应用程序。
Michael (00:05:25)
Yeah. And the beta was out in 2021.
是的。测试版已于 2021 年推出。
Lex Fridman (00:05:29)
Right. Okay. So what’s the origin story of Cursor?
正确的。好的。那么 Cursor 的起源故事是什么呢?
Michael (00:05:34)
So around 2020, the scaling loss papers came out from OpenAI and that was a moment where this looked like clear predictable progress for the field where even if we didn’t have any more ideas, it looked like you could make these models a lot better if you had more compute and more data.
因此,在 2020 年左右,OpenAI 发布了缩放损失论文,在这个时刻,该领域看起来明显可预测的进展,即使我们没有更多想法,如果拥有更多计算和更多数据,看起来也可以使这些模型变得更好。
Lex Fridman (00:05:49)
By the way, we’ll probably talk for three to four hours on the topic of scaling loss. But just to summarize, it’s a paper in a set of papers in a set of ideas that say bigger might be better for model size and data size in the realm of machine learning.
顺便说一句,我们可能会就缩放损失这个话题讨论三到四个小时。但总而言之,这是一系列论文中的一篇论文,其中的一系列想法表明,机器学习领域的模型大小和数据大小可能越大越好。
Sualeh (00:06:05)
It’s bigger and better, but predictably better.
Lex Fridman (00:06:08)
Okay, that’s another topic of conversation.
Arvid (00:06:10)
Yes. Yeah.
Michael (00:06:11)
So around that time for some of us, there were a lot of conceptual conversations about what’s this going to look like? What’s the story going to be for all these different knowledge worker fields about how they’re going to be made better by this technology getting better? And then I think there were a couple of moments where the theoretical gains predicted in that paper started to feel really concrete and it started to feel like a moment where you could actually go and not do a PhD if you wanted to do useful work in AI. It actually felt like now there was this whole set of systems one could build that were really useful. And I think that the first moment we already talked about a little bit, which was playing with the early beta of Copilot, that was awesome and magical.
Michael (00:06:51)
I think that the next big moment where everything kind of clicked together was actually getting early access to GPT-IV. So it was sort of end of 2022 was when we were tinkering with that model and the step-upping capabilities felt enormous. And previous to that, we had been working on a couple of different projects. Because of Copilot, because of scaling odds, because of our prior interest in the technology, we had been tinkering around with tools for programmers, but things that are very specific. So we were building tools for financial professionals who have to work within a Jupyter Notebook or playing around with can you do static analysis with these models?
Michael (00:07:29)
And then the step-up in GPT- IV felt like, look, that really made concrete the theoretical gains that we had predicted before. It felt like you could build a lot more just immediately at that point in time. And also if we were being consistent, it really felt like this wasn’t just going to be a point solution thing. This was going to be all of programming was going to flow through these models and it felt like that demanded a different type of programming environment, a different type of programming. And so we set off to build that sort of larger vision around then.
Sualeh (00:07:59)
There’s one that I distinctly remember. So my roommate is an IMO Gold winner and there’s a competition in the US called the PUTNAM, which is sort of the IMO for college people and it’s this math competition. It’s exceptionally good. So Shengtong and Aman I remember, sort of June of 2022, had this bet on whether the 2024 June or July you were going to win a gold medal in the IMO with models.
Lex Fridman (00:08:31)
IMO is the International Math Olympiad.
Sualeh (00:08:33)
Yeah, IMO is International Math Olympiad. And so Arvid and I are both also competing in it. So it was sort of personal and I remember thinking, Matt, this is not going to happen. Even though I sort of believed in progress, I thought IMO Gold, Aman is delusional. And to be honest, I mean, I was, to be clear, very wrong. But that was maybe the most prescient bet in the group.
Lex Fridman (00:09:05)
So the new results from DeepMind, it turned out that you were correct.
查看原始文字稿 ↗
🔗 相关节目