30 秒看懂
在 2025 年 5 月的访谈中,Matthew Berman 与 Thomas Dohmke 回顾 GitHub Copilot 从早期内部测试到编程智能体的发展,并讨论其 VS Code 客户端的开源。Dohmke 主张培养编程素养并保持人的责任,同时设想更个性化的软件和互联智能体生态。他对就业的预测是观点,并非保证。
- 1Copilot 早期反馈Dohmke 表示,内部预览中,启用功能的文件约 25% 代码由 Copilot 编写;这一数据只适用于当时的测量范围。
- 2工程师仍需负责编程智能体为现有代码库提出修改;人需要检查安全性、正确性以及是否符合业务需求。
- 3VS Code 客户端开源公告涉及 VS Code 中的 Copilot 客户端实现,底层 API 仍属于服务的一部分。
- 4原型与生产Vibe coding 可以加快原型制作;生产环境还需要审查、测试、安全措施和成本控制。
- 5就业前景并不单一Dohmke 承认部分工作可能需要更少的人,同时希望新岗位和再培训能创造机会。
要点建议
- Copilot 建立在开发者熟悉的补全和代码修改流程之上;早期内部数据仅针对启用该功能的文件。
- Dohmke 支持学习编程,以便理解、验证并保障 AI 生成成果的安全。
- 这里讨论的开源公告针对 VS Code 中的 Copilot 客户端,并非所有模型和后台服务。
- 智能体可能加快原型制作和常规工作,但生产环境中的修改仍需审查、测试和明确责任。
- Dohmke 预计部分任务会出现就业替代,也会产生新机会,但个人转型存在不确定性。
按章节阅读整理后的全文
Copilot 的起点
Dohmke 回忆最初的怀疑和内部反馈。开发者熟悉的代码补全流程降低了使用建议的门槛。
Matthew Berman 与 GitHub 时任 CEO Thomas Dohmke 讨论 Copilot 的起点、编程教育和智能体。访谈录制于 2025 年 5 月,公告和预测均应结合当时的背景理解。
Berman 回忆第一次看到 AI 代码补全的经历,并问 Dohmke 如何看待早期 GPT 模型。Dohmke 说,他起初怀疑模型能否可靠地区分不同编程语言的语法。
2020 年夏天,他看到 GPT-3 和 OpenAI Codex 可以为排序、素数判断等任务生成语法正确的方法,而且不需要后来智能体系统使用的编译器工具调用步骤。这段经历改变了他的看法。
GitHub 在 2021 年预览发布前数月就开始内部测试 Copilot。Dohmke 说,早期数据表明,在启用了该功能的文件中,约 25% 的代码由它编写,且不同语言之间有差异。这是特定内部场景的测量,并非普遍的生产力数字。
他回忆说,尽管团队担心在高度个性化的编辑器环境中插入建议会引发反感,开发者反馈却格外积极。预览吸引了许多用户,他们和他一样,最初怀疑,随后发现它很有用。
Berman 问为什么选择 Tab 补全作为交互方式。Dohmke 解释,编辑器补全和 IntelliSense 早已存在,开发者已经熟悉接受方法和参数建议的流程。
开发者也常常从文档、代码库和论坛寻找代码片段,再按本地变量和库进行修改。Copilot 将这种熟悉的做法与能在编辑器中给出建议的模型结合起来,但模型仍会出错。
Dohmke 说,目标是保持开发者的心流:留在编辑器中,接受或修改建议,编译并继续构建。当一个想法变成能够运行的东西时,人们会感到满足。
学习编程与审查智能体
他认为计算素养仍然有价值。编程智能体提出的修改需要工程师验证。
Berman 问,随着 AI 进步,孩子是否仍应学习编程。Dohmke 的回答是肯定的:软件影响手机、家庭、汽车、旅行和工作,即便不成为工程师,理解代码和基本计算知识也有助于理解世界。
Dohmke 说,GitHub 新宣布的编程智能体可以接收任务描述和现有代码库,并通过拉取请求提出修改。工程师必须验证结果,包括安全性,以及是否符合业务和客户的期望。
Dohmke 认为,学习 AI 辅助开发是学习不断演进的手艺的一部分。他将今天的工具与过去几十年开源软件的普及和全栈工作的变化相比较。
他预计软件工程师除了前端和后端,还需要理解模型。不同任务可能需要不同模型:补全时低延迟很重要,智能体则可能有更多时间,也需要较强的工具使用能力。
VS Code 客户端开源
Dohmke 解释公告的范围和社区可能做出的贡献。服务及其底层 API 与客户端代码有所区别。
Berman 问及 Copilot 开源公告。Dohmke 明确说的是 VS Code 中的 Copilot:客户端实现将融入 VS Code 项目。这不能理解为所有模型和后台服务都已开源。
Dohmke 以 VS Code 的公开规划、文档和发布流程为先例。他说,Copilot 已从补全发展到聊天、语音、智能体模式和模型选择,免费层也让社区参与更加容易。
他说开发者可以根据 MIT 许可研究或改造客户端,用于其他编辑器或工具,而 GitHub 和 Microsoft API 仍是服务业务的一部分。访谈中的公告针对所描述的客户端代码,并不意味着所有底层系统都获得无限制许可。
Berman 问社区可能带来哪些贡献。Dohmke 提到新模型集成,但也指出需要评估和负责任 AI 测试;他还设想扩展迁移能力,支持最初公布的 Java 和 .NET 之外的语言。
其他贡献可能改进智能体应用或回滚修改的方式。Dohmke 希望公开项目能让开发者提出改进,或维护适合自己工作流的分支。
模型、架构与个性化软件
两人讨论如何将自然语言意图转化为可靠软件。Dohmke 设想面向个人需求的助手和小型应用。
在软件架构话题中,Berman 问确定性的代码和非确定性的生成在哪里相接。Dohmke 说,同一提示可能产生不同代码,工程师需要在自然语言意图和实现之间工作。实际程序行为也可能取决于输入和运行环境。
他将模型的理解过程与产品经理、设计师和工程师之间常见的误解相比较。团队对 CEO 要求的实现很少与其最初的想象完全相同,因为人们会带入各自的背景和约束。
一种工作流是先与模型讨论功能规格、检查代码库和可能使用的库,再把规格拆分成更小的任务交给智能体。工程师要判断任务何时足够明确,以及何时亲自实现更合适。
Berman 问,未来操作系统是否可能按需生成。Dohmke 预计底层仍会有某种内核,但设想人们主要与助手交互时,操作系统可能变得不那么显眼。
智能体可以使用软件或浏览器订旅行、点餐。Dohmke 指出,实体配送仍有现实限制;便捷的软件交互不会自动解决最后的物理环节。
他设想为特定需求生成小型个性化应用。例如,家庭零用钱记录工具可以按父母和孩子的需求定制,不必使用通用服务及其账户和权限配置。
Berman 喜欢与孩子一起制作这种应用的想法。Dohmke 认为,当父母没有时间或答案时,孩子可以继续用自己的语言探索、提问,并在过程中学习。
Vibe coding 与智能体开发
Dohmke 区分快速原型与生产工作流,讨论人工审查、测试和持续存在的软件待办。
话题回到编程智能体和 vibe coding。Berman 问,人们是否可以松开方向盘,只关注结果。Dohmke 更喜欢驾驶辅助的类比:人仍需负责,并保持参与。
他预计未来智能体能够处理某些边界明确的应用,而人不必检查所有代码;但大部分专业软件工作涉及别人构建的现有代码库。理解和维护这些代码仍是手艺的一部分。
Vibe coding 擅长快速把想法变成原型,不必把一整天花在配置和样板代码上。Dohmke 将其与生产工作区分开:团队还必须考虑安全、质量、标准、效率和预算。
在生产环境中,他描述了智能体提出拉取请求、开发者结合代码审查工具、测试和 CI/CD 进行审核的流程。智能体可以处理错误、安全检查和测试编写,而人仍对成果负责。
Berman 说,不懂编程的人已经能做出有用的应用,但可能遇到复杂度门槛。Dohmke 将其与早期低代码工具相比:AI 扩展了不懂代码也能构建的范围,但扩展规模和身份认证仍需要系统知识。
Dohmke 预计人们的想法也会随工具能力增长。多数软件团队已有很长的待办清单,以及技术债务、合规、无障碍和依赖项等工作。他希望智能体能减少这些积压,但团队仍需决定做什么功能以及为什么做。
Berman 乐观地认为,软件创建成本降低可能让人们解决更多问题。两人将这视为一种可能的未来,而非所有开发者岗位都有保障或不会发生替代的证据。
互联智能体与就业
他设想个人、工作和任务型智能体相互通信。他承认部分工作可能被替代,同时对新岗位表达乐观。
被问到编程界面是否会趋于统一时,Dohmke 说整合与多样性可能同时存在。不同组织和利益会产生不同智能体,但它们可以通过已有集成和新协议连接。
他设想个人助手保存个人历史,工作助手保存机构知识。它们可以在任职期间连接,离职时分开;但个人信息和公司信息之间的边界可能很复杂。
旅行助手或任务型服务也可能通过智能体间协议或工具连接到其中任一助手。Dohmke 希望即便底层有多个系统,用户仍能使用连贯的语言界面。
Berman 问,他会如何安慰担心就业的人。Dohmke 承认,随着自动化进步,某些任务,例如部分翻译场景,可能需要更少的人。
他也预计会出现新工作,希望人们借助 AI 重新学习技能。他以软件测试岗位的历史变化为例,但过去的转型并不能保证每个受影响的劳动者都能轻松找到同等工作。
Dohmke 最后认为,早期技术变革创造了新机会,并表达了 AI 智能体也能做到这一点的信心。Berman 感谢他参加访谈。
同频道的其他文章
25:50EN → 简体中文
32:20EN → 简体中文
45:08EN → 简体中文
0:32EN → 简体中文
12:14EN → 简体中文
10:36EN → 简体中文