皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

‌Linux 内核的暂存区现将拒绝由大语言模型生成的补丁,仅真实有效的安全修复类补丁除外‌

‌Linux 内核的暂存区现将拒绝由大语言模型生成的补丁,仅真实有效的安全修复类补丁除外‌

尽管Linux内核的二把手格雷格·克罗-哈特曼本人曾借助人工智能/大语言模型成功推进过内核相关工作,但考虑到当前大语言模型生成的内核补丁“蜂拥而至”,且内核暂存区的核心定位是供新手参与内核开发的入门区域,他后续将拒收所有由AI/大语言模型生成的暂存区补丁,仅存在一项例外:真正有效的安全修复类补丁不受此限制。

格雷格·KH于周一正式公布了一项专门针对Linux内核drivers/staging/路径下暂存区的AI/大语言模型使用新规:此后该区域将禁止提交大语言模型生成的补丁,除非补丁用于解决真实存在的安全问题。

格雷格在新规公告中进一步阐释道:“近期大量大语言模型生成的补丁涌入drivers/staging/子系统,基于此我想明确后续我对接收这类工具生成补丁的立场:

首先,drivers/staging/的核心定位是‌新内核开发者学习如何参与内核开发的入门阵地‌。该子系统中存在大量代码清理、接口调整类的‘低垂的果实’,非常适合新开发者在无压力的友好安全环境下熟悉开发全流程——毕竟理论上没有任何用户会依赖该目录下的代码运行(佐证就是:如果你真的把该目录下的任意模块加载进内核,系统就会自动设置TAINT_CRAP污染标记)。”

我们不会直接接纳工具生成的“一次性修复该文件内所有编码风格问题”这类补丁,因为这种行为从根源上完全违背了drivers/staging/子系统的设立初衷。如果我们真的在意该目录下代码的完美度,完全可以在明天就靠自动化工具完成所有这类风格整改,但我们刻意保留了这些待优化的问题,恰恰是因为这里是新人入门、实践、成长的起点。

这意味着任何试图用大语言模型清理、“修复”drivers/staging/目录下代码的行为,都‌明确违背了该子系统的核心存在意义‌。基于此,后续我将直接自动驳回所有针对drivers/staging/子系统的大语言模型生成补丁,仅保留下文标注的一项例外情况。

另外要说明的是,提交的补丁是不是大语言模型生成的其实非常容易识别,别以为刻意隐瞒使用了大语言模型就能蒙混过关。这个子系统的核心目标是帮助开发者学习成长,而不是让大家来试图“糊弄”维护者的。如果有人被查实故意欺瞒我们,这里提前给所有人打个预防针。

需要注意的是,当下大语言模型确实很擅长在内核代码里找出疑似“安全问题”,但即便用当前乃至下一代最顶尖的同类工具,它们输出的结果里至少有三分之一是完全错误甚至会造成危害的。所以如果你认为自己靠大语言模型发现并修复的drivers/staging/目录下的问题真实有效,提交补丁本身是允许的,但你必须先在该驱动对应的真实硬件上完成实测,并且在补丁说明里详细描述测试过程,我们才会考虑接纳这次改动。这套测试流程理论上应该能筛除掉那三分之一的错误结论,但无法做到百分之百兜底,所以你必须有能力为自己提交的内容负责,证明你确实修复了一个用户在实际使用中真的会触发的漏洞。

换句话说,drivers/staging/子系统本质上就是一座供开发者打磨技能、学习成长的“健身房”。如今大语言模型已经发展成一款能在部分场景下承担“重体力活”的实用工具,但这类工具的使用权,理应只交给已经完成了足够技能训练的开发者——他们清楚哪些“重活”适合交给AI完成,也知道该用怎样的正确方式操作。布鲁斯·施奈尔写过一篇非常出色的文章,把这个逻辑讲得远比我透彻,大家可以参考阅读。
而在暂存区之外的主线内核开发场景中,AI/大语言模型生成的内容目前仍然是被允许的:林纳斯·托瓦兹将其定位为普通开发工具,Linux内核社区本身并不反对AI技术的合理使用。

转自 Linux’s Staging Area To Now Reject LLM-Generated Patches, Except For Real Security Fixes – Phoronix