近日,一份关于 AI 辅助代码要求的说明文档在 Hacker News 上引发关注,该文档以 RST 形式公开托管在 Linus Torvalds 名下的官方 Linux 仓库中,专门为那些希望借助 AI 工具向 Linux 内核贡献代码的开发者提供指导和约束。
根据该文档,首先,所有 AI 辅助生成的代码必须完全遵循现有的人类开发流程,包括 development-process.rst、coding-style.rst、submitting-patches.rst 等文件中规定的流程和风格要求。与此同时,这些代码还必须满足现有的合规性要求,例如与 GPL-2.0-only 许可证保持兼容,正确使用 SPDX 许可证标识,并遵守 license-rules.rst 中列出的全部规则。
在签署与责任认定方面,规则强调 AI 代理本身不得使用 Signed-off-by 标签。该标签只保留给人类审阅者使用,因为只有人类才能在法律意义上对《开发者来源证书》(Developer Certificate of Origin,DCO)做出认证。提交补丁的人类开发者必须亲自审查所有 AI 生成的代码,确保其满足许可要求,并在补丁中使用自己的 Signed-off-by 标记,明确对全部贡献承担唯一责任。
文档同时要求对 AI 辅助参与进行明示归因,以便社区跟踪 AI 在 Linux 内核开发中所占比重的演变情况。具体做法是在拉取请求中使用 “Assisted-by” 标签,并遵循统一格式:AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]。其中,AGENT_NAME 为所使用的 AI 工具或框架名称,MODEL_VERSION 为具体模型版本,而方括号中的 TOOL1、TOOL2 则为可选填写的专用分析工具,例如 coccinelle、sparse、smatch、clang-tidy 等。
在 Linux 内核开发者和各大组织不断拥抱 AI、利用其提升编码和审查效率的大背景下,Linus Torvalds 维护的这一规范,实际上是在“有条件地欢迎” AI 辅助代码进入 Linux 内核:既不否认其效率优势,又通过人类责任、许可证合规和统一归因格式等硬性要求,给 AI 的参与设定清晰的边界。此前已有报道指出,Torvalds 本人也在部分项目中尝试采用所谓 “vibe coding” 等新型开发实践,这也从侧面印证了他对新工具持务实而审慎的态度。
了解更多:
https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst