Rust 语言项目正式通过了一项 LLM 使用政策,覆盖 rust-lang/rust 单一仓库的代码贡献。这不是项目级别的官方立场,目前由五个团队采纳,但它可能是主流开源项目中关于 AI 辅助贡献最细致的一份规则。
政策的核心只有一句话:LLM 可以用来分析、提炼、审阅、建议,但不能用来创作。
具体来说,LLM 生成的代码可以提交,但必须满足五个条件:预先安排、非关键、高质量、充分测试、充分审查,并且必须披露。LLM 不得生成涉及安全性的关键变更,除非作者本身就是领域专家。即使如此,政策也"强烈不建议"这么做。
对于不披露的情况,审核者可以直接关闭 PR,无需解释。

政策作者 Jynn Nelson 在博客中解释了为什么有必要这样规定。三个问题。
第一个是 effort signal 失效。过去,一个精心准备的 PR 意味着作者投入了时间、理解了上下文。但现在,"一个花了很多心思的 PR 不再意味着投入了心思"——作者可能根本不理解自己的代码,甚至可能根本没有人类作者。
第二个是 review 带宽被淹没。写这篇文章时,rust-lang/rust 有 1287 个开放 PR。LLM 降低了制造代码的门槛,但审查代码的门槛没有降低。审查不只是找 bug,更重要的是判断方向对不对,这是 LLM 帮不上忙的部分。
第三个最直接:复制粘贴 LLM 输出浪费所有人的时间。审查者想看的是作者的真实想法,不是机器吐出来的循环论证。
在 Reddit 上,这个政策引发了 100 多条讨论。最高赞评论来自 drakythe,他说这个政策"相对理性"——非禁止、非鼓励,而是要求透明。bodiam 用一句话总结了政策原文:"LLM 可以用来回答问题、分析、提炼、检查、建议、审阅,但是不能用来创作。"
但 nnomae 的评论更尖锐。他说政策文件本身"用了海量的文字来避免惹恼 AI 支持者",核心问题被回避了——AI 生成的代码质量不够。他甚至建议把整个文件缩成一句话:"AI 生成代码可能因质量不够被拒绝,不披露就 ban。"
这个批评有道理,但可能误解了政策设计的意图。Rust 项目的治理模式是共识制,不是命令制。Jynn Nelson 在原文中明确说了:Rust 项目内部对 AI 的使用"没有共识,而且很可能永远不会有共识"。在一个无法达成共识的议题上,最好的治理工具不是站队,而是建立一套基于行为而非意图的明确规则,让不同意的人也能在同一套规则下工作。
还有一个细节值得注意:政策特别区分了"可执行"和"不可执行"的规则。有些规则故意设计成不可执行的——不是因为不够重要,而是因为强制执行的成本高于收益。政策的目标是建立一套基于行为的明线标准,让大多数人在大多数时候知道该怎么做。
Reddit 上另一条评论指出了一个更务实的问题:如果 Rust 项目的 AI 政策比其他项目更严格,会不会导致贡献者流向其他更宽松的项目?目前为止,主流开源项目中很少有像 Rust 这样成文的 LLM 政策。Rust 的选择可能会成为其他项目制定类似政策的参考模板。
参考来源: