System76封禁AI生成代码,COSMIC贡献者须手写

开发团队 System76 在 10 月 4 日更新了其 COSMIC 项目的 Pull Request(PR)模板,新增一份强制性检查清单,明确禁止贡献者提交利用 AI 辅助完成的代码。贡献者必须确认,提交内容中不存在任何由 AI 生成的代码、注释以及 PR 描述,否则无法满足模板要求、无法提交贡献。

COSMIC 是什么

COSMIC 是 System76 基于 Rust 语言自行开发的 Linux 桌面环境。在 COSMIC 推出之前,System76 的 Pop!_OS 长期基于经过深度修改的 GNOME 桌面环境。由于 System76 与 GNOME 上游开发者在部分设计理念和功能取舍上存在长期分歧,公司最终决定开发属于自己的桌面环境。

维护者为何”关门”

System76 首席工程师 Jeremy Soller 给出的理由相当直白:随着越来越多首次贡献者借助 LLM(大语言模型)提交 PR,审查工作量已经超出了团队能够承受的范围,而其中大量 AI 贡献对项目的架构理解有限、接受率并不高。

System76 此前就曾公开批评 AI 生成代码存在”过于复杂”的问题。该团队认为,AI 通常缺乏理解大型项目深层集成关系所需的完整上下文,因此可能生成看似可用、但实际难以维护的复杂代码,并直接导致代码审查时间明显增加。

新的规则不只是”披露 AI 代码”,而是直接禁止 LLM 生成内容进入提交。贡献者不仅需要确认没有包含任何 LLM 生成的内容,还要确认自己理解所提交的改动、能够回应评审意见、完成测试,并按照项目的开发者原产地证书(Developer Certificate of Origin)进行认证。不满足模板要求的 PR,可能被直接关闭。

唯一的例外

目前,System76 旗下唯一不受”No LLM contributions”规则限制的代码库是 cosmic-flatpak。该项目主要用于管理一些与 COSMIC 桌面环境深度绑定、难以直接放入 Flathub 的软件,包括 COSMIC 面板小程序、桌面扩展等。由于 COSMIC 团队对这些提交主要检查沙箱权限配置是否正确,而不承担底层软件的长期维护责任,审查面较浅,因此保留了豁免。

这一”豁免例外”恰恰说明,限制的核心考量是”谁来承担长期维护”,而非单纯反对某一种工具。

不是孤例

System76 并不是唯一一家对 AI 生成代码采取严格限制的开源项目。Ladybird 浏览器项目早在今年 6 月就采取了类似措施。其维护者发现,大量缺乏经验的开发者借助 AI 提交代码后,项目维护团队需要投入大量时间审查难以维护的 AI 生成代码,代码审查成本最终超过了项目能够承受的范围。近期,KDE 社区也就拟议的 LLM 贡献规则爆发过激烈讨论。

对于 System76 和 Ladybird 而言,问题并不在于”AI 生成的代码不能用”,而在于 AI 生成代码进入大型开源项目后,仍需要由人类维护者长期承担理解、审查、测试与维护成本。当 AI 产出的提交量超过团队的人工核验能力时,最直接的解法,就是先关上这扇门。