
Linux 之父 Linus Torvalds 本月早些时候在一次采访中谈到 AI 在软件开发中的作用。他表示自己对 vibe coding(氛围编程)“总体持正面态度”,但仅限于作为进入计算机世界的一种方式,而不适用于生产级代码,否则在维护层面可能会“糟糕透顶”。
这场采访由 Verizon 开源负责人 Dirk Hohndel 主持,在韩国首尔举行的 Linux 基金会开源峰会上进行。
Linus 是 Linux 内核的技术负责人和主要维护者,但他坦言:“过去差不多 20 年,我已经不算是程序员了。”至于他发明的 Git,“现在我也基本只是从旁观望一下。”
在被问到 Linux 内核的开发过程时,Linus 说自己的角色已经发生变化。“我以前常说,我的工作就是不停地说不”,也就是拒绝那些将来难以维护的新想法。但如今,他有时反而要对一些新东西说“是”,哪怕长期维护者们强烈反对,因为“他们有时候会卡在原来的惯性里”。这其实指的是颇具争议的 Rust 引入内核一事,但 Linus 也补充说,其他方向同样存在分歧。“Rust 正在变成内核真正的一部分,而不再只是一个实验性的东西”,但这一步的推进“比预想的要慢”。
面对 AI 热潮,有人担心,如今真正驱动硬件生态的是 Nvidia 的专有 GPU 微内核和 CUDA 语言,而不是开源的 Linux,这会不会让他感到不安?Linus 的回答是:“这和用户态其实没什么两样。”他补充说,“AI 的一个好处,是它逼着 Nvidia 在 Linux 内核领域变成一个好玩家——这在 20 年前可是出了名的不成立的。”
Linus 提到,AI 带来的最大麻烦,是各种爬虫到 kernel.org 上抓源代码,“对我们的基础设施造成了很大干扰”。他说,内核维护者确实会遇到一些“由滥用 AI 的人生成的、凭空捏造的 bug 报告和安全通告”,但这对内核项目的影响,不如对 curl 等项目那么严重。
Linus 本人目前既没有使用,也没有“玩过”AI 辅助编码工具,但对于 vibe coding 他称自己“总体积极”,但明确表示,这不适用于内核开发。
他回忆自己学编程时,是“照着电脑杂志上的程序一点点敲出来”的,而今天的计算机系统已经比当年复杂得多。在他看来,vibe coding 是一种很好的方式,能让想入门的人“让电脑帮自己做一些原本做不到的事”,但从维护角度看 vibe coding“可能是一个非常、非常糟糕的主意”。
随着一些开发者因 AI 而被裁员,Hohndel 问他,AI 将如何影响“软件开发”这份职业本身。Linus 回应说:“这是个很复杂的问题,”真正的答案恐怕要几年之后才能看清。在他看来,“AI 只是另一种工具,就像当年的编译器一样,它让人们不用再手写汇编,大幅提高了生产力,但并没有让程序员消失。”
Linus 期待有一天,AI 能从风口上退下来,变成一种“不过度被炒作、只是日常现实的一部分,不再被人整天挂在嘴边”的东西。
以下是完整的访谈:
“过去二十年,我已经不算是程序员了”
主持人 Dirk Hohndel:早上好。现在是大家举着手机对着我们的经典时刻。我想现场应该会有官方录像,所以你们不用一直举着手机拍。我叫 Dirk Hohndel,在 Verizon 负责开源相关的工作。从 Linux 基金会创立开始我就一直在这里,接触 Linux 的时间也几乎跟 Linus 一样久。
Linus Torvalds:对,我是 Linus。我们之所以用这种对谈形式,是因为我很讨厌做那种单向的公开演讲,所以我更愿意这样——我完全不知道 Dirk 会问我什么。我们这么聊,大概已经坚持了一年一到两次,坚持了很多很多年。所以这不是新形式,但这种方式让我对“公众人物”这个角色稍微没那么不自在。
主持人:这其实已经是我们第 28 次做这种对谈了。对我来说,到亚洲总是很有意思,因为你能看到人们对开源、对软件开发完全不同的态度和方法,这种差异让我很着迷。Linus,10 年前你刚刚发布的是 Linux 4.8,对吧?我相信你现在可以“非常简短”地总结一下这 10 年里发生的主要变化?
Linus:这十年确实发生了很多事,但有一点我总要先说清楚,而且对我来说很重要,过去差不多 20 年,我已经不算是程序员了。
现在的角色更多是技术负责人和维护者,不只是对 Linux 如此,对 Git 更是这样,那边我基本只是站在旁边关注、把关方向。
所以我一直想提醒大家,真正干活的是社区里的那些开发者,很多可能就坐在你们当中。外界常常把光环全扣在我头上,但就现在来说,我更多是在“带着这个项目往前走”,而不是亲自写出那些代码的人。
主持人:但如果回顾过去 10 年,你觉得 Linux 的演进过程中最突出、最让你感受到变化的是什么?
Linus:明显的一点是,我以前常说“也许有一天我们会做到头”。但那已经是很久以前的想法了。我做 Linux 快 35 年了,现在完全不觉得会有那种“做到头”的一天。我渐渐意识到,所有真正重要的项目,核心工作其实都在维护和长期支持上。
特别是在内核领域,我昨天还和 Greg 聊过:只要世界上还在生产新硬件,我们的工作就永远不会结束。而且,有件事甚至让我有些意外,即使没有新硬件,35 年后的今天,我们仍然在重写核心代码,把它们改得更漂亮、更易维护、更稳定。
今天凌晨三点,我因为时差还在讨论代码清理的问题。像 Linux 这样的系统,真正的工作始终围绕一件事展开:无论遇到什么新挑战,都要让一切继续顺畅运转。
主持人:我们的开发流程已经保持稳定 15 年了。但媒体觉得这种稳定太无聊,于是他们只关注你发脾气的时候,或者你拒绝某些提案的时候。你觉得这些年你说“不”的频率变多、变少、还是差不多?
Linus:以前,我觉得自己的工作主要,就是对新想法说“不”。
有人提了一个特别激进的主意,也许听起来很酷,但在我看来会变成维护噩梦,我会让他们先去自己的沙盒里把东西做出来,再用数据证明我判断错了。这在过去算是我工作的重要部分。
但最近几年,我反而更常在说“可以”。
当你和几十位维护者合作了二三十年,他们难免会形成一种惯性,习惯按原来的方式做事。有时候我必须打破这种惯性,说一句:“我们要试试这个新东西。” Rust 就是个例子。虽然我们做 Rust 已经五年了,不算新鲜事,但我当时就是觉得:内核不能停滞,需要引入新东西,也需要吸引新的人才。
这大概是这些年来我感受最明显的变化:我开始需要鼓励维护者更开放一些。
主持人:Rust 是我想举的例子之一。虽然它在内核里已经 5 年了,真正的代码也有 3 年,但它带来了很多讨论。有抱怨格式化的,有抱怨要审 Rust 代码不熟悉的,甚至有人因此辞去了维护者职位。那这一切值得吗?
Linus:我觉得值得。但 Rust 之所以受到很多媒体关注,主要是因为它很显眼。不过其实内核的每个子系统都有争论。争论是开发过程的一部分,是发现 bug 的一部分。大家在争论时会变得激动,这很正常。Rust 并不比其他争论更特别,只是外界更关注它。
现在我们终于到了某个阶段:Rust 不再只是实验品,而正在成为内核真正的一部分。只是比我预想的慢一些。
主持人:而今年一些更激烈的事件,其实和 Rust 完全无关。今年我们甚至第一次把一个组件从内核驱逐出去。虽然这不是第一次,但外界挺震惊的。
Linus:是的。今年有点“动荡不安”,有很多严重分歧,导致部分代码被移出内核,为的是减少摩擦。但 35 年里这种事只发生了几次,很罕见。内核每个版本都有上千人参与——两个月一次。所以你会遇到个人冲突、专业分歧、工作摩擦……
这是生活的一部分。但整体来说,我们是个成熟的团队,知道如何一起工作。我也愿意称它为“大家庭”。
主持人:通常我会在第一部分结束时问你这个:关于 6.18 RC4,你有什么想说的吗?
Linus:没什么特别想说的(笑)。我喜欢“无聊”。所谓无聊,就是没有那些会让全球数百万台机器崩溃的“超级新功能”。6.18 目前看起来没什么风险。之前我们看到很多测试失败,但后来发现大多数是测试本身有问题,而不是内核出错。我前阵子还有点担心,现在看来这会是一个稳稳的、那种最理想意义上的“无聊版本”。
AI 时代,英伟达被迫学会“好好对待 Linux”
主持人:如果看整个行业的重大变化,最明显的是硬件格局的转变。过去几十年的中心一直是 CPU,现在 Nvidia 以及部分 AMD 把聚光灯移到了加速器上(GPU、APU 等)。但这些加速器上跑的并不是 Linux,它们本质上是封闭的微内核和像 CUDA 这样的专有软件栈。你怎么看这种变化?
Linus:我并不这么看。我仍然认为通用 CPU 是最有趣的部分,只是它太成熟了,人们已经习惯,不会再把它当新闻。Linux 依然是整个系统的基础,负责所有你预期中的事:维护、启动、用户界面、系统行为。
至于 AI 加速器,它当然是行业新宠,Linux 也在推动它的发展,但我不觉得内核必须成为其核心部分。
主持人:但这些硬件的软件栈几乎全部闭源,这在几十年来确实是第一次。
Linus:对我这个做内核的人来说,这和用户态没什么区别。Linux 上一直都有大量商业闭源应用,比如大型数据库和各种云服务。
我个人当然更喜欢开源,也不会参与闭源项目,但我从不把开源当宗教。Linux 是开放源代码的,但用户跑什么应用,是他们的选择。
这些情况在我看来都挺正常。GPU 只是同一类事情的另一种形态:你在内核之上跑你的 AI 工作负载。GPU 里内部有自己的系统去管理硬件,并不需要 Linux 过度操心。当然,我们确实会在一些地方深度介入,比如资源管理、虚拟内存处理等,这些地方内核必须参与。
而且说句实话,AI 时代也带来了一个意想不到的好处:它让 Nvidia 在 Linux 内核社区变成了一个“好公民”。二十年前完全不是这样。现在因为 Linux 对 AI 云太重要了,Nvidia 自然会更加重视我们,我们这里也确实有不少来自他们的内核维护者。
从这个角度说,这算是 AI 热潮带来的一个真正积极的结果。
Vibe Coding:适合入门,不适合生产
主持人:我也觉得这是好事,只要有厂商愿意拥抱我们、参与进来,本身就是利好。不过你刚才已经把“AI”这个词说了很多次,所以我得顺势继续聊下去,这都怪你(笑)。去年我们谈过,AI 或 GenAI 在代码审查、帮助解释代码方面可能会有用。我知道 Linux 内核社区在这块已经做了一些探索。你觉得目前大概走到哪一步了?
Linus:真正的情况反而是,AI 对我们的基础设施冲击更大。大量 AI 爬虫在 kernel.org 的源码基础设施上到处抓数据,这给我们带来了很大的麻烦,体验一点也不愉快。所以这里既有好的部分,也有非常糟糕的一面。
我还是很期待有那么一天,AI 不再被疯狂炒作,而是像现实世界中的一项日常技术,默默存在,不需要被人反复提起。
但很显然,那一天还要等几年。新技术总是最吸引目光的,更别说现在有“万亿级别”的资金砸在这个领域,大家对它好奇也很正常。
主持人:我在阿姆斯特丹开源峰会上,听到一个很有意思的例子:cURL / libcurl 的作者 Daniel Stenberg 提到,很多 AI 生成的“草率安全报告”,几乎对他的项目构成了一种“拒绝服务攻击”。你们这边有类似情况吗?
Linus:我们在内核这边也遇到过,只是还没到他那种严重程度。我们确实会收到一些错误报告、安全通告,很明显就是有人滥用 AI 生成的,而且基本是“瞎编”的内容。这些东西会消耗维护者的时间和精力。
不过,相比其他一些项目,我们这边问题还不算最严重。
主持人:当然,大家最爱聊的另一个方向,就是“AI 写代码”。我经常把它形容成“被打了类固醇的自动纠错”,AI 在代码补全、语法提示、标准库用法上非常强。另一端是现在大家谈得很多的 Agentic AI,你对一个 AI agent 说“嘿 Claude,我要你把这个功能从头做到尾”,甚至有人会说“我只用一个 AI,一周就做完了一个完整产品”。你自己会玩这些东西吗?
Linus:我自己完全没有在用。
我相信一定有人在尝试把它们用在内核代码库上,但我怀疑 Linux 内核这个世界本身足够“封闭”和“特立独行”。尽管我们有大量开源代码可以拿去训练 AI,但它未必适合那种“让 AI 随便在里面瞎写”的用法。
我不觉得有人会真的拿 Linux 内核来搞所谓的 vibe coding(“氛围编码”)。
在我看到的情况里,更多是大家用 vibe coding 做自己的小项目、个人项目。对这一点,我其实是比较乐观的。
我会想起自己当年是怎么入门计算机的。可能在座很多人没有类似经历,几十年前,我是靠翻计算机杂志,一行一行把上面的程序敲进电脑,从那样的过程开始入门的。
现在的计算机复杂度高得多,人们对“会编程”这件事的期待也高得多,这让今天的入门门槛比我当年困难得多。
从这个角度看,我觉得 vibe coding:
如果你真的想用它来产出一个长期维护的严肃产品,那它可能是个非常糟糕的主意;
但作为一种方式,让新手能更容易“玩起来”、让他们对计算机感到兴奋、让电脑做一些他们原本做不到的事,我觉得它非常好。
所以总体上,我对这股潮流是偏正面的。
当然,这并不包括那些觉得“随便用 vibe coding 搞搞,就能做出一家估值几十亿美元公司”的人(笑)。
在我看来,这是件新鲜、有趣、而且本质上是好的事情。不过,正如我之前说的:真正的工程项目,最终核心还是落在长期维护上。我相信大家最后会意识到,vibe coding 并不是解决维护问题的那条路。
主持人:没错。当你第一次接触一门新语言、一个新环境、一套新库,再加上一个挺聪明的工具帮你把 90% 的工作都做了,那种快感确实很强。我这段时间也花了不少精力研究这些工具,它们把你带到“完成度 90%”这一步,确实非常厉害。但最后那 10%,恰恰是一个 35 年项目里要花掉 34 年 去解决的那部分。
Linus:没错,正是如此。
主持人:所以这里确实有很大的机会去创造新的、很棒的东西,但同时也伴随着大量后续工作,需要让这些东西真正落地。现实中,我们也看到不少公司在裁软件工程师,美国已经有成千上万的人被裁,而公司给出的理由往往是“AI 让我们更高效了”。如果从一个准备读计算机科学专业的学生角度来看,你觉得 AI 会不会对“软件开发”这份职业造成特别大的冲击?
Linus:老实说,我不知道。这属于那种需要等几年再看实际结果的问题,我觉得它非常复杂。
我的个人判断是:最终你会发现,项目要长期运行,仍然需要同样数量的维护者,而 AI 只是一种新增的工具。
就像当年编译器出现之后,大家不再手写汇编,生产效率有了极大的提升,但这并没有让程序员这个群体消失。我认为 AI 最终也会走上类似的道路,它能让你不必再处理那些琐碎的细节,却不会取代真正的程序员。这是我的直觉。
如果有变化,大概是:大家的效率提升了,同时也会因此催生许多过去不存在的新领域,最终反而需要更多的软件工程师。
在高压工作之外,给自己留一块“允许失败”的地方
主持人:这其实也是我一直在想的问题。生产力提高之后,大致只有两条路,要么用更少的人做同样的事,要么用同样多的人去做更多的事。
在我看来,AI 带来的最大机会之一,就是把很多过去门槛极高的尝试变得可行。以前,从一个想法走到“做出一个能演示的东西”,中间那道坎太高了。现在,一个刚入行的计算机系学生,只要能用现代工具把想法说清楚、做出一个 demo 或 PoC,这件事的重要性,和二三十年前你能不能自己写出冒泡排序,其实是同一个级别。
我觉得这是非常有趣的变化,它大幅改变了软件工程师的具体工作内容,也改变了我们和系统打交道的方式。你刚才拿“从汇编和机器码过渡到高级语言”来打比方,我觉得特别贴切,甚至也可以类比从 C(现在还有很多人在用)转向各种面向对象语言的过程。
不过我想换个话题。我们刚才聊了很久软件,接下来聊聊硬件。有些人的爱好非常特别,比如有人会自己做弦乐器用的效果器踏板。能不能跟大家说说,你那个效果器踏板的爱好是怎么来的?
Linus:这个问题背后有个小故事。去年圣诞节开始,我因为好玩,动手做起了吉他效果器。照理说这完全说不通,我完全没有音乐天赋,一辈子从没碰过电吉他,只是单纯想学点电子方面的东西,就从效果器入手了。最早是买现成套件自己焊,后来开始自己画电路,但老实说,这些效果器做得都很差(笑)。
从实用角度看,我并不建议别人学我这样玩。现在市面上像样的吉他效果器几乎全是数字的,而我折腾的都是模拟电路,基本没什么实际价值。
但有一件事,我真的很想鼓励大家去尝试。如果你有一份压力大、责任重的工作,很需要一个和主业完全无关的爱好。在那个爱好里,失败不仅是预料之中,甚至还是有趣的一部分。不一定非得是吉他效果器,做什么都行。
对我来说,刚好是焊电路、做点小硬件。在这一块我完全是新手,正因为如此,我反而很享受这个过程。很多人觉得失败是坏事,而我是那种很喜欢去做自己不擅长事情的人,因为这正是人真正学习的方式。在这种事情上,你必须接受自己会一次次失败这件事。我折腾了一年,从严格意义上说,现在还谈不上“学会了什么”。
主持人:我不同意。我有你做的一些踏板,实际上已经进步很多了。
但这确实是一个我会推荐给任何在这个行业工作的人去尝试的事情:我们这个行业有时候压力非常大。尤其是在开源世界,对我来说,最有压力的部分往往是“人”,不是技术。当你遇到很多分歧的时候,会很想说“我需要休息一下,做点完全不一样的事。”这时你就需要一个爱好,一个可以让你说“这跟我的工作完全没关系,失败也没问题”的东西。对 Linus 来说,是电子和焊接。
而且我觉得有趣的是,他日常工作是维护全世界最复杂的开源项目之一,而他的爱好,却是玩相对极其简单的电子电路,这种反差本身就很迷人。
Linus:对,我的电子学之路其实是“反向走”的。一开始,我还在做相对复杂一点的电路,用各种集成芯片。后来越玩越“往回走”,跑去研究单个晶体管到底是怎么工作的。而我的正职工作,是和几千亿个晶体管打交道;我的业余爱好,则是和三四个晶体管打交道。这就是我在硬件世界里的两个极端。
主持人:我觉得这能让大家稍微了解一下 Linus 的日常。你之前说自己已经不写代码了,现在主要负责管理工作,也会在业余时间鼓捣一些简单的硬件。那么,你的一天通常是怎么度过的?
Linus:现实一点讲,我每天基本就是坐在电脑前看邮件,一整天都在看。
我很少回复邮件。如果你给我发过邮件,我几乎可以保证我会读,但同样也几乎可以肯定,我不会回信。对此我其实挺想道歉的,不光是对所有给我写过信的人,也包括那些只在邮件里看到我“抱怨一面”的开发者。
很多人觉得我是个愤怒、尖刻的老头,说白了,是因为我大多数会回复的邮件,都是出问题的时候。当一切进展顺利时——这其实占了绝大部分情况——我不会专门发邮件说“谢谢,这次做得真好”。
所以,如果你没有收到我这样的邮件,其实说明我对结果是满意的,只是不会特地写信告诉你而已。为此,我也想再跟大家说一声抱歉。
主持人:我觉得这是一个非常好的收尾点:Linus 其实是个非常好的人,只是把这一切都憋在了心里。
Linus:对,我内心其实很开心的,只是外在表现出来的不一定。(笑)
主持人:我们上次在这里,是 10 年前。我希望这次不用再等 10 年才能再来。谢谢大家。
Linus:谢谢。
参考链接:







评论