通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  中校

注册:2007-10-2915
跳转到指定楼层
1#
发表于 2025-7-31 16:05:30 |只看该作者 |倒序浏览

随着生成式 AI 的迅猛崛起,全球正经历一场前所未有的产业与职业重塑。“AI 会不会取代程序员?”这已成为开发者群体最常探讨的问题之一。自动写作、AI绘图、代码生成等工具的飞速迭代,让这个职业群体不少人产生前途未卜的焦虑:未来自己是否还有立足之地?尤其在软件开发领域,GitHub Copilot、ChatGPT 等智能体工具的出现,更被视为可能“颠覆”程序员岗位的标志性信号。

近日,全球最大的代码托管服务平台GitHub首席执行官托马斯·多姆克(Thomas Dohmke)做客播客节目《Eye on AI》,探讨了AI如何永远改变了编程领域。多姆克表示:AI 并不是来取代程序员,而是正在帮助开发者进化为“智能体指挥官”。在他看来,软件开发的未来将是人与智能体深度协作的时代。

以下为多姆克分享的核心观点:

<ol>
  • AI技术正帮助重构编程范式,GitHub Copilot已帮助生成46%的代码行,自然语言正成为“通用编程语言” 。
  • 智能体协作革命即将到来,GitHub从“人与人协作”转向“人与智能体协作” ,并推出编程、审查、修复三类智能体。
  • 开发者角色将演变为 “智能体指挥官” ,核心能力转为任务拆解、需求描述和AI协作决策。
  • GitHub的愿景是将开发者从1.5亿扩展到10亿人,让人人都能学会写代码,成为软件的创造者而非消费者。
  • 未来开发者可自由切换GPT、Claude等AI模型,而且切换另一个模型重新尝试的成本非常低。
  • AI 不会取代开发者,而是加速他们的工作并激发更多人参与软件创作。未来,开源文化持续推动全球开发者跨越国界协作,形成更强大的创新网络。
    </ol>


    以下为多姆克最新对话精华内容:

    01 GitHub不止是代码库,还是开发者之家

    问:每次提到GitHub,我认为它早已超越了“代码仓库(Code Repository,即用于存储、管理和跟踪项目代码变更的系统化存储空间)”的简单定义。你能简要回顾下GitHub的发展历程吗?

    多姆克:GitHub从一开始就不只是个“仓库”。虽然仓库是基础功能,但它真正革新了开发者的协作方式。2007年10月,几位创始人开始开发这个项目。有趣的是,后来我们制作纪念海报时,列出了最早期的10条提交记录——当时他们完全没想到这个项目会变得如此重要。2008年初GitHub正式发布,最早的用户主要来自Ruby on Rails社区,因为创始团队本身就来自这个旧金山的开发者圈子。

    最初GitHub确实是个代码托管平台,但很快就推出了划时代的“拉取请求”(pull request)功能。其实光是仓库功能在当时就很超前:开发者可以直接在网页上浏览代码、查看文件历史,这种体验在2008年堪称革命性。简洁高效的操作吸引了大批开发者入驻,GitHub随后又陆续加入了问题追踪等功能,让协作变得更加顺畅。

    现在来看,GitHub最特别的地方在于:它模糊了不同类型开发者之间的界限。无论是开源贡献者、商业开发者,还是创业公司或个人项目,大家的开发流程其实都很相似。很多时候,做开源项目、业余项目、创业项目和工作项目的,其实是同一个人在不同时期的身份切换。看看开发者的GitHub主页就会发现,上面往往记录着各种类型的项目,这正是现代开发者多元化的写照。

    问:在GitHub之前,开发者们把代码放在哪儿?

    多姆克:这个问题说来很有趣。最原始的做法就是直接在电脑上建文件夹,比如命名为V1、V2或者加个日期。但不出三天准乱套——要么忘记更新版本,要么想回退时找不着需要的代码。说实话,即使今天,依然有很多新手还在使用这种土办法。

    事实上,版本控制的发展史能写本书。最早流行的代码版本控制软件是CVS,后来被Subversion(SVN)取而代之,当时大家都把代码放在SourceForge(早期托管开源软件的网站)上。Git(分布式版本控制系统)的诞生要感谢Linux内核团队,连Linux之父林纳斯·托瓦兹(Linus Torvalds)都亲自下场开发。那时候还有个叫Mercurial的竞争对手,不过最后还是Git笑到了最后。

    有意思的是,2008年GitHub刚上线时,没人敢打包票Git能成为主流。最早那批用户基本都是SourceForge和SVN的老用户转过来的。直到现在,我们还经常要帮人把SVN(Subversion的缩写,版本控制系统)的老仓库往GitHub上搬。

    问:能否用通俗语言解释Git和GitHub的区别?特别是GitHub的创新点在哪里?

    多姆克:我们可以这样理解:Git就像是一个智能记事本,它能记住你对代码文件(其实就是文本文件)做的每一次修改。简单来说,想象一下你在写文章时,Git会自动保存每个版本,随时可以回看或恢复。现在很多办公软件(Google Docs)也有类似功能,但在Git出现前这可是个创举。

    Git最厉害的是它的“去中心化”特性。这意味着,每个开发者电脑上都有完整的代码库副本,包括所有修改记录。而GitHub就像是个“代码会所”,把这些分散的副本汇聚在一起。你可以把我的修改“拉”过去,我也可以把我的更新“推”给你,大家就能愉快地一起写代码了。

    而GitHub这个名字就暗示了它的定位——给这些分散的代码库安个家。虽然我们总说去中心化好,但代码总得有个可靠的存放地。所以我们把GitHub打造成“开发者之家”,让大家能在这里协作交流。

    02 未来程序员像指挥家,统领一支AI团队

    问:你的儿子多大了?是你教他们编程的,还是他们自学的?

    多姆克:他们分别是13岁和10岁。他们学习编程的路径很有意思。在前几年的疫情期间,我鼓励他们从打字软件开始练习,现在他们打字速度都超过我了。后来他们接触了MIT的Scratch和乐高Mindstorms这类图形化编程工具,通过拖拽逻辑模块就能完成编程。

    大儿子在学校学了Python,小儿子完全靠自学。这让我想起20世纪90年代自己学编程的经历,只不过那时我只能靠书籍杂志,而他们现在有整个互联网的资源。即使没有AI,遇到问题时,他们会上YouTube找教程,比如用Python和PyGame制作游戏动画。

    有趣的是,他们还通过YouTube视频自学了魔方解法。这种不断试错的过程,其实和编程学习如出一辙。后来有了Copilot的帮助就更方便了,它能用英语、德语等多种语言解释代码细节。这种跨越语言障碍的学习方式,让编程教育变得更加普惠,特别是对于那些非英语国家的孩子来说。现在即便是七八岁的孩子,只要对编程感兴趣,直接问Copilot“怎么做贪吃蛇游戏”,就能得到从创建文件到运行调试的完整指导。

    我认为孩子们学习编程确实比成年人更有优势,因为他们天生就具备不断尝试的精神。成年人遇到问题容易失去耐心,或者以没时间为由放弃,但孩子们会坚持不懈地向Copilot或其他AI工具提问。他们会根据AI的反馈反复修改代码,直到程序能够成功运行。

    问:GitHub平台上的代码创作规模有多大?

    多姆克:虽然无法给出精确数字,但可以从几个维度来观察这个庞大的代码生态。目前GitHub拥有1.5亿注册开发者,每年产生的Pull Request数量达到数亿级别。即便每个Pull Request只包含10行代码,总量也轻松突破十亿行。实际上,开发者的大部分工作都是在现有代码基础上进行修改或重构,这使得平台上的代码活动量更为可观。

    从AI参与度来看,2023年初的数据显示,在启用Copilot的文件中,46%的代码行数是由AI自动生成的。如今随着智能体的推出,开发者甚至可以用自然语言描述需求,由AI完成全部代码编写。这标志着编程方式正在发生根本性转变——开发者不再需要直接编写代码,而是转为撰写精确的需求说明。可以说,自然语言正在演变为一种新型的通用编程语言,而开发者则转型为需求的精准描述者和解决方案的架构师。

    问:GitHub是行业主导者,但还有多少其他平台是你们在关注的呢?

    多姆克:虽然确实存在像GitLab等竞争对手,但GitHub凭借其庞大的开发者生态,短期内确实难以被撼动。

    不过有趣的是,就像我最近看到的一个案例——(美国)某些航空管制系统至今仍在运行Windows 95,需要专门维护这些古董系统的开发者。这提醒我们,技术产品即使占据主导地位,也需要保持危机意识。

    作为微软生态系统的重要组成,我们始终保持着创新者焦虑。这种警觉让我们持续关注着行业变革,无论是DevOps的演进,还是生成式AI带来的开发方式革命。我们拥有的技术资产确实令人瞩目:从Visual Studio和VSCode这两大主流IDE,到.NET技术栈,再到npm这个JavaScript生态的核心基础设施。但越是如此,我们越要像《创新者困境》书中警示的那样,警惕成功带来的盲区。

    作为GitHub的一员,我觉得最棒的是,GitHub内部的每个人都在使用GitHub。从工程师到HR甚至法务团队,所有工作流程都在GitHub上完成。我们的服务条款本身就是托管在GitHub上的一个仓库,每次修改都通过Pull Request进行。对我来说,能为开发者打造开发工具,就是最理想的工作状态。我们会继续推动GitHub的创新。

    问:你们接下来要做什么?

    多姆克:显然是智能体。当前编程智能体的发展现状确实令人期待又充满挑战。

    以业内公认的SWE-bench基准测试为例,表现最优的模型目前仅能达到60%左右的准确率,即便未来提升到70%,这个数字仍然存在明显局限——毕竟测试集只涵盖12个Python项目的2000个问题案例。更值得注意的是,当扩展到其他编程语言时,准确率通常会骤降至30%左右。

    虽然这些智能体已经展现出巨大潜力,能够帮助开发者分担诸如任务分配等基础工作,但要实现我们的终极愿景——让智能体完全胜任测试用例编写、文档生成、安全漏洞修复等常规开发工作(真正的创新研发仍需人类主导),还有很长的路要走。

    我们还在考虑很多其他智能体应用,比如我们提到的代码审查智能体、自动修复智能体。在Microsoft Build大会上,我们发布了SIE智能体,它可以监控你的服务器,基于监控结果采取行动,无论是错误堆积还是服务器负载过高等问题。

    让我们想象这样一个未来场景:开发者将不再单打独斗,而是像交响乐团的指挥家一样统领着一支由各类智能体组成的数字团队。这种转变带来的不仅是效率提升,更是开发方式的根本变革。开发者需要培养全新的核心能力:首先要学会做精准判断——什么时候该自己动手写代码,什么时候交给智能体处理更合适。比如有时候分配一个三行代码的微任务给智能体,反而比自己编写更高效。其次要掌握任务拆解的技巧,把复杂需求分解成智能体能够理解的子任务。最重要的是,要学会用精确的开发语言与智能体沟通,这将成为未来开发者的必备技能。

    这让我深有感触。在实际开发中,最困难的从来不是产生创意,而是把脑海中的构想转化为可执行的代码。这个过程中,我需要把问题分解成越来越小的部分。过去几年,我们一直在努力降低从想法到代码的转换门槛;如今,我们正在向更高的抽象层级迈进。但无论技术如何进步,系统化的思维能力和结构化的设计能力,始终是开发者最核心的竞争力。我们将继续优化这一过程,让开发者可以更好地与智能体协作,完成更高效的开发工作。

    问:目前的智能体工具状态如何,普通人是否也能使用它们?

    多姆克:如今,即便是编程零基础的人,也能借助Copilot这样的工具轻松上手。

    我先解释下什么是编程智能体——像Copilot这类工具(包括OpenAI的Codex等同类产品),能够根据用户描述直接生成代码。特别是在网页开发领域,你可以用它快速搭建一个网页、开发小型Web应用,甚至制作简单的浏览器游戏。

    整个过程就像和AI聊天一样简单:输入需求、查看结果,不满意就继续调整提示词,直到获得理想效果,或者干脆推倒重来。

    这和AI绘画工具的工作原理很相似:你可以通过不断优化提示词获得更好的结果。但要注意的是,如果没有基本的编程知识,迟早会遇到瓶颈——仅靠提示词可能无法实现更复杂的需求。当我们把这类工具推广到数亿用户时,最终会面临一个现实问题:要么自己深入学习成为专业开发者,要么就需要雇佣专业开发团队来协助实现更复杂的功能。

    另外一个方面是所谓的“氛围编程”(vibe coding),它确实让编程变得更轻松,但背后隐藏着一个必须面对的挑战——开发者终究需要理解AI生成的代码是否真正符合需求。特别是在企业级开发环境中,这个问题尤为突出。想象一下,当你加入一个新项目时,99%的情况下都是在接手别人写的代码库,或者参与一个已经由数十甚至数百名开发者共同维护的大型项目。这时候,编程智能体就展现出了它的独特价值。

    它的工作方式很有意思:你只需要用自然语言描述想要对代码库进行的修改,Copilot就会在云端自动启动一个虚拟机,拉取代码库,配置好所有必要的开发环境,然后根据AI模型的分析结果来实施这些修改。整个过程就像有个虚拟的开发伙伴在帮你干活——它会像人类开发者一样提交详细的修改请求,清楚地说明每处改动的内容、实施计划以及技术方案。

    但这里的关键在于,这些AI生成的修改最终还是要经过专业开发者的严格审核。你需要确认这些改动确实是你想要的,确保它们符合团队的编码规范,正确使用了数据库和云服务,最重要的是不能带来新的安全漏洞。

    确实,对于搭建婚礼网页或是快速创建Shopify电商网站参加黑五促销这类简单需求,现在的AI工具完全能够胜任。但这里存在一个关键的分水岭。当你想要实现更复杂的功能,或是深入理解计算机科学原理时,就必须要走上专业软件开发的道路。

    值得注意的是,AI工具的普及不仅不会取代开发者这个职业,反而会推动它的发展。随着技术门槛的降低,会有更多人尝试编程。

    03 从单一模型到智能体:Copilot 正走向自动编排

    问:Copilot智能体在处理现有代码库时,会预先分析多少代码内容?毕竟有时修改一处代码可能会产生意想不到的连带影响。它是会扫描整个代码库,还是开发者可以控制其查看范围?

    多姆克:Copilot的工作方式其实很像人类开发者。它会先完整扫描代码库,理解你的任务需求后,通过AI模型来生成解决方案。在这个过程中,它能智能地调用各种开发工具:比如用代码搜索定位相关文件,通过命令行添加新的软件包。这些工具和模型生成的解决方案是紧密相连的,通过模型的思维链,它会根据自己对问题的理解来描述解决方案的实施过程。关键点在于,Copilot 会查看这些工具调用的输出,比如编译或其他操作。

    特别值得一提的是它采用的MCP技术(模型上下文协议,由Anthropic研发)。这项技术让Copilot能无缝对接各类开发环境,无论是GitHub、Figma这样的云服务,还是开发者本地的Mac电脑。整个工作流程就像资深程序员在解决问题:先分析代码逻辑,通过反复推敲不断优化,直到代码能顺利通过编译和测试,最后才提交审核。

    当然,AI生成的代码不一定每次都完美。有时你可能看着它的修改会疑惑:“这是什么逻辑?”这时就可以通过类似GitHub上Pull Request的方式,与Copilot建立反馈循环,不断调整优化。这种协作模式,正在重新定义人机协作的边界

    在2008年时,GitHub还是一个纯粹的人与人协作平台,开发者之间通过GitHub进行代码交流。到了2025年,GitHub依然保持人类开发者之间的合作,但现在我们正在扩展到人与智能体的协作。

    问:开发者可以随时切换不同的AI模型来编写代码,通过实际对比找到最适合的模型。未来是否会建立一个智能协调层,让Copilot能够自动根据任务特性选择最佳模型?

    多姆克:目前,我们的编程智能体还仅支持Sonet 4这一种模型。但必须说明的是,这只是一个起点。在我们的开发规划中,让智能体支持更多模型是一个重要方向。特别是在代码审查智能体和自动修复智能体等功能上,我们正在研究如何实现多模型协同工作。

    事实上,我们已经支持多种模型的使用。在某些场景(如代码补全)中,我们会自动选择模型;而在其他情况下,开发者可以自主选择。关键在于,没有任何一个模型能完美适配所有开发者的需求。考虑到编程语言、框架以及企业软件开发风格的多样性,我们认为开发者最终会找到最适合自己的工具。

    这个过程往往需要通过试错来完成,就像我们在软件开发周期中其他环节所做的那样。我们都经历过选择错误框架或库的情况。但值得庆幸的是,在软件和AI模型领域,切换另一个模型重新尝试的成本非常低。这种自动编排功能将变得越来越重要,特别是对于那些不想纠结选择哪个模型的开发者——他们更愿意让AI来帮他们做这个决定。

    未来将会是两种模式的结合:想要自主选择的开发者可以获得选择权,而偏好默认配置的用户则可以启用某种自动模式

    问:全球开发者中有多少人使用GitHub?你的愿景是什么?

    多姆克:目前,GitHub的开发者数量约为1.5亿。如果你咨询一些分析师,他们可能会告诉你,这个数字甚至已经超过了我们对全球专业开发者数量的估算。

    问题在于,如何定义“开发者”?比如,一位8岁的中学生学会了Python,或者参与了机器人战斗联盟之类的项目,他算不算开发者呢?他是在学习编码,还是在学物理和数学?我认为你不会因为一个中学生学了两年的物理,就称他为物理学家。

    但我们希望这些年轻人能够使用GitHub,至少能够从其他开发者的工作中学习。开源的魅力就在于此,全球的大多数开发者愿意将自己的工作分享出来。即使只是分享一个小小的代码片段(我们称之为gist),其他开发者也可以学习、修改、甚至重新创作。

    我们的愿景是:从1.5亿开发者扩展到10亿开发者。这个目标不仅仅因为10亿是个圆满的数字,更因为我们相信,地球上的每个人都有权利在自己愿意的情况下参与软件创作。这意味着每个人都应该在学校里学会编程,就像学习数学一样。这不仅仅是学会写代码,而是让每个人都能成为创造者,而不仅仅是软件的消费者。今天,许多人依然只是智能手机的消费者,而我们希望能有更多人愿意成为构建者,前提是他们愿意。

    最近,GitHub发布了创新图谱(Innovation Graph),这是一个非常有趣的工具。GitHub作为开发者和开源社区的“家园”,我们认为分享这些信息对社区非常重要。GitHub托管了大量开源代码,这不仅对正在使用这些代码的开发者有价值,对研究人员和政策制定者也非常重要,他们可以通过这个工具更好地了解全球开发者在GitHub上进行的创新活动。

    正如我们之前讨论的,GitHub是数百万开发者共同协作的地方,大家跨越国界和文化背景,彼此不认识,不知道对方的职位或背景,但大家都有一个共同的目标:合作并创造有价值的代码,解决问题。这就是开源的魅力所在。

    最后,我想强调的是:我们并不认为AI会取代开发者。实际上,我们相信AI将赋能更多的开发者。无论是那些希望通过自动化简化个人生活的开发者(例如自动化税务等),还是那些渴望成为下一个技术创业者或进入大公司工作的开发者,AI都将帮助他们更高效地完成工作。我们对这个未来充满期待,AI将加速软件开发的进程。


    来源:36kr
  • 举报本楼

    本帖有 2 个回帖,您需要登录后才能浏览 登录 | 注册
    您需要登录后才可以回帖 登录 | 注册 |

    版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

    GMT+8, 2025-8-1 19:53 , Processed in 0.266341 second(s), 16 queries , Gzip On.

    Copyright © 1999-2025 C114 All Rights Reserved

    Discuz Licensed

    回顶部