8 月 3 日,Linux 内核"二把手" Greg Kroah-Hartman 在邮件列表上宣布了一项新政策:从今往后,drivers/staging/(暂存区)自动拒绝所有 LLM(大语言模型)生成的补丁。唯一的例外是真实有效的安全修复,但前提是——你必须在真实硬件上测过。
消息一出,内核开发圈炸开了锅。毕竟就在不久前,Linus Torvalds 还公开表示内核项目"不反 AI",AI 只是工具。怎么转眼间,就有一个子系统对 AI 补丁关上了大门?
被"AI 补丁洪流"淹没的暂存区
要理解这个政策,得先搞清楚 drivers/staging/ 是什么地方。
简单说,这是内核里的一个"新手村"。里面住着大量代码质量一般、还没"毕业"的驱动——它们挂着 TAINT_CRAP("垃圾"标记)的旗子,官方态度很明确:生产环境别指望它们。
但恰恰因为质量一般,这里成了新内核开发者练手的最佳场所。代码里有大量"低垂果实"式的清理任务:改改代码风格、修修注释、整理下头文件……新人在这里提交第一个补丁,学会 git 流程、学会和社区沟通、学会接受维护者 review,成本低、风险小、成就感足。
Greg 的原话是:
“drivers/staging/ 存在的首要目的,就是让新的内核开发者学习如何参与到内核开发中来。”
他还补了一刀:如果维护者真在乎这些代码,早就用脚本自动清理干净了。故意留着的这些问题,是给"人"学习的教材,不是给 AI 刷 KPI 的题库。
而最近,一股"AI 补丁洪流"(onslaught)涌了进来——用大模型批量生成代码清理补丁往 staging 区里灌。这些补丁格式规范、改得也像模像样,但对维护者来说毫无价值:AI 不需要练手,AI 也不需要被 review 教育。它们只是把内核社区当成刷存在感的免费训练场。
于是,Greg 一锤定音:LLM 生成的补丁,一律自动拒绝。
“试图糊弄我们,会自食其果”
有人可能会想:那我提交的时候不说是 AI 写的,不就行了?
Greg 的回应非常直接——“是 LLM 生成的补丁这一点,VERY 明显”。他警告说,试图隐瞒 AI 参与来"骗过"维护者,是会"自食其果"的(“to trick a maintainer… would be a mistake”)。
内核维护者每天要看几十上百个补丁,人写的和机器写的东西,在细节上几乎无可遁形。与其赌这个,不如诚实。
有意思的是,Greg 还引用了安全专家 Bruce Schneier 的一篇文章,把 staging 区比作"健身房"(gym)——它的价值恰恰在于锻炼的过程,而 AI 能替代结果,却替代不了过程的意义。
唯一的例外:真刀真枪的安全修复
政策也不是完全一刀切。LLM 发现或修复的安全问题,仍然可以提交——但门槛很高:
- 你必须在真实硬件上对目标驱动测试过这个修复;
- 提交时必须详细说明你的测试方法;
- 你必须愿意为这个提交辩护,证明它修的是一个真实、用户能踩到的 bug。
为什么对安全修复开绿灯还这么苛刻?Greg 给出了一个很扎心的数据:即使是目前最好的 LLM,对安全问题给出的结果里,至少有 1/3 是完全错误甚至有害的。
AI 在代码里"看出"一个漏洞,有一半可能是在空想;AI"修好"一个漏洞,也可能顺手埋下三个新坑。所以"必须硬件实测"不是刁难,而是把责任和验证压回提交者身上——你信 AI 可以,但内核信的是你的测试结果。
内核并没有"反 AI"
需要特别强调:这个政策只针对 staging 区。
在内核的其他子系统,AI/LLM 辅助开发依然是允许的,Linus 的态度没变——AI 是工具,内核不反 AI。而且讽刺的是,Greg 自己平时的工作里就用 LLM,效果还不错。
所以这更像是内核社区的一次"边界校准":不是禁用工具,而是搞清楚哪些地方工具的介入会破坏系统的意义。staging 区的存在意义就是"人学习的过程",AI 一进来,过程没了,这个区也就名存实亡了。
写在最后
这件事放到更大的背景下看,其实是整个开源社区面对 AI 浪潮的一个缩影:
- GitHub 上,AI 生成的 PR 数量暴涨,维护者们开始用规则过滤;
- Stack Overflow 等问答社区,早已被 AI 答案淹没,不得不封禁 AI 回复;
- 现在轮到 Linux 内核:不封禁,但分区治理——教学区拒收,安全区严审,其他区域放行。
对于想参与内核开发的朋友,这则新闻其实是一份很好的"行为指南":
- 想练手?自己去 staging 区啃代码,写补丁、过 review,那是唯一的价值;
- 想用 AI?可以,但诚实标注、亲自验证、对自己提交的东西负责;
- 内核社区对工具不设限,但对态度设了很高的线。
毕竟,代码可以 AI 生成,信任不行。
来源
- Phoronix: Linux’s Staging Area To Now Reject LLM-Generated Patches, Except For Real Security Fixes
- Greg KH 原始公告(linux-kernel 邮件列表)