Linux 内核是地球上最保守的软件项目之一。
代码风格严格,审查流程繁琐,Linus 本人脾气也不太好。
但最近我发现,Linux 内核仓库里多了个新文件:coding-assistants.rst。
这是 AI 编码助手的官方指南。
更有意思的是,文档里直接把 Claude 当成了示例:
Assisted-by: Claude:claude-3-opus
这事儿值得聊聊。
文档说了什么
先看看文档的核心内容。
Linux 内核接受 AI 编码助手的帮助。
你用 AI 写代码,可以提交到内核仓库。
但有规则。
所有代码必须符合 GPL-2.0-only 许可,这是底线。
最关键的是这一条:AI 不能添加 Signed-off-by 标签。
这个标签是"开发者来源证书",表示"我确认我有权提交 这个代码"。
只有人类能签这个名。
AI 生成的代码,必须由人类审查,然后人类加上自己的 Signed-off-by。
责任在人,不在 AI。
如果你用了 AI,还要加个 Assisted-by 标签,格式如下:
Assisted-by: Claude:claude-3-opus coccinelle sparse
这样大家都知道这行代码是谁写的,用了什么工具。
为什么这么设计
这个设计很有意思。
第一,Linux 内核没有否定 AI。
他们知道 AI 是个好工具,能帮开发者省时间。
完全禁止是不现实的,也是愚蠢的。
第二,责任明确。
AI 不能对代码负责,因为它没有法律主体地位。
你让 AI 写了个功能,出了 Bug,你没法去起诉 AI。
所以责任必须在人身上。
你用 AI,你就要审查代码,你就要承担责任。
这和传统的内核开发流程是一致的。
不管代码是不是 AI 写的,有人负责就行。
第三,透明度。
Assisted-by 标签让社区知道,这段代码用了 AI。
这有助于跟踪 AI 在开发过程中的作用,评估 AI 的质量和可靠性。
如果 AI 写的代码质量很高,大家自然会更接受。
如果经常出问题,社区会调整策略。
这事儿背后的深意
我觉得这个文件释放了几个信号。
第一个信号:AI 不是洪水猛兽。
最保守的内核社区都接受了 AI,说明 AI 已经进入主流 。
这不是实验,不是玩具,是实实在在的生产工具。
第二个信号:规则比技术更重要。
Linux 内核不是第一个用 AI 的开源项目,但它可能是第一个明确写文档规则的。
技术可以进步,规则必须先行。
没有规则,AI 写的代码没人负责,质量没人保证,最后 会出大问题。
第三个信号:责任归属是核心问题。
AI 时代,责任归属会越来越重要。
你用 AI 生成的内容,出了问题谁负责?
你用 AI 做的决策,导致了损失谁承担?
Linux 内核的答案是:人负责。
对开发者的启发
我觉得这个文档给开发者提了个醒。
AI 是工具,不是挡箭牌。
你用 AI 写代码,不代表你不用懂代码。
你用 AI 做决策,不代表你不用思考结果。
审查 AI 的输出是你的责任。
理解 AI 的局限是你的责任。
对结果负责是你的责任。
如果你把 AI 当成"外包商",觉得"让它干就行了,我不 懂也没关系",那早晚会出事。
AI 能帮你写得更快,但帮不了"做得更好"。
质量还是要靠人。
总结
Linux 内核拥抱 AI,说明 AI 已经成了开发者的标准工 具。
但拥抱是有条件的:你必须负责,你必须审查。
这事儿挺好。
工具在进步,规则在跟进,开发者的心态也在调整。
AI 时代,我们需要的不是更强大的 AI,而是更负责任的开发者。
参考链接
- https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst