Linux之父开炮:AI写的代码是垃圾!
2025年末,Linux内核社区发生了一件不大不小的事。
Linus Torvalds——这位被称为「上帝之眼」的程序员——在邮件列表里公开炮轰AI生成的代码文档,措辞之激烈,一如既往地保持着「敢说敢言」的人设。
他说的大概意思是:你们不要再把AI写的那些垃圾文档塞进内核代码库了,根本没法看。
消息一出,科技圈炸锅了。
AI编程工具吹了这么多年,连Linus都不买单?
01 事件始末:Linus到底说了什么
事情大致是这样的:
Linux内核社区的维护者在合并代码时,发现某些贡献者提交了大量由AI生成的文档注释(Documentation)。这些注释语法正确、格式规范,但内容空洞——要么是重复的废话,要么是明显错误的描述,甚至有些直接胡编乱造。
Linus在邮件列表里的原话虽然措辞粗俗,但意思很明确:「如果你用AI写文档,至少自己要读一遍,确认它说的是人话。AI写的东西,十篇有九篇是垃圾。」
这不是Linus第一次对AI开炮。
早在2024年,他就公开质疑过AI代码助手的作用——「我不反对AI,但我不相信它现在能写出合格的代码。」
从这位写出Linux内核、创造Git的程序员嘴里说出来,这话的分量不轻。
02 为什么AI文档让Linus这么愤怒?
要理解Linus的愤怒,得先了解Linux内核社区对代码质量的要求。
Linux内核代码库是全球最复杂的开源项目之一,代码由全球数万名开发者贡献,维护者只有几百人。文档的质量,直接决定了其他开发者能否正确理解和使用代码。
AI生成的文档有三个致命问题:
第一:准确性存疑
AI擅长生成「看起来正确」的内容,但内核代码的很多设计决策有特殊历史原因和上下文,AI不知道这些。它会把一个普通的函数描述成「这是一个革命性的创新」,也会把复杂的锁机制简化为「该函数用于线程同步」——说了等于没说,甚至可能误导人。
第二:一致性缺失
内核代码库有大量的编码规范和文档风格指南。AI生成的文档往往不符合这些规范,维护者需要花大量时间修改,比自己写还慢。
第三:责任归属模糊
代码贡献者要为代码负责,文档也一样。如果一份文档因为错误导致用户踩坑,贡献者要背锅。AI写的文档,谁来负责?
「你提交了代码,你就要为它的一切负责,包括文档。」 这是开源社区的基本规则。AI不能替你负责,你就要自己审核。
03 AI编程工具的现状:理想与现实的差距
过去两年,AI编程助手火得一塌糊涂。
GitHub Copilot、Cursor、Claude Code、Cline……工具越来越多,能力越来越强。写代码、Debug、写测试用例,一键搞定。
很多开发者说:「AI编程助手让我每天多写两小时代码。」
也有人说:「AI让我这个完全不会编程的人,也能写出可运行的代码了。」
这些都没错。但问题在于:AI编程工具在「简单场景」表现出色,在「复杂场景」问题频出。
简单场景:写一个Web服务、处理一个API请求、实现一个排序算法——AI很擅长。
复杂场景:理解一个20年历史的遗留系统、修复一个涉及多线程竞态条件的Bug、写出符合严格编码规范的高性能代码——AI经常出问题。
Linux内核代码,属于后者中的后者。
「AI能写代码,但写不出好代码。」 一位长期参与开源项目的开发者这样总结。
04 为什么专业人士普遍不信任AI写代码?
不只是Linus,开源社区对AI写代码这件事,整体态度偏保守。
Stack Overflow 2024年的开发者调查显示:超过60%的专业开发者认为AI代码助手「需要人工审核才能使用」,只有不到15%认为AI生成的代码「基本可靠」。
背后的原因很现实:
•代码是给人看的,顺便给机器执行。AI写的代码,机器能运行,但人不一定看得懂。
•边界情况(Edge Case)是代码的试金石。AI擅长处理常见情况,但处理异常时经常出问题。
•系统级代码需要深刻理解硬件和系统原理。AI可以学习大量代码,但它不理解「为什么这样设计」。
一个有趣的现象:越是资深的开发者,对AI编程工具的态度越谨慎。反而是初学者,觉得AI编程工具「真香」。
原因可能是:资深开发者见过太多「看起来对但实际有问题」的代码,对质量的敏感度更高。而初学者没有足够的经验来判断AI输出的质量。
05 AI编程工具的真实价值:辅助而非替代
客观地说,AI编程工具不是没有价值。
它的最佳使用场景是:
•快速原型:验证一个想法是否可行,AI可以帮你快速搭一个demo
•代码补全:重复性代码、模板代码,AI写比你复制粘贴快
•学习辅助:看AI怎么写一个排序算法,帮助理解某个框架的使用方法
•文档生成:为简单函数生成基础注释(前提是你自己审核过)
它不适合的场景是:
•核心业务逻辑、涉及钱的代码
•系统底层代码、高性能要求代码
•需要深度领域知识的代码
•需要长期维护的关键代码
「AI是助手,不是替代者。」 这个判断目前来看是准确的。
06 开源社区的反思:AI来了,我们怎么办?
Linus的炮轰,某种程度上代表了开源社区对AI浪潮的集体反思。
开源项目的核心是人——人的判断、人的经验、人的责任感。代码审查(Code Review)的本质是人来保证质量。
如果AI生成的代码和文档大量涌入,质量参差不齐,维护者的审核成本会大幅上升。更重要的是,当「AI生成代码、人类提交」成为常态,责任归属就变得模糊了。
一些开源项目开始制定AI使用规范:
•必须在提交信息里注明「本文档/代码由AI辅助生成」
•贡献者必须证明自己审核过AI的输出
•某些关键模块禁止使用AI生成代码
这些规则未必是最优解,但反映了开源社区正在认真思考:如何让AI成为帮手,而不是负担。
07 写在最后
Linus骂人,向来不留情面。但他骂的从来不是「新技术」,而是「不负责任的使用」。
AI编程工具同理。
它可以是高效助手,也可能是质量灾难。关键在于使用者——你有没有审核它的输出?有没有理解它的局限?有没有为它的错误承担责任?
好的工具 + 负责任的使用者 = 效率提升 差的工具 + 不负责任的使用者 = 灾难
Linus的话刺耳,但不无道理:如果你用AI写代码,至少确保自己看得懂、能解释、会负责。
否则,那个AI输出的「垃圾」,最后背锅的还是你。
你用过AI编程工具吗?踩过什么坑?欢迎在评论区分享你的经历。