当前位置:首页>Linux>Linux之父开炮:AI写的代码是垃圾!

Linux之父开炮:AI写的代码是垃圾!

  • 2026-10-11 08:43:10
Linux之父开炮:AI写的代码是垃圾!

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编程工具吗?踩过什么坑?欢迎在评论区分享你的经历。

最新文章

随机文章