We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode Copilot, Agent Mode, and the New World of Dev Tools with GitHub’s CEO Thomas Dohmke

Copilot, Agent Mode, and the New World of Dev Tools with GitHub’s CEO Thomas Dohmke

2025/3/13
logo of podcast No Priors: Artificial Intelligence | Technology | Startups

No Priors: Artificial Intelligence | Technology | Startups

AI Deep Dive AI Chapters Transcript
People
T
Thomas Dohmke
Topics
Thomas Dohmke: 我最近发布了 Copilot 的 Agent 模式,它允许开发者与 AI 协同工作,完成更复杂的任务,例如实现新功能或安装软件包。开发者仍然是掌控全局的人,Agent 只是辅助工具。未来,Copilot 将进化成团队成员,能够自主完成任务,例如创建和提交代码。但这需要模型在推理能力上的提升以及用户界面的改进。目前,Copilot 的发展受限于模型的推理能力和用户界面的设计。Copilot Agent 的成功取决于其可预测性、可控性、可验证性和容忍度。 AI 代理的根本挑战在于将大型构思分解成可执行的小任务,这与人类开发者面临的挑战相同。AI 代理在处理明确定义的任务(例如修复bug、添加功能)方面将取得显著进展,但在处理模糊或复杂的任务方面仍有局限性。Copilot 的开发周期包含 AI 工程、模型评估、A/B 测试等多个环节,并根据市场变化不断调整。赢得开发者市场关键在于关注开发者需求,持续改进产品,并应对快速变化的市场竞争。Copilot 的使用数据表明,AI 正在生成越来越多的代码,其效率远超预期。 GitHub 未来将重点关注代码审查、云端开发环境以及 AI 驱动的安全漏洞修复等领域。AI 生成代码的普及将改变软件测试、技术债务管理等方面的工作方式,但不会完全取代人类开发者。AI 将改变软件开发团队的工作方式,尤其是在需求定义和任务分解方面。未来软件开发工具生态系统将呈现多样化,开发者将根据自身需求选择不同的工具和平台。Copilot 的商业成功体现在其广泛的应用范围和显著的生产力提升。AI 代理的定价模式将基于计算资源消耗,而不是简单地替代人类开发者的成本。开源模型将推动 AI 领域的创新,并促进 AI 技术的普及。 Sarah: (问题和讨论) Elad: (问题和讨论)

Deep Dive

Shownotes Transcript

嗨,各位听众,欢迎回到《No Priors》。今天,我们邀请到了GitHub的首席执行官Thomas Dohmke,GitHub是一个全球超过1.5亿开发者用来协作和构建软件的平台。作为首席执行官,Thomas负责监督GitHub Copilot等工具的开发。在成为首席执行官之前,他帮助塑造了GitHub的产品战略,推动了全球扩张,并曾在微软工作。在本期节目中,我们将讨论软件开发的未来、AI编码的作用、开源以及Copilot的产品计划。

Thomas,欢迎来到《No Priors》。也许我们可以从核心内容开始。最近GitHub的Copilot和新版本有什么进展?我们直接进入主题,我们非常期待Copilot变得更加智能化。

几天前,我们在Copilot和VS Code中发布了Agent模式。因此,你不再只是与Copilot聊天并获得回复,然后将代码复制粘贴到编辑器中或使用自动完成功能(原始Copilot功能),你现在可以与一个Agent一起工作,它可以帮助你实现一个功能。当它需要安装一个包时,它会显示给你命令行终端命令,你可以说,“好的,运行这个”。你仍然处于控制之中,对吧?这是Copilot的关键部分。

我们今天提供的这些Agent,作为人类开发者,你仍然需要参与其中,但我们也展示了2025年即将推出的内容,我们称之为“学徒项目”(Project Padawan),因为它就像绝地武士的学徒,你需要耐心,你需要学习如何运用原力,但我们认为,到2025年,我们将能够将一个定义明确的GitHub问题分配给Copilot,然后它

开始创建一个草稿拉取请求,它概述计划,然后按照计划工作。你可以像观察同事一样,看到它如何将更改提交到拉取请求中,你可以查看这些更改并向Copilot提供反馈。因此,Copilot基本上从结对编程伙伴升级为团队成员。目前面临的障碍是一些新的模型改进,

只是构建一些其他的核心技术吗?只是UI吗?是什么阻止了这种情况的发生?是的,我认为首先是模型,完整的O3模型尚未推出,但OpenAI在假期前夕的发布会上展示了它。

我们将看到改进的推理能力。我认为,随着模型推理能力的提高,我们将更接近100%的vBench,这是一个基于12个开源Python代码库的基准测试,普林斯顿的一个团队确定了大约2200个问题-拉取请求对。实际上,所有模型和Agent都以此为衡量标准。所以这是第一点,模型和Agent的组合。我认为第二点是找出正确的用户界面流程,对吧?

如果你考虑开发者的工作流程,你有一个其他人为你提交的问题,可能是用户、产品经理或你自己提交的。现在,你怎么知道你是否应该将Copilot(Agent)分配给它,或者是否需要更具体地改进问题呢?这很复杂。

至关重要的是,Agent是可预测的,你知道这是一个Agent可以解决的任务。如果不是,那么你需要引导它。因此,可控性是你需要做的下一件事,你需要扩展定义,或者Agent需要返回并向你提出更多问题。然后在流程结束时,你需要验证结果。因此,在我们的演示中,我们认为正确的流程实际上是Agent在拉取请求中工作,就像一个拥有大量提交的人类开发者一样,然后你可以回滚这些提交或

或者在你的VS Code中检出它们。我们看到一些可用的Agent是这样的:作为开发者,我是否真的容忍这个Agent?它真的节省了我的时间还是浪费了我的时间?你越频繁地看到它浪费你的时间和计算周期,你就越不可能再次使用它。因此,如果它是可预测的、可控的、可验证的和可容忍的,如果

所有四个标准都达到了一定水平,我认为我们将看到Agent的广泛采用。你认为这些Agent距离成为

某种意义上的中等水平程序员或等效物还有多远?你认为还需要多长时间才能达到超人水平?今天早上我一直在思考这个问题,对吧?比如,无论你想到的是旅行Agent、编码Agent,还是设计你房子的Agent,根本性的挑战实际上与你作为人类一样。

开发者,对吧?就像你的脑海中有一个伟大的想法,你可以把它画在白板上,但随后你想开始编码,你必须把这个伟大的想法分解成小的工作单元。这是

我认为这是我们距离Agent能够足够好地处理一个非常粗略的想法并将其分解成小块而无需你作为开发者或架构师,甚至在规划你的旅行时,不断地得到关于你想要做出什么决定的问题,比如选择哪个云数据库。想象一下,你给Agent一个任务,说,构建GitHub或

构建一个类似的移动应用程序,这将不够具体,对吧?所以这就是我认为中等水平的开发者不会被Agent取代的系统思维。另一方面,很多开发者的工作只是处理问题和修复bug,找到修复bug的位置,添加来自客户的功能,然后你必须浏览代码库并找出你必须修改的文件。我认为在这一方面,我们将看到在未来一年中取得显著进展。实际上,在我们录制Padawan项目的演示时,我们让我们的产品经理使用了一个问题,Agent自己创建了进度,对吧?所以,

一个通常不编写代码、不在代码库中编写代码的产品经理能够使用Agent创建一个真实的拉取请求,然后由开发者审查并合并到代码库中。所以在某些方面,我们已经做到了。在其他方面,我们需要达到你足够信任它,以至于每天都在使用它的程度。

我相信在发布Agent模式和Padawan之前,你们做了很多内部测试。也许如果我们从评估阶段稍微放大一点,你能描述一下Copilot今天的整体开发周期吗?你们是如何进行规划和决策的?

以及你们如何改进它?业界现在称之为AI工程,也就是我们用AI开发来扩展后端和前端开发的完整堆栈。那么我们如何使用新版本的模型、新的模型呢?就像我们现在在Copilot中拥有模型选择器一样,我们不断处理来自多个供应商的多个模型。我们如何将其集成到我们的堆栈中?我们有一个应用科学团队负责运行评估,

我们有一个团队构建这些基准测试,应用科学团队用它来比较不同的模型,还有构建代码审查Agent、SWE Agent或Agent模式用户等功能的团队,以验证其工作作为其测试套件的一部分。

所以它不再只是数据科学家和工程师。这些角色越来越重叠,他们每天都在合作。我们通过A/B测试进行大量的实验,在离线测试和在线测试之后,我们首先对GitHub和微软的员工进行测试,然后对一部分用户进行测试,再发布新版本或微调后的模型版本。

然后总的来说,显然我们有一个我们要构建的功能路线图,一个很长的积压工作,不仅针对Copilot,而且针对整个GitHub。我认为GitHub今年将满18岁。从2007年末创始人开始开发到2008年初发布,已经18年了。微软实际上在4月4日将满50岁。

所以我们有很多客户反馈的积压工作,我们现在正在使用Copilot在Agent模式下构建这些功能,以加快我们的功能交付速度。但与此同时,市场变化如此之快。无论我们是与OpenAI、Entropic还是谷歌会面,我们都会了解到新的模型版本,然后我们的路线图会一天一个样地变化。

我相信你们也看到了这一点。市场变化如此之快。我们实际上正处于一个难以跟上的指数级创新曲线之上,你实际上无法提前规划超过一两个月。你如何看待竞争在这种指数级曲线上的情况?我认为,令人难以置信的是,正如你所描述的那样,SWE Agent在一年前还只是一个想法。现在我们有

一个充满各种公司在试验这些产品的市场。你如何看待赢得开发者,以及他们在不断变化和竞争激烈的市场中所看重的因素?

我们认为获胜的方式是,我们非常关心开发者。这始终是GitHub的核心,我们把开发者放在第一位,我们是为开发者构建产品的开发者。我们在GitHub有一句谚语,那就是我们使用GitHub在GitHub上构建GitHub。对。

所以我们在公司做的每一件事,包括我们的法律条款、人力资源政策、产品管理、销售、销售支持,所有这些职能都在GitHub问题、GitHub讨论和GitHub代码库中。所以我认为这是第一点,我们专注于此。

我们非常关心自己的产品,并且每天都在使用它。我每天早上做的第一件事就是打开手机上的GitHub应用程序,然后是Slack,因为我们很多公司的运营聊天都通过Slack进行。第二点是,你提到了竞争。我的意思是,我从未在开发者领域见过这样的情况。我认为这是开发者工具最激动人心的时刻。而且,我已经做了

超过30年的开发者,看到每天都有的创新真是太神奇了。我认为这种能量,在市场上和创新驱动的能量,无论是在开源方面还是在闭源方面,对吧?别忘了,这并不是

单方面的。就像专有模型和软件有创新一样,开源和GitHub也有同等的创新。这种能量显然会吸引我们。我是一个F1赛车的大粉丝。如果有几支球队能够赢得冠军,那么比赛就会更加精彩,我认为我们对竞争也有同样的感觉。每天早上醒来,它都会给我们

动力,让我们做得更好,更快地行动,最终以市场上最好的产品获胜。你们拥有如此丰富的关于人们如何实际使用Copilot的数据。自从Agent模式发布以来,即使是过去一周左右,什么事情也让你感到惊讶?从早期开始,一直让我们感到惊讶的一件事是Copilot编写了多少代码。你们过去在播客中以及

在Copilot预览版发布后不久,它就已经编写了大约25%的代码。我记得我们在产品审查中查看了这一点,我说,遥测数据中一定有错误。回去验证一下。不可能是真的,它编写了25%的代码,因为它只是自动完成,而且,

虽然这很酷,但与此同时,它在早期也犯了很多错误。但我们很快意识到,A,这个数字是真的;B,这只是软件开发人员的学习行为,对吧?就像你正在输入一些东西,你总是会到达需要查找一些东西的点。所以你会去你的浏览器,在Stack Overflow、Reddit、博客或GitHub上查找代码,然后复制粘贴它,然后你无论如何都会在之后修改它,对吧?就像那样,

内部循环总是这样,你写一些东西,用编译器和调试器试一下,然后不断修改直到它工作。然后这个数字迅速上升到大约50%,这取决于编程语言。

如果你现在看看这些Agent,很难衡量这一点,因为你可以直接进入Agent模式,说,“我想用Python编写一个贪吃蛇游戏”,它会为你编写所有代码。它会编写多个文件,所以分母变成了零。百分比是无限的,因为你唯一编写的是提示,两年前15分钟的演示现在只需要1分钟,而且

我认为这在许多方面仍然令人惊讶,我们已经领先于这条曲线这么远了。然后相反的情况也是真的,对吧?你可以把它放到一个地方,它会不断地重写同一个文件,或者删除整个文件,因为它在逻辑上卡住了。所以它也让我们认识到现实,我们离

一个Agent能够自主地解析我所有的GitHub问题并修复我所有的积压工作还差得很远。我唯一做的就是验证并成为软件开发Agent的代码审查员,对吧?所以我们处于这种状态,我们徘徊在它已经能够做多少事情的兴奋和它在非常简单的场景中卡住的现实之间,就像你试图弄清楚提示一样,

只做一件事,然后你进入文件并自己更改背景颜色。这说得通。除了你们正在做的许多智能化工作之外,我显然认为这是目前正在发生的最有趣的事情之一。在接下来的几个季度,你还希望GitHub在哪些其他重要领域发展?还有什么其他的重点,还是说一切都集中在AI上,这应该是公司的重点?

到目前为止,我们只讨论了通用的SPI Agent,你可以分配一个问题,它会生成拉取请求。但是如果你真的看看开发者的日常生活,在大多数公司中,你实际上编写代码的时间可能只有你一天时间的二到三个小时

然后你会花同样多的时间来审查同事的代码。虽然我们不相信从纯粹的安全和信任角度来看,这会消失,在你将代码合并到生产环境之前,你总是希望有另一个人参与其中。与此同时,我们相信代码审查Agent和代码审查是一个AI可以帮助你的重要主题,尤其是在你与不同时区的分布式团队合作时,你不想等待西海岸的人

醒来,才能获得初始反馈。所以我认为代码审查对我们来说是一个重要的主题。同样,AI部分只是一方面,但用户界面同样重要。就像,理想情况下,你会得到反馈,然后你可以与代码审查Agent一起处理该反馈,因为你不会总是得到完全正确的反馈,只需点击接受、接受、接受即可。你必须有一个用户界面,一个云环境,你可以在其中打开它。如果你总是必须,

在你的本地机器上克隆代码库并安装所有依赖项,切换到不同的分支,你仍然有很多样板工作,对吧?所以迁移到一个云环境,你可以在其中尝试代码审查带来的更改,并可以修改它们以使其工作,并拥有这种快速

在同一安全漏洞领域中的外部循环,A,你希望你的代码扫描不仅能发现漏洞,还能修复它们。一个更简单的版本是linter错误,比如代码格式化等等,希望所有这些都会消失,AI会修复所有这些,而不是你处理100个linter警告,告诉你在哪里放置括号中的空格。

但是,如果你查看任何中等规模的软件项目,它都有外部依赖项。它有很多已知的软件漏洞,希望没有高风险的,很多是低风险的,或者有人决定现在不一定要修复,因为代码不可访问,或者我们有其他优先事项。让AI来减少安全积压工作将使开源生态系统和许多商业软件项目变得更好,因为它降低了安全

工作量,每个工程经理都在技术债务、遗留代码、安全、可访问性、欧洲法规等等之间来回摇摆,对吧?以及创新积压工作。两者之间并没有真正的平衡。只是像,什么是最紧急的问题,最大的火灾演习?是你的销售团队告诉你,如果我们得不到那个功能,我们就无法销售产品吗?还是安全团队告诉你,你必须修复那个问题,否则我们将

向管理层报告,对吧?所以我认为这是AI方面的事情。但同样,作为平台的GitHub需要发展,以支持并拥有所有这些Agent和AI与人类协同工作的基本要素。你认为在这个过程中,人们还没有解决的问题是什么?

软件开发的方式,对吧?例如,你感觉我们正处于一个临界点,今年大部分代码将由AI生成,在某些情况下或某些任务中,也许所有代码都将由AI生成。这将如何改变测试或我们应该如何看待技术债务或任何其他方面?需要明确的是,我不认为所有代码都是由AI编写的。我认为这种方式

将是这样的,我们有两个层次。我们有机器语言层,它是Python、Ruby或Rust。这些实际上是芯片组、机器指令集的抽象。这是最后一个确定性的层。就像编程语言本身会完全按照我的意愿执行一样。然后人类语言本质上是非确定性的。我们三个人可以说同一句句子,但意思却不同。

所以,虽然我们将使用人类语言来描述我们将构建的许多功能和行为,但我们仍然会在下面保留编程语言层,作为工程师,我们将反复检查AI编写的代码是否正确?例如,它是否与我的成本结构相符,对吧?说到底,我们仍然都在经营需要有

正利润率的企业。我认为我们将作为工程师拥有这两个层次,我们将进入一个拥有更多人类语言和更少编程语言的世界。但与此同时,我们生活在一个许多金融服务机构仍在大型机上运行COBOL代码的世界。我们离仅仅获取这段30、40年前的代码并

寻找一个能够将其神奇地转换为云应用程序的Agent还差得很远,对吧?我认为这将会到来,但就像自动驾驶汽车也会到来一样。但我们不知道这个转换点究竟何时发生,你可以在没有方向盘的情况下拥有一辆汽车,它可以带你去任何地方,你知道,在你居住的国家内,对吧?就像,

它在旧金山对Waymo有效,但在从旧金山国际机场到圣何塞的路上对Waymo无效,对吧?所以范围会扩大,但我认为我们离解决所有技术债务和所有存在的遗留代码还差得很远。所以我们仍然

我认为至少还需要十年左右的时间,才会有软件开发者使用很多老式的PHP代码、COBOL代码以及所有这些东西。而在光谱的另一端,使用Web开发和AI,你将能够

我们已经做到了。看看一个10岁的孩子,给他们一个像Copilot或Replit、Bolt之类的工具,让他们输入几个提示,让他们探索它是如何工作的,以及他们如何像Stable Diffusion、Midjourney一样,自己渲染软件并对其进行迭代。

你自己领导着一个大型软件工程师团队。正如你所说,你们有更多的人类语言和指令,而不是机器语言。这是否改变了你寻找或想要在你的团队中发展的东西?好吧,你现在正在关注的是,你如何描述一个足够具体的问题,以便Agent能够处理它,对吧?基本上是软件开发的规划和跟踪方面,问题,对吧?这通常是最大的挑战,对吧?

一旦你的团队规模达到一定程度,你就会遇到这个问题。一个10人的初创公司没有问题,大多数10人的初创公司没有产品经理。创始人就是产品经理,其余的只是构建东西。如果你有一个问题需要解决,你的沟通路径非常短。

如果你有一千名工程师,他们最大的问题是什么?你想构建什么?你如何构建它?当你推出这个东西时,你到底是什么意思?如果你深入研究这个领域,还没有多少AI能够帮助你。我们自己也处于早期阶段,使用Copilot Workspace。

我们有一个规范和头脑风暴Agent,它基本上查看你在GitHub问题中写的内容,将其与代码库进行比较,并用人类语言向你描述前后情况。然后你可以像Notion文档一样修改它,基本上向规范中添加内容。

所以我认为这将是一整套我们将引入产品管理领域的行为。对于设计师来说也是如此,对吧?就像今天,很多设计都是在Figma中手绘的。我认为明天你将作为设计师,键入与产品经理相同的规范,你有一个AI来渲染代码

线框图,然后应用你的设计系统的基础来使其看起来像你的产品。因此,这些学科彼此更接近,如果产品经理擅长编写规范,

创建整个更改集,设计师将能够承担部分产品管理角色,如果工程师擅长描述功能,他们也可以承担这部分角色。所以我认为这就是在未来几年中,随着我们拥有越来越多的Agent,并且它们实际上擅长它们所做的事情,重新思考软件工程团队中传统学科如何发展的地方。当你考虑这些不同的Agent和不同的用例时,

你认为将是同一家公司或产品提供所有这三者吗?你认为它会是一个界面吗?它会是不同的界面吗?我很好奇你如何看待实际流程,从某种意义上说,用户非常不同,尽管他们有一些重叠的责任或目标。

是的。他们与之交互的工具集是什么?是一个工具吗?是多个工具吗?是一家公司吗?是多家公司吗?它从哪里启动?你如何看待所有这些?我们在GitHub最坚定的信念之一是开发者的选择。而且,想象一下,如果GitHub作为一个平台,只有JavaScript库可用,或者只有,你知道,React可用。我们会告诉你,这是你构建应用程序唯一需要的开源库,对吧?就像,

会有用户使用React,使用GitHub,因为他们喜欢React,而其他人会去其他地方,因为其他平台会为他们提供所有这些其他开源组件。对吧?在AI领域,我认为我们将看到同样的情况。我们将看到一个堆栈或宇宙,

提供软件开发生命周期不同部分的公司。开发者选择他们最喜欢的、他们有经验的以及他们相信未来的公司。很多都是信仰体系的一部分。编程语言在很多方面都非常相似。然后如果你看看开发者之间的讨论,你会觉得它们非常不同。

彼此之间,对吧?说到底,它们最终都会编译成在你的Apple M4芯片、你的Intel CPU、AMD或Nvidia或其他任何东西上运行的指令集。对吧?所以我认为我们将拥有一个不同的工具堆栈,并且将会有公司提供所有工具。当然不是全部,因为你永远不可能从一家公司获得所有开发者工具。

想想GitHub,我们是一个大型平台,但你仍然需要一个编辑器、一个操作系统、一个容器解决方案和一个云,这些都不是来自GitLab的。以HashiCorp、Terraform、All World为例,或者以Vercel和Next.js为例。走进湾区任何一家公司,他们都会有一套不同的工具组合,因为他们相信这是目前对他们来说最好的组合。所以,我认为在这个AI世界里,我们会看到同样的情况。你将会有

各种不同的代理可以选择。你已经有了不同模型的选择,有些人认为云模型更好,另一些人认为开放式模型更好。现实情况是介于两者之间,不同的场景使用不同的模型更好。所以,我认为在我们即将进入的这个代理时代,情况也会如此。鉴于我们看到的普遍性,这是真的吗?换句话说,如果你要移除X%的模型,而你只被困在一个你提到的模型上,

在某种程度上,考虑到四五年前我们的相对能力,你仍然会非常满意。换句话说,这有点像我们有很多很棒的选择,有些东西比其他的更好。但从根本上说,任何一个都会很棒。

根据任何基准指标来看。这取决于我们谈论的是什么最终状态,对吧?如果奇点即将到来,那么这一切都不重要。五年后,五年。你知道,我们差不多五年前,2020年6月就启动了Copilot。那时是什么,GPT-3?GPT-3确实是早期的实验。然后我们得到了这个模型,最终变成了Codex,这是一个特定于代码的模型,你知道,

这个模型的版本。而今天,它实际上已经不存在了,对吧?今天,每个人都建立在这些更强大的基础模型之上。是的。是的。这就是我的观点,在某种程度上,普遍性开始占据主导地位。所以我只是有点好奇你如何看待普遍性和专业化以及代理的五年时间范围。我可以看到这在模型层面上发生了。

但这又像是预测,你知道,我们什么时候才能真正拥有自动驾驶汽车?你知道,我开了一辆特斯拉10年,使用了各种形式的自动驾驶和自动驾驶仪,它仍然无法左转进入我的社区。我能看到未来的发生,但我不知道什么时候会发生,以及模型基本上都一样的时候。

但我认为对于软件开发人员来说,最低级别只在堆栈更高层出现差异化之前才重要。我认为编程语言或开源库是这方面的很好的例子,因为如果你足够放大,它们都是一样的。最终,无论你使用Swift、Kotlin还是React Native构建应用程序,这有什么区别呢?这只是软件开发的复杂性和我们所持有的信念体系

所以我认为差异化将来自开发人员获得最佳体验并完成日常工作的地方。例如,我可以在哪里开始我的早晨,拿起我想做的工作,探索我的创造力,并以最少的挫败感和最高的投资回报率完成工作,就我能够交付的内容而言

就像软件开发一样,你知道,在过去的30年里,或者实际上是过去的50年里,如果你追溯到20世纪70年代,当时微型计算机出现,突然之间你不再需要与其他人共享大型机了,一直都是关于我如何才能实现我所有远大于我作为个人所能实现的宏伟想法。我该如何,你知道,更快地完成这项工作?我认为我们还没有达到这条指数曲线的顶峰。我认为还有很多东西要来。

你还可以问的另一个问题是,GitHub的CEO什么时候才能达到我的积压工作为空的状态?我不相信这种情况会发生。是的,与你所说的话非常相关,一个有趣的问题是,人类将在多长时间内决定使用哪些代理?因为如果你仔细观察,你提到的许多角色,开发人员、设计师等,

传统上往往有点基于趋势。某些开发人员有时会使用某种模仿行为。显然,有一些非常优秀的产品,并且围绕某些工具有明确的选择。有时它感觉很酷,所以人们在使用它。编程语言也是如此,对吧?所以这是一个有趣的问题,当人类的决策成分消失时

做出的决定是否会发生根本性的变化,因为你摆脱了潮流。你知道,你不会使用Go,你只会使用Python或其他什么。如果我看看我的团队,作为CEO,我多久需要与他们核实一下他们正在构建的东西是否是我认为的,呃,

当我给他们任务时,我希望他们构建的东西,对吧?所以首先,接管任务、功能和史诗的人仍然与其他团队成员有一个循环,以便确保他们正在构建的东西确实是正确的东西。我不认为我们可以在给代理工作时足够具体,以至于它可以独自完成所有工作,除非,你知道,单元大小非常非常小,对吧?

我认为这个问题的另一方面是,我们什么时候才能达到所有软件都是个人软件的地步?事实上,我不再从App Store安装应用程序了。我只是使用自然语言界面自己构建所有应用程序。所以我我的个人电脑、我的智能手机上拥有这个完全个性化的软件,而不是对我们所有人来说都一样的现成软件,用户界面实际上是

是完全个性化的。而且,你知道,我们有科幻电影或动作电影,比如《钢铁侠》,对吧?就像Java完全个性化到托尼·斯塔克一样。

所以我认为,未来,这肯定会在未来五年内发生。问题是这项工作做得有多好,我能否告诉它春假就要来了,同样的酒店,同样的家人,你知道,它帮我预订了行程,我唯一需要确认的问题是我是否要进行5000美元的旅行?关于GitHub、Copilot和其他一切,另一件令人震惊的事情是所有这些的实际商业成功,对吧?我认为这在最近的财报电话会议上非常引人注目

最近已经完成。

你能分享一些关于业务和财务指标以及Copilot和GitHub总体上对微软的影响的信息吗?除了财报电话会议上的内容之外,没有太多。我努力回忆。我认为我们上次分享的数字是在几个季度前,当时有77,000个组织使用Copilot。那时,付费用户数量为180万付费用户。从那以后我们没有分享更新的数字,所以我不能分享最新的数字,但是

我认为从这些财报电话会议中真正有趣的是,如果你看看萨蒂亚提到的标识数量,它涵盖了整个行业范围。它不仅仅是酷炫的初创公司。它不仅仅是金融服务机构。它确实是每个已经采用Copilot的行业。我认为还没有哪个开发人员工具能够以这样的速度被整个软件开发领域的所有公司规模和所有行业所采用。你知道,如果你仔细想想,与美国普通软件开发人员的薪水相比,20美元大约是0.1%,如果有的话。

然后我们谈论的是端到端25%或28%的生产力提升,编码任务的生产力提升为55%或更高。但正如我们前面所说,开发人员不仅仅是编写代码。这是对所花费美元的惊人投资回报率。

我认为这就是推动这种采用曲线的原因。现在,任何公司,任何软件公司,他们都有前面描述的相同问题。他们有很长的积压工作和过多的工作。每次经理去他们的团队询问实施一项功能需要多长时间时,它都会变成吉姆·柯克和斯科蒂的笑话,即修理翘曲驱动器需要多长时间?你会得到一个过长的估计,然后它会变成一场谈判,船长设定最后期限,而不是工程师实际估计可能完成的工作。我认为这就是Copilot的许多商业成功来自的地方。所有编写软件的人都对需要多长时间感到沮丧,不是因为他们不认为工程师很好,而是因为构建软件的复杂性。你认为这种定价会发生多大变化?我知道这目前只是猜测。

当你实际上在取代人们的时候。我知道在许多行业中,可能是法律、会计或编码。人们说,好吧,最终这将转向基于价值的定价,因为最终,你不仅仅是每月支付20美元来提高一个人的生产力,你实际上是在取代一个每年花费5万、10万或20万美元的人,或者根据他们的角色而定。也在不同的学科中。所以我只是有点好奇你如何看待,这最终是否会成为“租用程序员”,并且像程序员一样定价?

所有东西都会商品化,最终,通常每年花费10万美元、20万美元、30万美元的东西每年花费3000美元?你如何看待这个市场的走向?我认为它将基于计算或计算的某种派生指标。它会很便宜。它会像你厨房里的洗碗机一样便宜,它不是你每天洗碗时一个人会花费你的钱的衍生物。

但我认为买家角色将不愿意为机器支付价格,无论是洗碗机、代理还是人类开发人员的等价物。我认为这实际上是正确的方法。

心态,因为我不相信AI代理实际上是在取代开发人员。创造性部分仍然来自软件开发人员,系统思维。预测未来总是很有趣的部分,我一年或两年后会回到播客上,你会告诉我我对预测的错误之处。

但我认为软件开发中有很多决定是人类必须做出的。什么数据库,什么云,很多都是业务及其运营方式的函数。你使用哪个云并不一定取决于云的成本是多少。这是CTO或工程领导团队的战略决策。

我们越来越看到公司使用多个云,因为他们不想依赖于单个供应商。就像任何一家随机的汽车制造商都为安全气囊有多个供应商一样,因为他们不想在安全气囊无法从那个供应商那里交付时被困在他们的工厂生产线上。

所以我认为,代理的价格肯定会随着这些代理变得更强大而上涨。我们在OpenAI看到了这一点,现在最高级别的深度研究和O1 Pro模型每月花费200美元。人们看到了其中的价值,并且

我认为,两年前,如果我们预测到这一点,我们不会相信。你愿意每月支付200美元来使用聊天代理,因为另一方面,在软件中,人们常常觉得每月5美元的移动应用程序订阅费用很多。当你查看将一次性付款转移到订阅模式的应用程序的评论时,你可以看到这一点,有多少人……

不喜欢这种模式,因为他们觉得软件是你一次性购买的东西,就像CD一样,然后你就拥有它了。当然,会有基于你从中获得的价值而产生的价格上涨。因为,你知道,另一方面是

人类开发人员很贵,因为供应有限。代理将拥有无限的供应,这只会受到数据中心中可用的计算能力GPU的限制。说到这种供应的解锁,就像我们一直在讨论的那样,代码生成的定价是什么?我认为还有一个问题是软件本身的价值会发生什么。

一段时间以来,每个人都在谈论贾文悖论。我不想问这个问题,但也许可以问一些更具体的问题。你来自东德。你还记得Trabant汽车吗?我记得。我有一辆。哦,好吧,我父母有一辆。哦,好吧。对。所以你可以告诉我它实际上是什么样的。但对你们来说很好,因为它是一辆不错的汽车,但它是默认的汽车,由于与世界其他地区的供应限制,最终有10年的等待名单。然后,一旦柏林墙倒塌,需求就完全崩溃了。

是的。

你认为当人工智能消除工程的稀缺性时,哪些类型的软件价值会崩溃?你知道,Trabant的等待名单实际上在80年代后期是17年。好吧,17年,不是10年。是的。顺便说一句,这个词今天仍然存在。它存在于超级跑车中,对吧?就像你经常可以买到超级跑车一样,你知道,高端保时捷911 R3或其他什么,并且

然后转售价格高于新价格,因为你无法获得一辆去经销商那里,因为在经销商那里,你必须先购买100辆保时捷才能获得购买该款高端保时捷或法拉利的资格,情况也是如此。

因此,Trabant,实际上,我父亲拥有的那辆,我认为他在84年或85年以高于我们购买的价格卖给了邻居,因为你可以缩短17年的等待时间来买车。父母经常有订阅,引号引号订阅,比如在孩子们还小的时候就为他们注册了一辆车。所以你实际上可以在成年并获得驾照时得到一辆。

所以,你知道,我认为我们会看到,回到你的软件问题,对吧?就像我们会看到它朝着两个方向发展一样,对吧?如果你考虑Copilot,Copilot,你知道,企业版每月每用户收费20美元。这实际上与你为GitHub Enterprise支付的价格几乎完全相同。

每月每用户21美元,对吧?所以,用于存储所有存储库、管理所有问题、整个软件开发生命周期每月每用户21美元。许多人过去认为这对DevOps来说是一笔巨款,对吧?

然后我们推出了Copilot自动完成功能,每月收费20美元。所以,突然之间,软件开发生命周期的这个子功能,自动完成,每月收费20美元。这回到了Elad的问题。如果价值是你获得投资回报率并获得25%的生产力提升,是的,你愿意为五年前的东西支付更多费用,如果我告诉你自动完成将成为由AI驱动的独立功能,费用为20美元。

超过GitHub的平均售价,你会说,好吧,这听起来不太可能。我认为我们会看到软件价格下降。所以我认为这两种情况都会同时发生。有些东西我们不再愿意为它付费了。没有人再为操作系统付费了。与此同时,你为Netflix订阅和Office订阅支付的费用比以往任何时候都要高得多,并且

以及所有这些东西。所以我认为这两件事会同时发生。这完全取决于你的企业为该解决方案支付多少价值,无论是自己动手还是使用自己管理或安装在自己服务器上的东西。GitHub是开源的基础设施。所以我相信你对开源生态系统中正在发生的事情有普遍的看法。今天,你可以在Copilot中使用Cloud和OpenAI。

和Gemini,但目前不一定使用开源模型。正确。所以在Copilot中,我们有Claw、Gemini,然后是OpenAI。OpenAI有不同的模型。我正在脑子里处理这个问题。等等,模型不止三个,但它是4.0模型、0.1和0.3迷你模型。在GitHub模型中,这是我们的模型目录,我们有开源或开放权重模型,如Lama。

例如,以及各种其他模型,如Mistral、Cohere、微软的5.4模型。模型目录,虽然它是GitHub中的一个单独功能,但你可以在Copilot中添加模型,因为Copilot有扩展程序,你实际上可以从Copilot访问模型目录。因此,如果你想快速对5.4进行推理,你可以通过在Copilot中使用添加模型扩展程序来实现。这样,如果你的目录中有更多模型,

打包到Copilot中的那些。我知道。你认为开源与专有模型API对未来开发人员的相关性如何?我认为最重要的一点是开源将推动创新。我们在今年早些时候,或者实际上是几周前看到了这一点,甚至没有多久。漫长的一年,是的。感觉好像已经过去半年了,而不是仅仅一个月半。

但我认为开源将推动创新。你知道,我们在图像模型(如稳定扩散)中看到了这一点,现在来自德国我家乡附近黑森林弗莱堡的一家初创公司有一个Flux模型。黑森林实验室实际上是Flux背后的公司,并且

所以,我认为我们会看到开源模型的创新,这将推动其他供应商,开源生态系统和专有闭源公司之间的这种来回互动将,我认为,加速整个领域的发展。DeepSeek是目前最突出的例子。我们可以研究一下。论文是公开的。模型是公开的。其中一些是,你知道,

在MIT许可证下开源。其他一些是开放权重,你可以查看权重,然后将代码作为开源运行,但权重本身是在某些专有许可证下,并受中国法律等约束。我认为这将推动创新,并将开放这个领域,并使访问民主化,因为如果你只想玩一个模型,你就不必对商业API进行推理。你可以在自己的本地机器上自己尝试一下,并玩弄它。如果你考虑孩子、学生和研究,这将开辟一个巨大的空间。而这最终一直是我们GitHub DNA的一部分。莎拉,这个答案令人满意吗?是的,是的。我认为最令人满意的答案是有人赢了。

对。但我认为现在很难预测这一点。是什么让iPhone或Android、Windows或Linux或Mac OS胜出呢?我认为我们喜欢思考科技行业中的这些二元之战。而现实情况并非如此,当然也不是

在开发人员领域,对吧?React并没有获胜。总会有下一个东西,你知道吗?在React之前,有jQuery或你喜欢的任何库。我认为在Python、TypeScript和Rust之后,还会有下一种编程语言。而Rust本身,你知道,五年前并不是什么

事情。所以还会有更多更接近人类语言的语言,更具体地说,是AI中的自然语言层和转换为CPU或GPU的编程语言层。所以我认为没有赢家。总是在玩无限游戏。就像我的世界一样。

软件就像我的世界,在我的世界中没有赢家。你可以赢得小规模的战斗,它们与某个子挑战或任务隔离。但最终,我们正在构建一个越来越大的软件世界,总会有下一个伟大的事物。这是一个有趣的比喻。如果我考虑任何一个单独的开发人员,比如

有人一直在对我说。某种类型的开发人员,对吧?非常强大的技术人员,经验更丰富,并非所有,但像经验更丰富的程序员、系统开发人员,通常是那些非常喜欢Rust的人。

他们基本上会说,他们担心下一代开发人员培养对架构选择、权衡和特定实现可能失败的极端情况的品味和理解,给定某种形状的数据,给定他们对实际实现的经验。对。

对。所以他们担心,你知道,对于任何想要在2025年赢得下一级我的世界的人来说,正确的事情是积极地使用AI,学习如何使用它。但是,像你从这个部分听到的一样,这种担忧是否与你产生共鸣?当我们不编写代码时,你能培养对抽象层面工程的必要深入理解吗?还是这是一种愚蠢的担忧?

我不会说它很愚蠢,因为显然,你知道,这其中有一些道理,对吧?很容易在编程练习或Advent of Code等活动中作弊。随着这些AI模型变得越来越好,谁是最佳黑客或程序员的这些竞赛将不得不提升到一个完全不同的水平,你假设开发人员正在使用AI来解决这些挑战,否则它将太容易了。

如果你考虑下一代开发人员,也许不是2025年,而是2035年。比如,你知道,你提到了我在东德长大,然后柏林墙倒塌,我买了一台Commodore 64,但它没有互联网。所以我买了书和杂志,就是这样,对吧?我没有可以去提问的论坛。我可以去,我去电脑俱乐部。

每周三左右,直到那里没有人再说什么我不知道的事情了,对吧?如果你把这与今天的情况进行比较,今天的孩子们和那些想要学习编码的人拥有无限量的知识。你知道吗?还有无限量的耐心,因为Copilot不会耗尽耐心。

父母会。我就是其中之一。所以,如果你想学习编码,拥有AI是极其民主化的。你的父母不必有任何技术背景。你真正需要的只是一个手机上的互联网连接。

以及这些Copilot或ChatGPT或你喜欢的任何东西。你可以开始问编码问题,你可以问布尔逻辑和系统思维,你可以无限深入地探讨任何这些问题,并且,并且,你知道,根据你的喜好转移到其他主题。对。所以我认为,你知道,我们将看到,你知道,新一代的,嗯,

人类,你知道,他们从小就接触这项技术,对他们来说,利用他们的个人助理、他们个人的一套代理是很自然的。我最近称之为代理乐团,你是这个代理乐团的指挥,他们知道如何做到这一点。因此,他们可以在相同的时间内完成比我们过去30年所能完成的更多的事情。我认为这非常令人兴奋,因为,再次,就像我们一样,

找到一个没有这个大型电脑游戏或软件系统或他们一直想构建但没有时间的功能的开发人员。我的工程师更多地谈论的是过度承诺、倦怠以及没有足够的时间来满足我、客户和安全团队的要求。所以我认为这就是我们的方向,以及如何开发它。

超级令人兴奋。实际上在开源中也是如此,对吧?开源可持续性是我们可能还会再花一个小时讨论的另一个重要话题,以及人们想要构建的任何类型的软件。我绝对同意这种兴奋和乐观。我想到我的三个孩子,就像,

他们能够以多快的速度学习,以及人们将拥有的AI资源。我非常嫉妒。我想,如果像你说的那样,拥有无限的耐心和对当今模型的理解,我作为一名工程师会好得多,速度也会快得多。顺便说一句,我很幸运。我的父母都是工程师,对吧?但这是一种非常人性化的动态,我会问一个问题,我父亲会说,这是逻辑,莎拉。我说,哦,不。是的。

我可以问你一个更私人的问题来结束吗?比如东柏林,你知道,你在统一后经历了这种非常快速的科技变革。你认为这是否会影响你对当前AI转型速度以及用户和人类将如何应对它的看法?

我一直相信,我生命中许多时刻都由1989年那场巨变所定义。我还记得柏林墙倒塌或宣布柏林墙将被打开的那一夜。那是一个星期四晚上,然后星期五是正常的学校。星期六也是上学,半天课。我想我是班里四个来上课的孩子之一,然后他们让我们回家了,

我们实际上越过了柏林墙到了西柏林。我认为对经历过这场变革的那一代孩子来说,重要的是

他们再也无法回到童年了。你知道,家没了。就像,你知道,街角的那家店不再像40年前那样了。学校没了,制度没了,传统,所有这些都变成了,你知道,那个新世界。所以这有点像你从一个国家搬到另一个国家,然后我,你知道,10年前也做过同样的事情,当微软

收购我的公司时。一旦你在生活中迈出了这一步,你就会对很多事情有全新的视角。我认为这是,你知道,1990年的统一,然后,你知道,通过我生命中的各个阶段,包括,你知道,成为GitHub的CEO,通过,你知道,当时感觉是随机的决定,

这就是我来到这里的方式,这就是我展望未来和对未来感到乐观的方式,同时认识到我的过去,并在与你们交谈时运用一些这些经验,并反思90年代在互联网之前和之后使用Commodore 64编程是什么样的,对吧?在开源之前和之后,在云计算之前和之后,在移动设备之前和之后。现在我们有了AI之前和之后,没有回头路了。

未来我们将拥有几乎在我们生活中所做的一切事情的AI,如果我们愿意的话。你知道,你仍然可以随时把你的手机扔到角落里,享受没有互联网的一天。这太棒了,托马斯。非常感谢你进行这次谈话。非常感谢你邀请我。很高兴与你联系,先生。感谢你的时间和所有其他事情。

在Twitter上关注我们@NoPriorsPod。如果你想看到我们的脸,请订阅我们的YouTube频道。在Apple Podcasts、Spotify或你收听节目的任何地方关注该节目。这样你每周都会收到一集新节目。并在no-priors.com上注册电子邮件或查找每集的文字记录。