摘要:而在这其中,Julia Liuson 是最为关键的人物之一。GitHub、Visual Studio、TypeScript 、Azure 开发者平台……在微软,你能叫出名字的一切开发者服务项目,几乎都处于 Julia 的直接管理之下。Anders Hejlsb
在全球,智能编程的市场规模预估为百亿美元量级。
而在这其中,Julia Liuson 是最为关键的人物之一。GitHub、Visual Studio、TypeScript 、Azure 开发者平台……在微软,你能叫出名字的一切开发者服务项目,几乎都处于 Julia 的直接管理之下。Anders Hejlsberg、Erich Gamma 等一众顶尖技术大牛,都在 Julia 的团队中向其汇报。
加入微软超过三十年,Julia 不仅深度塑造了微软的开发者文化,也带领微软的相关产品成功跨越周期——GitHub Copilot 成为有史以来第一款由 GenAI 驱动的大型智能编程应用,到了 2025 年 5 月,用户规模已经超过 1500 万。
编程界最有权势的“代码女王”?这是一个数年前诞生自中文互联网的“古老称呼”,但到今天为止,依然是对 Julia Liuson 最形象的描述。
在对话开始前,InfoQ 试图用一个小时的时间,来寻找多个关键问题的答案,包括:微软和 Cursor 关于 C/C++ 插件的授权争议、微软内部对于智能编程的思考、微软大牛如何使用 AI 工作、微软如何围绕 AI 面试程序员等。问题很多,时间紧张。
但在对话结束后,我们惊讶的发现,那些令常人难以企及的成绩,往往诞生于简单甚至古朴的思考逻辑。一方面,Julia 及其团队,多年来坚持着源自微软早期的技术价值观毫无动摇,另一方面,又对 GenAI 极为乐观,提倡“prompt every day”,并期待着全球出现 10 亿新兴开发者。
Julia 披露,在产品设计问题上,因 AI 发展速度过快,微软与许多企业一样,总是“计划赶不上变化”。更进一步,在 Julia 看来,架构师应该适当放弃对稳定性、可扩展性的设计执念,围绕 GenAI 的能力提升,不断地否定和重写过去的代码。
对于工程师而言,Julia 认为,面试“刷题”变得越来越不重要,使用 AI 工具的熟练度成为了“必考题”。
更多与 Julia 的对话内容整理如下,InfoQ 在不改变原意的情况下稍加整理。
InfoQ: 为何限制 Cursor 使用微软官方插件?
Julia: 有几件很重要的事情,我觉得要区分一下。开源指的是什么?开源指的是代码的开源。大家都知道 Visual Studio 是一个付费产品,发行了很多不同的二进制软件包,有些是完全通过开源软件编译生成的,比方说 TypeScript、 C# 的编译器,但有些可能包含了闭源内容,是付费产品的一部分。
Visual Studio Code 还有很多插件也是闭源的,要从 Visual Studio Marketplace 来获取,要遵守相关的服务协议。Visual Studio Marketplace 的服务协议写得很清楚,相关插件只提供给 Visual Studio 和 Visual Studio Code 使用,不包含任何其他产品。从十几年前,Visual Studio Marketplace 上线开始,该条协议就没有改变过。
类似的案例比比皆是,比如 C ++ 的插件不开源; c# 插件有一部分是开源的,有一部分是 闭源的,Python 也是一样。
所以 cursor 或者 Windsurf,基于开源软件, fork 一个源代码分支是没有问题的。
但它直接在 Visual Studio Marketplace 下载插件,可能还做了二进制补丁,是违反服务协议的。Windsurf 就没有这么做,很守规矩。我们欢迎竞争,但希望是良性竞争。
开源和开源软件的最终实现,是两回事,源代码永远是二进制软件包的一部分,二者并非 100% 保持一致, 不要把二者混淆在一起。
InfoQ:曾经在微软 Build 大会上,您预言:未来的开发者,都应该是 AI 开发者。到了今天,预言好像已经变成了现实,开心吗?
Julia: 哈哈哈,很开心。
InfoQ:和当初的想象,有什么差异吗?
Julia: 我觉得,现在的 AI,比我当初想象的 AI ,能力要强太多了。当时的 AI 还像一个小朋友,今天的 AI 完全是颠覆性的。从 GPT 3.5 发布之后,AI 发生了质的改变,超出了我的想象。我经常跟我的团队说,以前好像还是马车时代,现在已经是汽车引擎时代。
InfoQ:智能编程引人瞩目,微软应该也很关注这一领域?
Julia: 应该说,微软是发起者,GitHub Copilot 是行业内第一个大型 GenAI 智能编程应用。
InfoQ:那么能否分享一下,过去三年,微软在设计智能编程产品的过程中,思路上有什么变化?
Julia: 过去三年,微软对 AI 的理解变得越来越深。另外,微软和业界一样,都觉得计划赶不上变化。GitHub Copilot 的第一个预览版,实际上在 2021 年的夏天就推出了。只有一个功能,就是在你做自动补全的时候, AI 跳进来,给你推荐一段代码。实现这个功能,需要开发者给出提示词,说明目的,来提升代码补全的效果。
等到 ChatGPT 出来之后,我们发现,咦,实际上开发者可以和 AI 对话,通过大模型来理解代码,使得智能编程工具的能力得到很大的提升。所以 GitHub Copilot 是逐步变成今天的样子。
但当时我做了一个判断,我觉得,放在今天仍然适用。
很多技术人员写完代码之后,觉得非常喜欢自己的代码,越看越喜欢。让他把这段代码干掉,对他而言,是一个比较困难的事。相当于你在否定他。所以我做了一个预言:就是在 AI 时代,你要不断否定自己以前写的代码。
另外,我们通常比较习惯做大的系统工程。比如 Azure,或者某个操作系统,需要有很强的稳定性。围绕架构的可扩展性,做很好得设计。但在 AI 时代,当你开始想这些设计性、扩展性的时候,就已经晚了、慢了。
因为 AI 的能力进化得非常快,可能以前需要用某段代码来解决的问题,过了一周、一个月、两个月,用大模型就可以自动解决。所以你得不断去否定、不断去重写,不断去创新,这对很多工程师来说,都是一个新的挑战,也是一种全新的软件开发思路。
所以关于 GitHub Copilot, 我们从战略规划开始,就想走在 AI 的最前沿,根据大模型的能力,不断推出新的功能。从最简单的编程助手,到“agent mode(代理模式)”,未来再到 vibe coding(氛围编程),给 AI 一个创意,AI 就会帮你实现这段代码。
当然,表达能力越强,智能编程的效果也会更好。AI 就像一个校招的大学生,对业务完全不了解,需要你将需求和背景描述清楚。如果你都说不清楚,那 AI 就更不清楚。很多开发者在自我介绍时,会提到自己比较内向,表达能力不行,但代码能力还不错。到了 AI 时代可能就要突破这个短板。
InfoQ:如您所说,该如何看待“AI 越来越强,开发者的重要性在下降”这一观点?能否给开发者三个建议?
Julia: 可以看看 SWE-bench Verified 榜单,问题解决率最高也只达到 65% 左右。你想想,如果你有一堆系统问题需要解决,但 AI 解决简单问题的成功率也只有 65% ,说明 AI 还有一些路要走。再比如说 vibe coding,做个小 APP 还好,解决生产级的工程问题,可能就很难。
其中难点在于,AI 不清楚某段代码的上下文,即使是一个初来乍到的人类工程师,也很难说清楚某段代码在整个生产线中里的具体作用。只有对业务全流程有了解,才能理解具体模块的划分逻辑。而这也是 AI 接下来会面临的挑战。
以前如果要进大厂,开发者就会去刷题。其实在我看来,刷题没有意义。AI 做题比人类快多了。
但是作为人类,你可以去了解整个业务和生产线,业务的价值与核心矛盾究竟是什么,用户的诉求是什么,要解决的问题是什么。我不觉得当前的 AI 能理解好这些内容。
另外人才是决策者,人和 AI 的协作有点像一个开发经理带着一群工程师,对业务的理解才是核心。
所以我给工程师的三个建议是:
工程师要去理解“What”,而不是只是“How”,理解项目的本质和用户的价值,否则就和 AI 区别不大。AI 会提出很多种解决方案,工程师要有判断能力,要有能力做 trade-off。智能编程是个全新的工具,需要学习才能上手,我要求我的团队要 “prompt every day”,如果一个工程师现在还没有开始学习 AI 的话,那他是绝对会被淘汰的。InfoQ:如何理解“AI 原生 IDE” 的概念?
Julia: 我觉得今天我们就是在做 AI 原生 IDE 。所谓 AI 原生 IDE 就是以 agent mode 为主,一些比较激进的公司,会说作为开发者不用写代码,先写个 PRD,写个业务需求,然后让 AI 去生成代码,工程师做 Codereview。项目构建是以单元测试开始的,而不是以写代码开始的。
所以现在一些 PM 也不去求工程师写代码了,把 PRD 写出来,然后生成代码,再让工程师 Check 一下。
但是相应的代码审查工作也比较难做,很多公司的测试能力相对较弱,AI 的 agent mode 一下修改了几百个文档,如何确保 AI 没有把业务逻辑改坏了,是需要不断去研究的。
这反而更考验架构师、工程师的业务理解能力。
InfoQ:以 GitHub 为例,如何确定产品的核心设计逻辑与更新节奏?
Julia: 我们的逻辑主要是用户需求驱动和企业需求驱动。我们有非常好的用户反馈机制,全球几千万用户会源源不断给我们提供反馈。所以我们很容易理解用户的使用痛点。
我们希望能够帮助开发人员去写只有你能写的代码。把所有浪费时间的问题都解决掉,让你专注于创新,这是我们做产品的主轴线。
InfoQ:对于高级开发者而言,是这样的,但如果面向初中级开发者,一些教育公司连基本的招生都比较困难,初中级开发者该如何应对被 AI 替代的焦虑?
Julia: 开发者都是从初级、中级升到高级的,这条路是不可避免,没有人生下来就是高级开发者,对吧?实际上在 AI 出现之前,在全球至少存在百万级的开发人才缺口,很多公司想招合格的开发者,但是招不到。而且不管是欧美还是东亚,每年出生的新生儿数量也是在下降的。
所以从另一个角度来看,我们确实需要更多的自动化。
另外刚才我们聊到,一个 PM 可以成为一个开发者,一个分析师也可以成为一个开发者,所以开发者的定义,实际上是在被拓展的。现在的开发者,我们称其为 professional developer。但各行各业都可以通过 AI 来解决重复性工作,我们希望看到全球有 10 亿新兴的开发者。
InfoQ:微软有很多专业开发者,AI 如何影响微软自己的研发流程吗?大家的开发状态出现了哪些变化?
Julia: 变化非常大,每一个公司、每一个行业、每一个角色、每一个流程,都可以想想怎么用 AI 来增强。
有很多工程师的工作任务是在全球范围完成大型软件的部署,经常会碰见各式各样的问题,需要工程师半夜爬起来,定位在某一个数据中心遇见了什么样的问题。实际上类似的问题存在很多共性,我们可以把它做成一个 agent,自动解决。这样也许我只需要去重启一下机器,就可以了。不需要把工程师半夜叫醒,这是蛮痛苦的一件事情。
以前类似的问题需要外包、全职工程师配合解决,AI 只能解决其中很小的一部分。后面可能都不需要外包,AI Agent 来解决大部分问题,实在解决不掉的问题由全职工程师来解决。
此外,一些欧美公司的客户支持工作做得很有问题,有时候客服电话甚至是打到印度去的。那么一些比较激进的公司,就会在客户支持工作上深度集成 AI——他们会将客户知识库全部买过来,然后 AI 化,收取的服务费逐年下降,接管客户支持工作,保证客户满意度不下降,可能还会出现上升。
InfoQ:受 AI 影响,招聘规则是否也发生了变化?
Julia: 我们的招聘规则发生了非常大的变化。以前我们做招聘,会先远程面试。但现在就会担心,如果面试者用 AI 来回答问题怎么办?哈哈哈。
现在我要考你的 AI 工具用得熟不熟练?到了现在这个阶段,AI 工具用得还不熟练,我就不找你了。
我们的面试问题也完全不同。我们会更好地考察他的判断力,看他的解题思路。至于写代码测试,相比之下就不是特别重要了。
InfoQ:微软内部有很多世界级的编程大师,他们的工作状态发生变化了吗?他们平时怎样用 AI ?
Julia: 我现在发现的一个非常有趣的事情是,越是顶尖大牛,越对技术有一种天然的好奇心,他就非常愿意去学。一般来说,这种顶尖大牛,AI 用得是最多的。当然了,他们一般也不会把每天的时间都用来写代码,他们一般会去做很多探索性质的工作。
比如 Erich Gamma 一开始就在用 GitHub Copilot ,很早就开始关注 Cursor。Typescript 和 Java 是他最熟的编程语言,有一次要写 Go 语言,他想了想,先去写了 Typescript ,然后用 AI 重写成了 Go,这可能是两年多前的一个案例。
另外一个大牛,因为要解答很多社区问题,就做了一个小程序,每个问题先让 AI 解答一遍,然后他看一下。如果这个答案好,他就直接采用;如果答的不好,他再重新编一下。
你会发现,顶尖大牛总会想各种各样的方法来对 AI 进行探索,一直在玩新的技术,不断思考怎样用新技术让生活变得更好。
InfoQ:GitHub 以及相关产品,广受全球开发者欢迎。在这些产品的研发过程中,微软如何避免“创新者的窘境”?
Julia: 我们有一些先天优势。我们应该是全球对开发者领域耕耘最深的企业。“吃自己的狗粮”是我们的信仰,微软面向开发者的产品,所有的微软团队每天都在用,而且会给我们非常“粗暴且直接”的反馈,告诉我们什么东西好用,什么东西不好用,这保证我们能把所有的产品做好。如果你是个初创团队,就不太可能有这么多用户给你反馈。
InfoQ:采访开始时,我们提到,Julia 曾围绕 AI 开发者做出了正确的预言。现在请 Julia 对我们未来的三、五年再做一个预言吧。
Julia: 我现在不敢预言了,AI 时代真的是发展得太快了。如果一定要做个预言的话,我觉得是,如果你不现在开始学习 AI 技术,那么三、五年后,你是会被淘汰的开发者。
来源:商财洞察君