📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Building a magical AI code editor used by over 1m developers in 4 months: Inside Windsurf

Lenny's Podcast1:14:06

Transcription

我们公司内部进行的许多投资,其目标并非是,你知道的,三、四个月内就能实现的事情。我们应该每隔 6 到 12 个月就颠覆一次我们现有的产品状态。每隔 6 到 12 个月,它就应该让我们的现有产品显得很可笑。它甚至应该让现有产品的外形显得很笨拙。

你如何知道何时该招聘一个人?我希望公司几乎成为一个脱水的实体。每一次招聘都像一点点水,只有当我们再次变得脱水时,我们才会回去招聘一个人。

随着人工智能的兴起,我们正在构建越来越多的产品,你认为人们应该在哪些其他技能上投入更多?工程师现在能够生产更多的技术。构建技术的投资回报率实际上已经提高了。这实际上意味着你需要招聘更多的人。

最好的做法就是亲手实践所有这些产品。你可以成为你组织的力量倍增器,以他们从未预料到的方式。

今天,我的嘉宾是 Verun Mohan。Baroon 是 Windservef 的联合创始人兼首席执行官,Windservef 已迅速成为人们最喜欢的 AI 编码工具之一,并且基本上是 cursor 的主要竞争对手,在 4 个月内拥有超过 100 万用户。在我们的谈话中,Veroon 分享了 Windsurf 的独特之处,为什么他们决定在公司早期就大力投资企业销售,为什么代理将是工程师和产品构建者最重要的技能,以及他们如何从一家 GPU 基础设施公司起步,意识到在更上层存在一个更大的机会,以及让他们走到今天的两个转型。他还进行了现场演示,提供了关于 Windsurf 成功的建议,以及更多内容。

在这场谈话中,关于工程师和产品构建者未来的发展方向,有很多值得学习的地方,我非常兴奋地将它带给你们。感谢所有在 LinkedIn 和 Twitter 以及我的新闻通讯社区的朋友们,他们提出了很棒的问题,以便与 Verun 深入探讨。

如果你喜欢这个播客,请不要忘记在您喜欢的播客应用程序或 YouTube 上订阅并关注它。另外,如果您成为我的新闻通讯的年度订阅者,您将免费获得一年的 Perplexity Pro、Notion Plus、Linear、Granola 和 Superhum。请访问 lennisnewsletter.com 查看。

话不多说,现在为您带来 Verun Mohan。

本期节目由 Brex 提供赞助,Brex 是美国三分之一的风险投资支持的初创公司都在使用的金融堆栈。Brex 深知近 40% 的初创公司会因资金耗尽而失败。因此,他们构建了一种银行体验,专注于帮助创始人从每一美元中获得更多收益。这与传统的银行选项形成了鲜明对比,传统的银行选项会让初创公司的现金闲置,同时还要收取费用。为了帮助创始人保护现金并延长运营时间,Brex 将支票账户、国库账户和 FDIC 保险的最佳功能集于一身,打造了一个强大的账户。您可以以闪电般的速度在全球范围内收发资金。您可以通过计划银行获得标准 FDIC 保险的 20 倍保护,并且在能够随时访问资金的同时,从第一美元开始就能获得行业领先的收益。要了解更多信息,请访问 brex.com/banking-solutions。即 brex.com/bankingsolutions。

本期节目由 Product Board 提供赞助,Product Board 是企业领先的产品管理平台。十多年来,Product Board 帮助了 Zoom、Salesforce 和 Autodesk 等以客户为中心的企业更快地构建正确的产品。作为一个端到端的平台,Product Board 无缝支持产品开发生命周期的所有阶段。从收集客户见解到规划路线图,再到协调利益相关者,再到赢得客户的认可,所有这些都通过单一的真相来源实现。现在,产品负责人可以通过 Product Board Pulse,一个新推出的客户之声解决方案,更深入地了解客户需求。内置的智能功能可帮助您分析所有反馈中的趋势。然后,通过向 AI 提问来深入了解。了解 Product Board 如何帮助您的团队交付更高影响力的产品,解决真实的客户需求,并推进您的业务目标。如需特别优惠和 15 天免费试用,请访问 productboard.com/lenny。即 productboard.comleny。

Verun,非常感谢您来到这里,欢迎来到播客。

哥们,谢谢你邀请我。我是个老听众了。

哦,我真的很感激。我很高兴你能来。我觉得你们就像一夜成名一样,这绝对不是一夜成名,但我感觉我听到越来越多的人说 Windsurf 是他们最喜欢的 AI 工具。而且我觉得人们并不知道 Windsurf 背后的故事,也不知道你创立的 Kodium 公司背后的故事。所以我想也许可以从那里开始,让你简单地分享一下 Kodium 的历史以及 Windsurf 是如何从 Kodium 中诞生的。

是的,公司实际上是近四年前成立的。正如你所知,四年前 AI 编码还不是什么东西。四年前 ChatGPT 也还没有出现。当时我们实际上开始构建 GPU 虚拟化和编译器软件。在此之前,我在自动驾驶汽车领域工作。我的联合创始人,我从中学起就认识他,他在 Meta 从事 AR/VR 工作。对我们来说,我们相信深度学习将触及许多行业,它不会只触及自动驾驶汽车,它将触及金融服务、国防、医疗保健。我们相信这些应用程序很难构建,这些深度学习应用程序。所以我们让你能够有效地在没有 GPU 的计算机上运行这些复杂的应用程序,而我们会为你处理在 GPU 上运行工作负载的所有复杂性,对吧?而且我们能够极大地优化这些工作负载。然后到了 2022 年年中,我们有了几百万的收入。我们管理着超过 10,000 个 GPU。当时我们有八个人。我们实现了自由现金流为正。但我想我们觉得,一旦这些生成模型变得非常强大,我们就觉得我们所构建的很多东西不再那么有价值了,这是公司里一个非常非常艰难的时刻。当时我们只有八个人,但我们觉得,人们还会继续训练这些非常定制化的情感分类器模型吗,这些模型是非常非常定制化的模型,还是他们会直接问 GPTN,这是积极还是消极的情感?很可能是后者,对吧?在一个每个人都要运行生成式 AI 模型的世界里,为什么一家基础设施公司会是一个差异化因素呢?因为最终每个人都会运行相同的基础设施。所以,相反,我们决定,我们相信生成式 AI 几乎将成为下一个互联网。在这种情况下,我们应该去做的是构建下一个伟大的应用程序,就像谷歌、亚马逊一样。我们进行了垂直整合,并利用我们的基础设施、我们的推理基础设施去构建 Kodium。当时我们是 GitHub Copilot 的早期采用者,我们认为编码领域在未来几年将受到巨大颠覆。所以我们实际上利用了我们的基础设施,我们大规模地运行我们自己的模型。我们甚至训练了自己的模型。一开始非常非常简单。它纯粹是一个自动补全模型,基本上意味着当用户输入时,我们会补全接下来的一个、两个、三个或四个代码行。但我们在开发者编写代码的所有 IDE 中完全免费提供了该产品。这意味着 VS Code、Jet Brains、Eclipse、Visual Studio、Vim、Emacs。我们之所以能够免费提供它,是因为我们有基础设施背景。我们能够极大地优化这些工作负载。而且,我想非常快之后,一些大公司也想与我们合作,我们为戴尔、摩根大通等大公司构建了这种企业级解决方案。对他们来说,更重要的事情不仅仅是,嘿,我们能自动补全代码吗,或者我们能与代码库聊天吗,而是,你们能提供一个安全的解决方案,并且能够个性化公司内部的所有私有数据吗?所以,我们利用了我们的基础设施,并投入了大量精力来确保我们深入了解这些大公司的代码库,对吧?这就是我们一直以来在做的事情,直到六个月前。并不是说我们已经停止在这方面工作了,但基本上我们六个月前意识到,我们受到了我们已经使用的 IDE 的限制。所以 VS Code,这是一个非常流行的 IDE,它限制了我们可以向用户展示的 AI 功能的上限。因此,我们决定去 fork VS Code,并用一些新的代理功能构建我们自己的 IDE。而且随着时间的推移,在过去的几年里,模型的能力也呈指数级增长。这就是我们现在的情况。我跳过了很多细节,但这就是我们最终的落脚点。

那里有很多有趣的线索。一个就是关于价值将在哪里产生的问题,在 AI 领域。你们从最底层的基础设施 GPU 开始,然后转向人们称之为 GPT 包装器(实际上不是),这非常有趣。所以我想,关于 AI 工具栈中价值最终会流向何处,你有什么经验或想法吗?

也许我可以先说一句关于初创公司,我认为这是非常真实的。你最初认为应该去做的第一件事不太可能成为正确的事情,这对于初创公司创始人来说是一件非常难处理的事情,对吧?你需要有点非理性的乐观,认为你将要做的事情具有差异化的重要性,否则你为什么要去这样做呢?如果它是显而易见的,那么一家大公司早就这样做了,对吧?但同时你又需要非常非常现实,因为大多数非传统的想法通常都是坏主意,对吧?所以,这是一种奇怪的走钢丝,你需要保持平衡,你正在推动一个你认为是真实的未来,但同时你又在获取新信息。你需要抛弃你原有的信念。

如果我从基础设施开始说起,我们最初的假设是模型架构将是高度异构的。从自动驾驶汽车的背景来看,有许多不同类型的模型架构。有卷积神经网络、图神经网络、循环神经网络、LSTM,还有一些轻量级的神经网络,以及一些其他网络,对吧?我们处理的架构可能有几十种。当时我们觉得,这其中的复杂性太高了,很明显,如果有人能减轻这种复杂性,就会带来很多价值。快进到 2023 年年中,一切似乎都将是 Transformer。所以现在我们的假设是错误的。所以在这个时候,至少根据我们的信念,大部分价值可能不会完全体现在基础设施层。它将体现在其他地方。

那么,你可以在哪里真正实现差异化呢?我们相信应用层是一个非常非常深入的领域,可以去实现差异化,对吧?我们可以通过哪些方式来构建更好的用户体验,为开发者构建更好的工作流程?我们认为在这方面,让开发者生活得更好,几乎没有上限。

你提到了第二个非常有趣的线索,那就是你们如何从那些正在奏效的想法中转型,你们正在赚钱,人们很喜欢,你们说你们有数百万美元的年收入,然后你们就说,不,我们要彻底改变业务。那么,关于如何知道该遵循什么,你学到了什么?我听到的一件非常有趣的事情是,一旦你对你构建想法的基础假设发生了变化,就该重新思考这个想法,也许尝试其他事情了。

你知道,我认为我们思考这个问题的方式是,你知道,即使我们现在工作,我们也接受我们会犯很多错误。我们会犯很多错误。显然,这是一个非常重要的时刻,因为这是公司生死攸关的时刻,因为我们基本上告诉了我们的投资者,嘿,你知道,我们正在从中赚钱。我们已经筹集了 2800 万美元的资金,而我们只是说,“嘿,我们要彻底转型。”我们一夜之间就做到了,对吧?这不是我们说,“嘿,也许一个季度,一两个季度。”因为我们知道对初创公司来说非常重要的一件事就是专注。如果你试图做另一件你认为很重要的事情,而你却专注于一件你认为没有价值的事情,那么你注定会在你认为重要的事情上失败,对吧?所以,这是非常明显的一点。但我想,一旦你带着很多假设都会错误的这个想法去开始,但你会尽最大努力去验证这些假设,并且你不会沉迷于你的想法。就像,我认为想法很棒,当你有一个很棒的想法时,但你不应该过于沉迷于你的想法,并且你有一个非常追求真相的组织。我认为公司里的很多人都一次又一次地接受了他们的想法的考验。即使是构建 Windsor,这也不是一个完整的公司转型,但这是我们公司做出的一个重大决定。你必须做出一些赌注,有时你会输,有时你会赢。但如果你的组织能够走出来,并且你觉得士气不会因为你做出了错误的决定而低落,那才是最好的,这意味着你对其他所有时间都有选择权。

Lenny,我试图告诉公司的一件事是,今年我们总共的工程产出将远远大于公司成立以来到现在的工程产出。所以这几乎意味着每年对我们来说都是新的开始,对吧?这几乎是我们测试一套全新假设的新方式。也许我们最初的假设一开始就是错误的。是什么让我们比其他人更聪明,更频繁地做出正确的判断呢?

这太有力量了。让我想起 Ori Lavine,他曾做过播客,Waze 的联合创始人,他有一句口头禅,他印在他的衬衫上。他的书就叫这个。爱上问题,而不是解决方案。这感觉就像你正在描述的那样。

好的,我们来谈谈 Windsurf。对人们来说,最简单的理解 Windsurf 的方式是什么?

是的,所以 Windsurf 是一个 IDE,对吧?它是一个用于构建软件和应用程序的应用程序。你知道,疯狂的是,很多使用该产品的人甚至可能不知道 IDE 是什么。这很疯狂,我们稍后会详细介绍。但我们为什么要构建 Windsurf,Windsurf 是什么?也许为什么我们不能在传统的 IDE 上做到这一点,比如 Visual Studio Code?

也许我们稍微深入一下,当我们看到 AI 变得越来越强大时,我们认为人们构建技术的方式将发生翻天覆地的变化。它将不再是一个传统的纯文本编辑器,你,用户,编写几行代码,或者大部分代码,而 IDE 只提供一些基本的反馈,关于用户正在做什么对错,以及基本的反馈可能是嘿,你的软件有 bug 或编译器错误。它可以做得更多,对吧?它实际上可以修改大块的代码。我们认识到的一个关键点是,随着这个新范式,随着 AI,AI 可能会编写超过 90% 的软件。在这种情况下,开发者的角色以及他们在 IDE 中所做的事情可能是审查代码。也许这与过去的情况略有不同。我们很快就会在 Windsor 中看到这一点。也许,你知道,当我们使用该产品时,实际上用户的大部分时间都在审查 AI 的输出。所以我们需要在 IDE 中构建自定义的审查流程,以便真正使其更容易进行。因为开发者并不花所有时间编写代码,这是我们构建该产品的基本前提。我们认为,如果我们有非常非常基本的 UI,我们将受到极大的限制。我甚至会给你一个简单的例子,我们有这个自动补全产品,可以补全几行代码。现在我们已经推出了一个名为 Windsurf Tab 的产品,它基本上也显示了重构。这些重构几乎是内联重构,我们在 Windsurf 中为它构建了一个自定义 UI。但在 VS Code 中,由于对 API 的访问,我们需要在用户光标旁边动态生成图像,因为我们只是没有能力正确地展示和编辑。我们立即意识到,通过移植到 Windsor,我们的接受率翻了三倍。同样的 ML 模型,只是翻了三倍。所以,这给了我们信心,是的,你可以说技术非常重要,我认为技术非常重要,但如果我们的用户从我们正在构建的技术中获得的价值非常少,你需要真正澄清,也许我们确实需要构建一个新的表面和界面,这就是 Windsurf。

所以你在这里做出的巨大赌注,为了让它非常清楚,你最初是在大家熟悉的现有 IDE 中工作,然后你觉得“这不会让我们达到我们需要的地方”。你将尝试说服人们切换到全新的东西,因为它会好得多。这是我们自己的 IDE。我认为人们可能没有意识到这有多么冒险。说服工程师使用全新的东西。这是一件大事。

是的,当然。我可能需要分享的一个关键点是,我们的许多开发者确实使用 Visual Studio Code。但也有很多人使用像 Java、C++ 等语言,他们可能会使用 Jetbrains 系列的 IDE,比如 IntelliJ。对我们来说,我们仍然致力于在这些平台上进行构建。但我们觉得,其中一个占主导地位的 IDE,Visual Studio Code,限制了我们可以为我们的实际客户提供的用户界面的范围。

Windsor 的当前吸引力如何?你听到你的竞争对手那里有很多疯狂的数字。所以你能分享一些让人们了解情况的东西吗?

是的,也许是一些数字。我们发布产品已经四个多月了,在这段时间里,有超过一百万开发者试用了该产品,而且我们现在有数十万月活跃用户。

我喜欢现在这些天,“哦,一百万,没问题”,这简直是小意思。现在的数字太离谱了。我们只是习惯了这里有 1 亿年收入,那里有四个月内有 100 万用户。这简直是,“哦,当然,你怎么可能没有呢?”但这太离谱了。现在真是个疯狂的时代。

你提到了我后来想谈论的一个话题,但现在也许可以提一下。关于工程学在未来将如何改变的问题。你提到一个统计数据,说未来 90% 的代码将由 AI 编写。Thropic 的 Daario 最近也说了同样的话。你们对未来会是什么样子有非常独特的见解。所以我想问的是,在未来几年,编码具体会是什么样子?它与今天相比会有多大不同?

我认为当我们思考工程师实际在做什么时,它可能分为三个部分:我应该解决什么问题?我应该如何解决它?然后是解决它。我认为在这个领域工作的每个人都越来越相信,解决它,也就是纯粹的“我知道我该怎么做,然后去做”的部分,AI 将处理绝大部分,如果不是全部的话。事实上,通过我们对代码库的深入理解,我们如何解决它也可能越来越接近完成,对吧?如果你深入了解一个组织的环境,如果你深入了解代码库,考虑到最佳实践和公司的情况,你如何解决它也得到了解决。所以我想,工程学最终会走向你最初希望工程师去做的事情,那就是我们需要解决的最重要的业务问题是什么?我们的应用程序、我们的产品需要具备的最重要的功能是什么?然后去优先排序这些,并做出正确的技术决策去执行,对吧?我认为这就是工程学现在的发展方向。

这是否意味着没有人需要计算机科学学位?我认为这可能有点夸大其词。有点,只是因为,你知道,也许,也许这是我的论点,如今许多构建全栈应用程序的开发者,至少在几年前,他们可能上过大学,上过操作系统课程,对吧?理论上,他们并没有真正频繁地玩弄操作系统,比如内核。但这些原则是否有助于他们理解为什么他们的应用程序运行缓慢?它们是否有助于他们理解为什么某些设计决策比其他决策更好?是的,这让他们成为比其他工程师更好的工程师。我认为这种想法和对底层情况的理解将使一个好工程师变得更好,对吧?但同时,它也赋予了那些从未理解所有这些事情的人构建的能力,这也是这个过程中的一个了不起的成果。

我不知道你是否有孩子。但比如,如果你有孩子,或者有侄女侄子要上大学,你会建议他们学软件工程吗?还是你会建议,如果你选择这个职业,你不会有好日子过?

是的,我想,也许我稍微回想一下。我去了 MIT,我们公司里很多人都在 MIT 一起上的工程课。我想,当我们回想在工程或计算机科学方面学到的最多的东西时,并不是确切地如何编写代码,对吧?这可能是一种必然,你可以在上完大学后写代码。它更多的是关于你如何思考问题以及如何分解它,对吧?以及你如何以一种有趣的方式解决它,对吧?我非常喜欢的一门课是分布式系统课。在那里,你通过阅读文献来理解一些设计决策是如何做出的。我认为它更像是一门解决问题的课程,对吧?以及一个专业。这是一个关于如何在存在一些约束的情况下解决问题的专业,比如,你知道,今天的计算机是如何运作的,对吧?比如内存运行的速度。你知道,在一个周期或一秒钟内你可以进行多少计算。基于此,你可以做出一些权衡并解决一个问题。所以,我不知道我是否会说你不应该获得计算机科学学位。我认为计算机科学几乎等同于解决问题。在这种情况下,我认为它非常有价值。

你计算机科学学位中学到的一切都有用吗?我想我计算机科学学位中学到的很多东西都没用。我举个例子。我上过一门关于 Julia 的并行计算课,我认为 Julia 现在已经不是一种非常流行的编程语言了。我是否因为上了这门课而感到非常难过?不。并行计算的原理至今仍然非常有用,我想说。

所以我的意思是,你仍然想培养的技能,无论是计算机科学还是某种形式的计算机科学,都是在建立关于计算机和系统如何工作的心理模型,并行处理、内存、硬盘、互联网等等。好的。然后是解决问题的能力,能够解决有趣的问题。随着人工智能的兴起,我们正在构建越来越多的产品,你认为人们还应该在哪些其他技能上投入更多?

我认为有一件事可能有点被低估了,那就是这种代理(agency)的方面,我经常思考这个问题,你知道,有很多人他们可以上大学,上学,他们基本上被告知在宠物项目上该做什么,你知道,他们被赋予了非常非常明确的路径,他们需要遵循。我认为,我认为也许在社会和学校里,我们没有优先考虑如何确保你得到真正有代理能力、想要创造东西的人,对吧?他们的目标不仅仅是可能从大学毕业,然后在一家大科技公司找到一份工作,在那里他们被确切地告知该做什么,或者为这个网站在哪里放置像素。我认为这可能是一种目前可能被低估的技能,尤其是在过去十年左右。我认为这将非常非常重要。你知道,对我们初创公司来说,这些当然是我们寻找的技能。我们寻找那些具有高度代理能力的人,因为我们认识到,默认情况下,如果我们不创新并做疯狂的事情,我们就会灭亡。公司就会灭亡。所以,我们只是寻找这个。但我想说,对于大多数软件工程工作来说,情况可能并非如此,对吧?只是想想,你知道,大公司 X 以及他们在平均软件工程面试中招聘的是什么。它可能看起来不像那样。

我喜欢你这样表达。如果我们不做疯狂的事情和创新,我们就会灭亡。是的,这会是这个播客节目的一个很棒的标题。而且我认为这是 100% 真实的。有很多疯狂的事情正在发生,有很多创新正在发生。如果你跟不上,你就会灭亡。

那么,我们来谈谈招聘。你有一种非常有趣的招聘方法。我这里有几个问题。一个是如何?我知道你们试图保持精简。这是如今所有 AI 初创公司的一个普遍主题。你怎么知道什么时候该招聘一个人?

我喜欢精简公司的想法,但我并不崇拜它,就像,嘿,成为一个拥有 10% 或 20% 的公司,赚取 5000 万、1 亿、2 亿美元的收入,这是我的梦想。我认为那不是我们在公司内部崇拜的东西。我认为我们崇拜的是成为满足我们雄心壮志的最小公司,对吧?这就是目标。也许 Lenny,我这样说吧,如果我告诉你,嘿,我要建造一辆自动驾驶汽车,然后我说,“我们的团队有 10 个人。”你应该理所当然地说,“嘿,Verun,你不是认真的。”你会是对的。我那时不是认真的。所以,我认为答案是,要完成你拥有的疯狂雄心勃勃的项目,最少需要多少人?我认为我们正在努力完成的项目,也就是彻底改变软件构建方式的项目。我们在公司内部提到过。我们的目标是将构建应用程序和技术所需的时间减少 99%。这是一个极其雄心勃勃的目标,而且我们不可能长期保持一个 10、20、30、40 人的工程团队并真正实现这一目标。我们认为它的上限非常非常高。所以,这可能是第一个关键点。实际上,你知道,如果我们能够成功地成为一家相当大的公司,但仍然像初创公司一样运作,那就是梦想。那就是梦想。

在招聘理念方面,我们思考问题的方式是,只有当我们对某个职能感到力不从心时,我们才会招聘。所以,假设我们正在构建推理技术。除非我们在那里力不从心,否则我们不会去招聘一个人来在那里工作。原因是我实际上认为这是一个未来,对吧?当你为一个职位招聘,而你已经有足够的人在那里时。你知道,你会遇到很多奇怪的政治斗争,最终会发生。这并不是因为人们是坏人。我不认为大多数人都是出于好意,但当有人加入一家公司,而实际上你并不需要他们时,会发生什么?他们会去制造一些其他他们应该去工作的东西,对吧?他们会去想一些其他的事情来做,而实际上这并不重要,但他们会试图说服组织中的其他人,这很重要,对吧?我只是认为,作为一家初创公司,我们没有精力去处理这些。对我来说,我希望看到每个人都几乎举起手说,“我快不行了,我们需要一个人。”那时我们才会去招聘一个人。我喜欢给的一个类比是,我们希望公司几乎成为一个脱水的实体,对吧?每一次招聘都像一点点水,对吧?只有当我们再次变得脱水时,我们才会回去招聘一个人。

我太喜欢这个比喻了。它听起来很痛苦。它听起来很痛苦,你需要力不从心,举手说“我快不行了”,又脱水,但我知道这是一种非常令人兴奋的工作方式。听起来很难,但如果你身在其中,那就像,我猜,谈谈那一面,因为这听起来可能很糟糕。我不想这样工作。

你知道吗,Lenny?我认为这有很多原因,其中一个原因是,我们尊重和信任公司里的人。所以,这迫使我们进行无情的优先排序。你知道,你有一个团队正在做某事,他们绝不会要求做不重要的事情。事实上,如果他们有两件事要做,他们只会告诉我,“嘿,我的盘子里有两件事。我只能做一件。”他们会选择最重要的一件事。这实际上回到了我认为对初创公司和公司普遍真实的一件事。你不是通过做十件事,做得还算好来获胜。你通过把一件事做得非常好来获胜,也许你会搞砸九件事。这是我告诉公司的。这与学校非常不同,对吧?在学校,你优化你的总 GPA,但对于公司来说,我只需要在那一门重要的课程中拿到 A+,然后我就可以在所有其他课程中拿到 F。而所有其他课程中的 F 并不意味着,你知道,只是做违法的事情。那基本上意味着你只是优先考虑不重要的事情。你知道,这确实迫使了这种组织性的优先排序,这非常好。而且,你知道,Douglas 和我,Douglas 是我的联合创始人,我们可以告诉公司,这两件事是最重要的,但如果我们出去说这两件事对公司最重要,然后我们又多招了 20% 的人,最终会发生什么?对吧?这几乎是一种无情的优先排序的强制性功能,就是人更少,或者人就是力不从心。公司里每个人都知道你描述的那种情况,当人太多的时候。他们都会找到事情做,他们都会提出想法。你知道,他们都想展示影响力。他们都想在绩效评估中表现好。这就是公司里人太多的本质。所以,我认为这一切都与我们深入了解一个人力不从心时,告诉你该招聘了,这有多么实际?是有人来找你,Verun 吗?我需要这个团队的某个人。这根本不可能。就像,那是什么样的?

是的,基本上就是这样。就是说,在短时间内有一些压力需要完成某件事。顺便说一句,我们确实相信软件,如果你想做伟大的事情,就不可能说,“嘿,我希望在一个月内完成。”如果可能的话,因为你必须从这个角度考虑,如果一个软件项目可以在两到三周内完成,那它真正意味着你所构建的复杂性和差异化是什么?它可能不是很高,除非你认为你比其他人聪明得多。但我认为那是傲慢,对吧?我认为我们确实有一个非常出色的工程团队,但同时我认为我们的工程团队并没有那么出色,以至于我们可以在三周内完成的事情,而世界上其他人需要六到九个月才能完成。相信这一点有点愚蠢。所以,我认为基本上就是那个人出来说,“嘿,你看,我没有足够的时间做 X。”我们进行对话,然后说,“好吧,你还能做什么?”如果答案是“我只能做比这少的事情”,那么也许我们真的会做出一个决定,“哦,哇,那太好了。也许我们真的应该降低优先级。”为什么?因为这对像我和我的联合创始人这样的人来说也非常困难。那就是我们也想做很多事情,对吧?有一种做很多事情的冲动。但如果我们被迫不断地做出决定,比如我们不能做 X,那会非常清晰。它非常清晰,因为我们的工程面试过程的通过率也非常低。所以我们不能很快地快速招募人员并让他们很快加入公司。所以,我认为,我认为这对每个人都非常清晰。对想要更多人的人来说很清晰。我们可以告诉他们,“嘿,你看,我们不认为你应该做这个其他事情。”而且对我们来说也很清晰,因为我们也可以和他们达成一致,对吧?有时我们只是同意,“嘿,我们的团队非常灵活,嘿,实际上我们需要完成一些事情。”我们试图确保我们工程团队中的一件事是,人们对公司的价值与他们团队的规模无关。公司内部有一些项目。公司内部有直接负责这些项目的个人。如果我们觉得一个项目非常重要,那么人们可以从一个项目转移到另一个项目。对吧?公司里没有一个人拥有人的概念。那是一个非常糟糕且棘手的主意。对吧?事实上,公司里最有价值的人是能够用尽可能少的人完成最疯狂的项目的人。这才是你应该在内部奖励的。

Kodium 现在有多少人?

我们有将近 160 人,工程团队现在有 50 多人。

太棒了。哦,其他更大的职能是什么?所以我们有市场进入,我们有,是的,哦,对了,我想谈谈你们的市场进入销售经验。好的。嗯,让我们结束这次招聘对话。所以我们谈到了什么让你觉得该招聘了。你会在面试和招聘的人身上寻找什么?

我们寻找的一个关键点是,我们有非常高的技术门槛。所以假设他们确实达到了技术门槛,我认为我们寻找的是那些对我们正在解决的任务充满热情,并且愿意努力工作的人。我认为我们不试图做的一件事是说服人们,“嘿,你看,我们是一家非常轻松的公司,在这里工作很棒。”我认为,不,这是一个非常激动人心的领域。竞争非常激烈。如果公司里的人不努力工作,你就应该期望我们输。我认为我们听到的一件最大的警示信号是,当我问人们,“你愿意工作多努力?”有些人最终会说,“嘿,我工作得很聪明。”我基本上问他们一个问题,如果我们公司有很多聪明人,他们也努力工作,那么区别是什么?你只是在拉低他们吗?因为我认为公司里真实的一件事就是,这就像一个巨大的团队项目。而且,我认为一个不尽力的人的问题不是生产力,对吧?在某个时候,当公司有数百名工程师时,我不会考虑那个不尽力的一个工程师。而是与他们一起工作的团队,他们几乎在说,“这就是公司的标准吗?这就是期望吗?”而且,Lenny,如果我告诉你,你有一个五人团队,而你知道你一起工作的其他四个人根本不在乎,你会觉得你有多在乎?不会太多。没错。所以对我们来说,我认为我们更关心的是这个,对吧?我们有一种文化,它非常协作。它不是一项个人运动,但人们觉得他们可以依靠其他人来完成复杂的任务。所以你刚才问的问题基本上是,你愿意工作多努力?你想工作多努力?我知道有些人,你知道,有一大群人就是那种工作生活平衡。我不想,你怎么敢让我工作到很晚?我喜欢一开始就过滤掉,如果你在这里工作,你就会非常努力地工作。工作很多小时。这是一个疯狂的领域,我们将通过聪明地工作并努力工作来获胜。

是的。你之前说过,你的工程通过率是,你说大约是 6% 的候选人,是吗?

是的,大概是这样,在完成家庭作业之后。所以家庭作业本身会过滤掉大约 10 到 15 倍的人。

我有一个问题,我最近听到的越来越多:如今如何进行面试,因为有 Windsurf 这样的工具可以解决所有问题?

我们不介意人们使用这些工具,因为我认为最糟糕的事情之一就是,如果有人来这里却不喜欢使用这些工具,我们就认为它们是巨大的生产力提升。我们会把人带到公司,在现场,这样我们就可以看到他们如何在白板上思考问题,以及所有其他方面。所以,我们确实想看看他们如何临场应变,希望他们不仅仅是把我们说的话,翻译成语音,然后输入到 Tatsubishi 并得到答案。所以,有一种方法可以做到这一点。我的观点是,工具非常非常重要,但我确实认为我们仍然在寻找一些解决问题的能力,对吧?如果解决困难问题的唯一方法就是把它输入到 ChatGPT,我认为这对我们来说是一个担忧。

今天的节目由 KOD 赞助。我个人每天都使用 KOD 来管理我的播客和我的社区。我在这里放我计划问每一位嘉宾的问题。我在这里放我的社区资源。我就是这样管理我的工作流程的。KOD 可以这样帮助你。想象一下在工作中开始一个项目,你的愿景很清晰。你确切地知道谁在做什么,以及在哪里可以找到你需要的数据来完成你的部分。事实上,你不需要浪费时间去搜索任何东西,因为你的团队需要的一切,从项目跟踪器和 OKR 到文档和电子表格,都位于一个标签页中,都在 KOD 中。有了 KOD 的协作一体化工作空间,你就可以在一个易于组织的标签页中获得文档的灵活性、电子表格的结构、应用程序的力量和 AI 的智能。就像我之前提到的,我每天都使用 Kota。超过 50,000 个团队信任 KOD 来保持他们更协调和专注。如果你是一个寻求提高协调性和敏捷性的初创团队,Kota 可以帮助你在创纪录的时间内从规划转到执行。要亲自尝试,请立即访问 kod.io/lenny,并为初创公司免费获得六个月的团队计划。即 cooda.io/lenny 开始免费使用并获得六个月的团队计划。k cod.io/lenny / Lenny。

好的,我们来谈谈你们的市场进入销售经验。所以,你一开始没有,显然,就像大多数人一样,你开始构建时没有销售团队,然后你意识到,据我所闻,那是一个巨大的失误,也是一个很大的机会,因为我认为你们拥有一个庞大的销售团队和市场进入团队,这非常独特。

是的,我们在公司早期就做出了这个决定。我想说,我们一年多前就招聘了我们的销售副总裁,市场进入团队现在有 80 多人。所以这是一个相当庞大的职能部门。

也许这里有一些背景故事。所以,当我们开始创业时,我们有一些天使投资人,他们实际上是市场进入的运营者。所以,其中一个例子是 Carlos Delator,他曾是 CRO。

MongoDB,我认为对我们来说,我们从未将企业销售和销售视为一件非常负面的事情。我认为这是技术创始人有时不太喜欢的一件有趣的事情。他们认为销售是过程中非常消极的一部分。一切都应该是产品驱动的增长,我认为这并非如此非黑即白。我认为企业销售非常有价值。但也许当我们是一家 GPU 虚拟化公司,一家基础设施公司时,我们从未聘请过销售人员的原因是,我不知道如何扩展这项职能。我就是那个销售产品的人。所以最终来说,如果我很难逐步销售产品,我不知道我们如何将其变成一个我们可以去扩展的流程,对吧?如果我做不到,我就不知道我们如何能将公司的收入从几百万提升到几亿,更不用说几十亿了。所以如果我不知道如何做到这一点,我怎么能出去雇一个人让他们去扩展呢?

另一方面,对于 Kodium,很多大型企业很快就联系了我们,仅仅从这一点来看,在 2023 年中期左右,我和公司里的一些其他人开始销售产品,我们同时与大型企业进行了数十个试点项目,并且我们很快就了解到,在这个领域需要建立一个大型企业模式。所以到 2023 年底,我们实际上聘请了我们的销售副总裁,并且在那之后很快就扩展了一个销售团队。是的,我的意思是,我的意思是看,如果你想向财富 500 强公司销售,完全通过刷信用卡来做到这一点是非常困难的。

我们来谈谈 Cursor。我讨厌,我不想花太多时间谈论竞争对手,但这是每个人在想到你们时都会想到的。我认为你们是这个领域的领导者。另外,还有 Copilot,但那不一样。那么,理解你们与 Cursor 有何不同,以及你们如何看待自己在这个领域的长期胜利的最简单方法是什么?

我认为也许我可以分享几件事。在产品方面,我认为我们投入了大量精力来确保对非常大的代码库的代码库理解质量非常高。这仅仅是因为我们开始的地方,对吧?我们与一些世界上最大的公司合作,如 Dell、JP Morgan Chase,像 Dell 这样的公司拥有超过一亿行代码的单一代码库,对吧?因此,能够非常快速地理解这一点以进行大规模更改是我们花费了大量时间进行的工作。这需要我们实际构建自己的模型,这些模型可以并行地跨越数千个 GPU 来消耗他们代码库的大部分内容,并对它们进行排名,以便能够找出针对代码库提出的任何问题的最重要代码片段。对吧?所以我们已经构建了基于我们基础设施背景的大型分布式系统来完成这项工作。这也许是一个。

让我来继续这个话题,因为我认为人们可能会低估这件事有多么重要。所以当我们谈论我们请来了 Bolt 和 Lovable 的创始人来做播客时。所以他们构建的产品都是从零开始的。他们为你编写代码。所以这与加载像 Airbnb 或 Uber 的数百万行代码库中的 Windsurf 不同,理解你拥有什么以及它是如何工作的,以及在哪里进行更改而不破坏它,这非常非常困难。所以,我听到的意思是,这是一种很大的区别。你们实际上是从那里开始的,然后 Windsurf 现在正在利用这种优势。

没错。是的。所以我们在这上面花了很多时间,就是理解代码库在做什么,实际上,还有另一件事是,用户与代码库的所有交互是什么,我很乐意稍后展示一下。

第二个关键部分可能是,我们不仅仅局限于 Windsurf,实际上,这可能是一个奇怪的说法,即使我们在谈论 Windsurf,那就是我们非常专注于支持 IDE,比如 JetBrains,对吧?你知道 JetBrains 或 IntelliJ,有 70% 到 80% 的 Java 开发者都在 JetBrains 的 IDE 中编写代码,对吧?我们之所以不觉得有那么大的必要去构建一个与 JetBrains 相竞争的产品,是因为 JetBrains 在某种程度上是一个非常可扩展的产品,而 VS Code 则不是。VS Code 的可扩展性不高。所以,我认为我们的目标不仅仅是满足一部分可以切换到我们的 IDE 的用户,而是我们希望为所有开发者提供这种代理式的体验。如果这意味着他们是使用 JetBrains 编写代码的 Java 开发者,那也很好。我们与许多拥有超过一万名开发者的超大型企业合作,其中超过 50% 的开发者都在使用 JetBrains,对吧?这是一个非常庞大的产品。顺便说一句,这家公司本身是一家私营公司,每年收入达数亿美元,对吧?所以它是一家非常非常大的公司。所以对我们来说,这是另一个关键部分。我们实际上希望与开发者见面,如果他们使用不同的平台,我们也会在上面工作。

第三个关键部分,这可能对企业来说是另一个关键部分,是我们处理很多非常安全的环境,对吧?我们有 FedRAMP 合规性,对吧?我们这意味着我们可以向非常大的政府实体销售。我们有一个混合模式来使用该产品,这意味着所有索引的代码都存在于用户的租户中,代码是公司最重要的知识产权之一。所以我认为,如果从一家大公司的角度来看,多年来,仅仅是构建一个企业产品,我们已经处理了许多大型公司希望看到的复杂性,但部分原因在于我们最初是如何走到这一步的历史。

好的,够了,让我们进行 Windsurf 的现场演示,让大家看看它是什么样的,然后我将一边看一边问你一堆问题。所以,我会让你打开一个共享屏幕,上面有 Windsurf。

太好了。所以,一些背景。这是一个非常基本的 React 项目。现在里面什么都没有。所以,如果你打开任何文件,它都是默认的 React 应用项目。我这里有一个基本的图片。你可以将 Windsurf 的图片传递给你希望项目看起来的样子,我希望一个“为狗狗准备的 Airbnb”网站看起来是什么样的。

漂亮的,漂亮的模型图。顺便说一句,我喜欢你只需要这个。你只需要这个。你只需要这个。

所以,基本上我们要说的是,“嘿,”Windsurf 的一个很酷之处在于,它实际上可以与现有项目一起使用,对吧?所以,我基本上可以这样说:“嘿,根据这张图片,将这个 React 应用更改为显示一个为狗狗准备的 Airbnb 网站,并预览它。”所以现在它将开始执行代码,阅读整个存储库。显然,它不知道当前的代码库实际上是什么样的,它将分析代码库以找出必要的更改集。所以,我们将等待看看它会做什么。但与此同时,让我们继续对话。

太棒了。好的。所以,首先,你开始,你打开 Windsurf,有一个样板 React 项目准备就绪,Windsurf 以前从未真正见过这段代码。你让它在你的代码库上做一些事情,比如“把它改成‘为狗狗准备的 Airbnb’,使用这个设计”。

没错。完全正确。是的。

好的,太好了。所以,我们将让它运行,然后我们来谈谈。所以,让我问你一个问题,我一直在问所有来做客的人,他们正在构建一个帮助工程师构建产品、产品经理构建产品和设计师的产品。假设你可以坐在每个新用户旁边,当他们打开 Windsurf 时,在他们耳边低语几句提示,以帮助他们成功使用该产品。你会分享什么提示?

第一个提示是,要有一点耐心,既要有耐心又要明确,对吧?当你让应用程序进行一些更改时,它实际上可能会进行许多不相关的更改。我认为最能阻止这种情况发生的是,要非常非常明确,或者尽可能明确。我要求人们做的一件事是,一开始就从小处着手,对吧?如果有一个非常大的目录,不要去重构整个目录,对吧?因为如果错了,它基本上会破坏 20 个文件。我认为从那里开始,用户使用该产品时的一个关键点是,他们会了解该产品的起伏。我喜欢的类比是自动完成,对吧?当你使用像自动完成这样的产品时,你会认为一个产品在建议事物,但只有 30% 的时间被接受,那会非常非常令人讨厌。但它之所以不那么令人讨厌,实际上是因为你已经学会了,嘿,70% 的时间我不需要接受这个,或者,而在我接受的时候,我知道如何从中获得价值。你也知道,如果一个你写的命令非常复杂,你就会期望,嘿,自动完成不会对它起作用,对吧?所以,我认为这几乎就像是理解产品的起伏。疯狂的是,每三个月,情况就会发生变化和重新评估。它几乎会变得比过去好得多。所以,我认为耐心和明确可能是我想告诉用户的两个重要关键点。

我认为你刚才提到的一个隐含的意思是,要对模型的能力有一个直观的感受,比如要有多具体,或者它能有多抽象。随着时间的推移,你会逐渐形成一种直觉。

没错。是的。

有了这个,我们似乎有了一个实际的预览。猜猜怎么着?我们有一个可爱的小狗。一个可爱的狗应用。其中一个很酷的部分是,我们还不仅仅是修改代码,而是能够指向不同的部分。我想我可以说,我可以指向不同的元素,然后说:“嘿,把背景弄成这样。”这设计得不好,但如果我拿起这个元素,把它变成红色,对吧?然后只改变一个特定的元素,把它变成红色,它应该能够做到。

产品中的预览功能,能够在应用程序构建过程中展示应用程序,这有助于现在你实际上可以完全生活在应用程序的世界里,你甚至可能不需要看代码,尽管这看起来很糟糕,但实际上,如果我想的话,我可以做到,对吧?这就是没有设计师时的结果。是的,当没有设计师时,也许答案是,当你问我人们应该做什么时,他们应该学习伟大的品味,拥有伟大的品味,因为我认为品味也非常非常难。

但是,莱尼,我想要展示的另一个关键部分是,显然你可以继续在这里进行,我可以说不同的组件并改变它们,你知道吗?比如我们有很多计划,不仅仅是点击更改组件。但是一个很酷的部分是人工智能,他们也有一个人工智能审查流程,对吧?这有点像我说的,人工智能的目标现在已经改变了很多,它现在为你修改大量的代码。而开发者的工作现在是审查人工智能生成的很多代码。当然,现在在这个播客期间,我不会审查所有生成的代码。但是,假设我想修改一些代码,对吧?这就是如果你是一个真正的开发者,想要修改它,也许我不喜欢我的变量名叫做 title。我希望它叫做 title string,对吧?就像这样。如果我想去进行这个更改,然后说 title string,对吧?我将这样做。我只是告诉人工智能继续。

这个很酷的部分是,Windsurf 不仅知道代理做了什么,它还知道用户所做的一切。我们的目标是拥有这种类似流程的状态,即用户所做的一切,人工智能也知道。它能够预测意图。正如你所看到的,它说,我注意到接口属性 title 已更改为 title string。然后它现在已经修改了应用程序中的所有位置,从 title 到 title string。现在它不再这样说了。所以,这就是即使我在编写软件,并且我想进行一些小的更改,人工智能也可以快速地代表用户进行这些更改。想象一下进行重构或迁移,你只改变了代码的一部分。你只需要告诉人工智能继续剩下的工作,对吧?而且因为它深刻理解代码库,它应该能够找到所有相应的地方进行更改。当然,现在当我重新加载我的应用程序时,应用程序中没有错误,对吧?它仍然可以正常加载。我当然可以告诉它做更酷的事情,比如让应用程序变得复古,对吧?我不知道那是什么意思,但我想我可以这样做,它应该会相应地进行更改。但是,是的,这也许是高级部分,人工智能不仅可以在应用程序空间中运行,还可以在用户修改代码的代码空间中运行,并弥合两者之间的差距。所以,它应该为那些纯粹构建应用程序的非开发者以及那些动手操作的开发者提供杠杆。

太棒了。顺便说一句,如果你不在 YouTube 上,你就看不到你可以选择页面的任何元素,然后引用它在你提出的问题中,我想改变什么。我不知道那是它的一个功能,而且它非常酷。

有趣的是,在看了 Lovable 和 Bolt 以及 Replit 等应用程序之后,它基本上做了那些应用程序所做的一切。哦,哇。复古版本在那里。很高兴它在你红色的基础上做得更好,实际上。实际上,红色现在看起来好多了。是的,带有一个绿色的小按钮。这太棒了。

所以,我认为人们可能不了解像 Windsurf 这样的应用程序,但它实际上可以为你做很多代理工作,你只需要告诉它,我想让你做这个,而不是它在为你自动完成代码。最大的区别是你需要用一些代码库来启动它。你有一个样板 React 项目。你们为什么不采取这一步,而是自动为你完成呢?是因为你们的目标是工程师,他们不需要这个,还是有其他原因?

莱尼,有趣的是,你看到的这个基础应用程序也是由 Windsurf 生成的。我们之所以没有生成它,是因为安装所有依赖项需要 3 到 4 分钟,而对于演示,我不想等待,但实际上,该产品的大多数用户都是从零开始构建这些应用程序的。如果我能说一件有趣的事情是,当我们推出 Windsurf 时,我们实际上让公司里的每个人都去用 Windsurf 构建一个应用程序,包括我们的市场营销团队和销售团队。有一个疯狂的统计数据,我认为人们会感到惊讶,我们节省了超过五十万美元的 SaaS 产品购买费用,因为我们的市场营销团队现在已经构建了应用程序而不是购买它们。比如我们的合作伙伴关系主管,而不是购买一个合作伙伴门户产品,他实际上构建了自己的合作伙伴门户,对吧?而他以前从未构建过软件。所以,我们实际上已经找到了在公司内部轻松安全地部署这些应用程序的方法。我们实际上现在正在为我们的公司构建非常非常定制化的软件,以更有效地运营,这可能是我六个月前不会预料到的。

这非常有趣。你不必说公司名称,但我猜你对哪个领域最不看好,认为它将面临最大的问题,公司里的人会构建自己的版本?

你知道,我认为也许我的观点是,那些非常垂直化的细分产品我认为它们将受到巨大的竞争。我认为销售产品就是其中一个例子,对吧?你,也许这是一个,我不想说得太消极,但像我们这样的公司很难让最好的工程师去构建一流的销售产品。没有足够的兴趣去做这件事,或者去构建一流的法律软件产品或财务软件产品。这对我们来说非常非常困难,对吧?实际上,这对那些构建了这些产品的公司来说是一个非常大的护城河,他们能够出来,对如何做这件事有一个明确的立场,雇佣足够好的工程师去构建软件,而我们的公司不愿意这样做。所以以前我们会去购买技术,对吧?因为没有其他选择,但现在一个疯狂的事情是,领域专家现在可以构建他们最终想要的工具,对吧?实际上这很疯狂,如果你想想为什么这些软件公司能够存在,这些垂直软件公司存在的原因是它们有很多功能,“水槽里的所有功能”对很多公司都有效,但每家公司只想要 10% 的功能,但问题是,每家公司都无法维护一块软件或为 10% 的功能构建定制软件。但现在情况完全变了。现在他们可以了,而且一直以来都有这样的说法,为什么我要花时间自己构建软件,如果我可以直接购买呢?但现在是五分钟的时间,甚至可能更符合你的系统,对吧?你购买了一块软件,你几乎想,为什么没有集成到 X,而我实际上在使用 X?那有多烦人?这实际上使软件对你的用处降低了。

所以,我认为酷的是,当你回顾一下,如果有人回到你开始演示的时候,基本上就是一个产品经理在和一个工程师说话。嘿,给我建一个“为狗狗准备的 Airbnb”。这是我做的愚蠢的模型图,只有一些方框。就像一个糟糕的产品经理在和一个工程师说话,而它实际上就是这样工作的。这才是最疯狂的。所以,这就是你分享的市场营销人员构建自己东西的例子。就像他们不需要了解任何关于产品构建的知识一样。只需要用一种荒谬的方式描述它,并画几个方框说明你想要它看起来的样子,它就能做出东西来,这表明代理才是最重要的。如果一个产品经理有一个想法,那么就没有理由为什么这个想法不能更充分地实现,对吧?有多少次你有一个产品经理不断提出想法,但感觉他们非常不确定如何执行?他们只是想说些话而已,但对于那些有想法和很多代理权的人来说,他们可以自己去证明他们想要的东西,而无需任何外部资源。

我认为,对于听众中的产品人员来说,这更加尖锐,那就是销售人员来找你,说:“嘿,我想要这个东西,它将帮助我的销售团队”,而你说:“我没有一百万件事要建,我没时间管这个”,所以这个问题就消失了,我认为这会让很多产品领导者非常高兴。

这个模型是 Sonnet,对吧?所以,为了分解它最终是如何工作的,我们有一个进行规划的模型。我想说,现在 Sonnet 是一个非常非常好的规划模型。OpenAI 的 GPT40 也很好。但疯狂的是,我们试图做的是,我们试图让基于 Anthropic 的模型或 Sonnet 模型尽可能多地进行高级规划。然后我们试图在内部运行所有必要的模型来进行高质量的检索。正如你所见,代理需要了解代码库的其余部分最终做了什么。我们实际上确保我们运行模型来分块整个代码库并理解代码库。所以,显然,如果我们有一个一亿行代码库,将整个代码库发送给 Anthropic 是不明智的。首先,你做不到。这超过了 15 亿个 token 的代码,对吧?所以,显然,这比目前最大的上下文长度要大三到四个数量级。但从成本和延迟的角度来看,你也不想这样做。所以这是第一个。

第二个你看到的模型也能够非常快速地编辑软件。我们有自定义模型,它们是在流行的开源模型之上进行后训练的,可以非常快速地对代码库进行这些编辑。你之所以想这样做,是因为它更快,而且那个模型也可以拥有更多的代码库上下文。所以它在应用更改方面可能比 Anthropic 的模型更好。所以,我认为我们喜欢思考的方式是,我们唯一的目标是构建最好的产品,对吧?我们如何构建最好的产品,以及我们如何将上限尽可能地提高?我们将去构建模型并根据需要训练模型。但如果我们不擅长某个任务,并且我们认为开源更好或 Anthropic 更好,我们就会去使用开源或 Anthropic。

所以,你们正在构建的模型是基于人们发布的开源模型吗?

是的。有趣的是,负责检索的模型实际上是完全在内部预训练的。但是的,对于很多不同的部分,它是基于开源的。有趣的是,负责编辑和自动完成的模型也是内部的。就像你打字一样,我们实际上会做一些自动完成相关的事情。我很乐意展示一下,但我认为很多用户都熟悉这种能力。所以,我认为我们喜欢看待它的方式是,我们能做到最好的事情是什么,我们将去训练。但如果我们做不好,我们就不应该仅仅出于自尊心去训练某样东西。

这可能有点太技术性了,但你训练的东西有什么有趣的地方吗?

是的。我们从用户那里获得的一个有趣之处是,这就是我们试图思考为什么我们会做得更好。实际上,每小时我们都会从用户那里获得数千万条反馈。我们收到很多关于他们喜欢什么和不喜欢什么的反馈。对于自动完成之类的东西,我们收到了很多偏好数据。很多偏好数据。而偏好数据很奇怪。它不像你在互联网上找到的数据。它就像用户在打字时的数据,对吧?想象一下你在一个代码库中输入一些代码。代码在你输入时将是不完整的,对吧?它不会是完整的形式。不像 GitHub 上的那样。但我们有很多这样的数据。所以,我们处于一个独特的有利位置,可以构建一个好的模型,即使在代码不完整的情况下也能完成代码,而现有的模型则消耗很少的类似数据。所以,在这种情况下,我们认为我们可能会做得更好,对吧?我们将去训练模型,使用我们所有的偏好数据。检索也是如此,对吧?有一种方法可以找出我们是否检索了正确的数据,对吧?用户是否接受了之后的代码更改?检索是否真的很好?我们可以获得的信号。所以,基本上,我们看待它的方式是,如果某件事纯粹是代码规划,那么我们没有充分的理由成为这方面的佼佼者,对吧?我认为那不会是一个,我无法提出一个连贯的论点。但是,对于一些更像这样的事情,嘿,这是一段中间的代码库,它非常混乱,并且需要进行一些更改,而且我们知道代码的演变,或者我们已经看到了数百万用户的代码演变。我们觉得我们可以做得很好。

我认为有趣之处在于,这是公司在这一领域获胜的另一个差异化因素,那就是你比其他公司拥有更多的数据,如果你领先的话。

是的,这可能就是为什么从宏观层面来说,我们喜欢零到一的应用程序构建产品空间。我认为这是一个很好的产品空间,但最终我认为它需要归结为你对代码的理解,否则你就生活在一个太高的层面,以至于不清楚为什么你能比其他人做得最好。作为一家公司,这并不真正清楚。

你的意思是作为一家公司?感觉它可能会变得竞争激烈,以至于不清楚你如何随着时间的推移不断区分自己。我明白了。因为如果他们只是坐在 Sonnet 之上,做着其他 Sonnet 包装器所做的一切,那么就没有多少差异化,或者这取决于你如何做。但也许如果我要这么说,如果你们消耗的输入只是 Web 元素,比如非常高级的 Web 元素,那么界面可能足够高级,以至于很难比前沿模型做得更好,因为它们只是普遍地处理。你最好只是全部插入。明白了。

太棒了。有一件事我想回来谈谈,我写下来了,我认为人们需要理解。你谈到了 Windsurf,它不一定有一个你想要开始的样板代码库,因为它实际上不是一个抽象的零到一应用程序构建器。它是一个实际的 IDE,你在其中编码。你还谈到了它必须安装依赖项,这是一种痛苦的事情,而它必须这样做的原因是因为它在你的机器上本地运行,而不是像 Lovable 和 Replit 以及所有这些家伙那样在云端运行。虽然我认为 Bolt 以一种非常酷的方式在你的浏览器中运行。所以这是一个重要的区别。这是你在这台机器上本地运行的,并且拥有运行它所需的所有库。

不,我认为这很重要。我认为我们相信很多人在所谓的代码空间和远程机器中构建软件。我只是认为很多开发者喜欢本地构建。就像你说的。比如,如果你在做比全栈应用程序更复杂的事情,你可能需要在你的机器上有一些系统依赖项,这些依赖项安装起来非常麻烦。让我们想象一下,你正在构建一个基于 GPU 的应用程序,并且需要 Nvidia 驱动程序。你只是想给人们提供构建的灵活性。我认为,你知道,IDE 和本地构建已经存在了几十年了。所以,在接下来的几年里,它可能不会消失。

我喜欢你的销售人员现在运行本地主机服务器,并且带有浏览器预览,这更容易,对吧?你只需要在旁边打开它。是的。是的。

我的天。好的,我还有几个关于你在 Kodium 的思考和运作方式的问题。你们正处于产品团队如何运作的前沿,你们每天都在看到未来。所以,我想知道你们是否以不同于其他公司的方式构建了你们的团队、工程师、产品设计,或者尝试过一些效果很好的东西,或者尝试过一些巨大的灾难。

你知道,我们为核心工程团队做出的一项有趣决定是,我们没有纯粹的产品经理来负责公司的核心工程部门。顺便说一下,这完全是因为我们为开发者构建产品,而我们的产品是由开发者构建的。所以,我认为我们自己开发者的直觉是有价值的。如果没有,我们可能就雇错了人。所以,我认为在某种意义上,我们的开发者正在努力成为更传统的产品经理。

另一方面,如果我们构建的东西更像 Uber,或者用户画像非常不同,而我们自己又不了解它。我认为我们的组织就不会是现在的样子。对于公司的企业部门来说,因为我们与许多大型企业合作,他们的需求并不是我们的工程师会自动理解的,对吧?我不认为我们的工程师会醒来然后说:“我们需要 FedRAMP”,对吧?这可能是很多客户告诉我们的。我们有一些人在产品策略这个角色上,他们了解客户想要什么,并了解我们拥有的技术能力,以便最好地构建一个能够大规模帮助他们的产品。所以,我认为我们在这一方面拥有一个有趣的组织,但总的来说,我认为主要是因为我们是一个基于开发者的产品。

我会说这是真的,然后也就像你说的,对于工程团队本身,我们,你知道,团队结构是相当扁平的,我们试图采用两个披萨团队,团队相当小,因为我认为当一个团队太大时,领导团队的人就无法深入了解技术本身。而且我认为在一个发展如此迅速的领域,领导者不深入了解技术并且不参与构建是非常危险的,因为有太多的“纸上谈兵”。所以,我认为这可能是我们做出的一个决定,然后团队非常灵活,所以如果我们决定某件事是新的优先事项,我们会非常快速地改变团队的面貌,而且在这方面是集中规划的。

我很久以前在推特上看到过“两个披萨团队”的概念,有人来自印度,他说,到处都在谈论两个披萨团队,但印度的披萨要小得多,所以团队最终也更小,他们说,为什么我们不能像美国的团队那样构建那么多东西?

哦,天哪。那么,你有多少产品经理?你说你有 150 名员工,大概是这样吗?

是的,我们有,在产品策略职能方面,我们现在有三个人担任这个角色。

我明白了。所以,它是产品,它是产品策略,而不是产品管理,对吧?

没错。

有趣。然后有 50 名工程师。你说了大约 80 名销售人员。

是的,没错。

然后,当然,我们还有招聘、总务等职能,比如财务,对吧?我们公司有市场营销,对吧?所以,还有一些其他的内部职能。

有趣的是,这是你经常听到的,比如来自 Anthropic 的 Dario 谈论 90% 的代码将由人工智能编写。但同时你们都在疯狂地招聘工程师。

是的。这有矛盾吗?这有矛盾吗?会不会有一个临界点,比如,“好了,现在我们不需要他们了”。

我认为这真的取决于你是否通过增加内部工程师来获得增量价值?首先,你知道,也许为了澄清一下,如果人工智能编写了超过 90% 的代码,那并不意味着工程师的生产力是原来的 10 倍,对吧?工程师花费的时间不仅仅是编写代码。他们审查代码、测试代码、调试代码、设计代码、部署代码,对吧?导航代码。工程师可能有很多不同的事情要做。有一个著名的并行计算定律,叫做阿姆达尔定律。我不知道你是否听说过,但它基本上说,如果你有一个任务图,并且有一个关键路径,你取任何一个任务并将其并行化很多,使其花费的时间几乎为零,仍然有限制它使整个过程加快了多少。所以,简单来说,假设你有 100 个单位的时间,只有 30 个单位的时间花在编写软件上,而我把 30 个单位变成了 3 个。我只把 100 个单位变成了 73 个。总的来说,这仍然只有 27% 的改进。所以,我认为,我们肯定看到了超过 30%,甚至接近 40% 的生产力提升,但对于我们正在解决的愿景,我认为,你知道,即使我说公司在长期来看有 200 名工程师,可能仍然太少了。所以问题是,每人能获得多少生产力提升?

实际上,也许再说一点,对于一些大型公司,比如 JP Morgan Chase 的首席信息官,她的软件预算每年是 170 亿美元,公司里有超过 50,000 名工程师。如果你告诉她,嘿,这些工程师现在能够生产更多的技术,这实际上就是你所做的。JP Morgan Chase 或任何这些公司会做出的计算是,构建技术的投资回报率实际上已经提高了。所以,不投资更多技术的机会成本已经增加了,这意味着你应该投入更多,也许在短期内,你会有更多的工程师。

现在,这并非普遍如此。有些公司对他们正在构建的技术量感到满意,并且他们想要构建的技术量有一个上限。但对于那些技术上限非常高的公司来说,这并不意味着停止。这实际上意味着你雇佣更多人。

这是一个很好的工程师看涨案例。我觉得工程师职业的“煤矿里的金丝雀”就是当像你们这样的公司放慢招聘工程师的速度时。这并没有发生。我认为他们也在大量招聘。

是的,每个人都在招聘。所以,我认为这真的很有希望。我认为如果你还在上大学,现在进入工程领域仍然是有意义的。

是的。

好的。让我问你这个问题,也许是最后一个问题。在构建 AI 产品、构建 Windsurf 以及身处这个领域时,你学到的最反直觉的事情是什么?

我认为一件奇怪的事情是,在网上,每个人都对我们正在取得的短期胜利非常兴奋,对吧?比如我们每周发布的东西。我们每隔几周就会进行一次更新,但实际上,我们公司内部的很多投资都是为了那些不是三、四周,也许是三、六个月、九个月后的事情。这就是我们在内部所做的,因为我认为,莱尼,就像我之前告诉你的那样,我告诉我们公司里每个人的目标之一是,我们应该在每 6 到 12 个月内蚕食我们现有产品的状态。每 6 到 12 个月,它都应该让我们的现有产品看起来很傻。它几乎应该让现有产品的形态看起来很笨拙。所以,存在一种奇怪的张力,你想要一个在市场上的产品,你想要逐步迭代,倾听用户,并不断改进它。但我想说,我们是第一个代理 IDE 产品,对吧?我们就是这样推出的,我认为它的价值会很快贬值,除非我们继续证明自己,而且我们需要以用户甚至没有要求的方式来证明自己。所以,存在这种张力,渐进式感觉非常安全,对吧?添加这个按钮。用户说,“嘿,我希望能够有一个下拉菜单来做 X。”但这不是我们获胜的原因。那只是,你知道,那几乎是基本要求。是的,我们会决定做其中一些。我们可能不会决定做很多这些事情,但这是我们公司内部的长期努力,几乎颠覆了现有产品,这最终是我们成功的理由。而且,你需要在脑海中拥有这种奇怪的张力,你不能完全不听用户的话,因为他们是你存在的理由。

这让我想起了最近的一位播客嘉宾。我们请来了 Gar(来自 Captions)来做播客,他告诉我们,他有两个路线图。他们在公司有两个路线图。他们有一个真正的路线图,典型的路线图,基于功能请求和用户反馈以及数据等等。然后他们有一个秘密路线图,完全不受用户或数据的影响。这只是他们对世界走向的猜测。

没错。我喜欢他称之为秘密路线图,只是为了让它非常神秘。这非常聪明。

好的。我还有最后一个问题。我很抱歉。在开始 Kodium 之前,你希望自己知道什么?

老实说,我希望我能有更多的谦逊,这可能不是正确的词,但这个想法就是接受自己犯错得更快。就像我总是思考事情,我和我的联合创始人一起做决定,我们总是谈论它。我们几乎总是说:“嘿,我希望我们几个月前就做出了这个决定。”我们总是这样谈论。而奇怪的是,从外面看,每个人都说,“哇,实际上,你知道,这个决定是在正确的时间做出的。”但在我脑海里,我总是拍着脑袋说:“如果我们早几个月做出决定呢?”我认为这部分原因在于,你知道,我曾经夸夸其谈地说,哦,你需要不合理地乐观,并且毫不妥协地现实,但在实践中这非常困难,对吧?因为你也喝自己的 Kool-Aid。这非常,因为如果你不喝自己的 Kool-Aid,你就不会起床,对吧?答案已经解决了。事实上,这些初创公司都不是。答案是微软将在任何软件类别中获胜,对吧?难道不是吗?仅仅因为分销、资源和资本,对吧?它们将使每个领域商品化。所以,我认为在某些方面,你需要理解,嘿,重新评估你的假设,并更频繁地进入一个不舒服的空间,这是我需要提醒自己的,即使到现在,这可能也是我开始创业时不知道的事情。

对吧?我们公司在 ZERP 的高峰期开始的,当时可能一切似乎都要起飞了,而且可能有大量的非理性自信,我想说,我们本不应该有。

Maroon,我们取得了如此大的进展。这是一次多么精彩的对话。我学到了很多,只是坐在这里听你提问。在离开之前,你还有什么想分享的吗?或者给听众留下任何最后的建议或智慧?

说实话,我可以对这个领域做出预测,可能大部分都会。我认为最好的做法是亲自动手尝试所有这些产品。我认为最明显的事情是,在明年,任何能够充分利用这些工具的人都将获得巨大的阿尔法。想象一下,有多少你的同事甚至不知道这些工具的存在,不知道它们能做什么,以及他们会多么低效。

而且,我只想说,尽可能快地亲自动手。

当你说的“亲自动手”时,基本上就是下载 Windsurf,开始编码,让它为你构建东西。

是的,构建应用程序。开始使用它来制作模型图,修改你现有的代码库。就像可能有一些方法可以让你成为你组织中的力量倍增器,而他们甚至没有预料到。想象一下,如果你是一个产品经理,能够非常快速地修改代码库,自己开始推送更改。你可能会从你的工程同行那里获得极大的尊重。你可能会因此完成更多的事情。我觉得在那一点上没有上限。

我认为你在这里提出的这一点被严重低估了。有可以从零开始构建东西的应用程序,也有像这样的应用程序可以编辑你现有的代码库。如果你是一个产品经理,在,你合作过的最大的公司是,从人数上看?

可能公开地说,让我们暂时称之为 JP Morgan Chase。他们有超过 50,000 名开发人员。

好的。所以,你可能是一个 JP Morgan Chase 的产品经理,然后说:“我有一个问题需要解决。我想移动这个指标。我想改变注册流程中的步骤。”你只需要打开 Windsurf,然后告诉它你想要做什么。然后你可以直接推送到 GitHub 并做一个?

是的,实际上你可以做到。好的。PR。是的,它可以为你做一个 PR。

这太疯狂了。好的。未来失控了。好的,我们要做这个。

这在最后是一个非常重要的观点,因为我认为人们可能没有意识到这一点。他们看到了所有其他应用程序,他们说,“哦,构建所有这些原型。”但这确实是产品经理可以实际做的工作。

当你想到那些至少我不知道,莱尼,你最尊重的人,他们是那些尽管有他们的头衔,他们的代理水平和产出,一直到最底层的细节到最高层战略都是完美的?他们知道什么时候深入。而且,你知道,有时你会看到人们谈论角色,他们不合理地觉得,“哦,因为我是这个角色,我不允许碰这个。”现在一切都开放了,对吧?我认为这是一个几乎可以深入到细节,又可以上升到顶层,对吧?并且在每个层面上都有效。

令人难以置信。好的。那么,我们就这样吧。Arun,非常感谢你的到来。

太棒了。非常感谢。多么精彩的对话。谢谢 Arun。再见,各位。非常感谢你的收听。如果你觉得这很有价值,你可以在 Apple Podcasts、Spotify 或你喜欢的播客应用上订阅本节目。另外,请考虑给我们评分或留下评论,因为这真的有助于其他听众找到播客。你可以在 lennispodcast.com 上找到所有过去的剧集或了解更多关于本节目的信息。下一集再见。