21CTO导读:开源软件项目的核心已从“写代码的速度”指向“Review 代码的带宽”。在 LLM 垃圾代码淹没 GitHub 的今天,Rust 团队并未搞一刀切的禁令,而是用极其精准的工程治理逻辑,划出了一条关于代码透明度与责任归属的明线。
Rust 语言项目最近针对 rust-lang/rust 单一仓库(Monorepo)正式推出了 LLM (大语言模型)使用政策。
目前已经由五个核心团队所采纳,但这无疑成为主流开源社区中关于 AI 辅助编程最严密、最具可行性的一份“治理范本”。
Rust项目政策之核心逻辑非常清晰——LLM 可以作为分析、提炼、审查与建议的工具,但是绝不能替代人类进行底层的创作者思考。
若 PR 中包含了 LLM 生成的代码,必须同时满足以下条件:
预先沟通:必须提前报备与提前安排;
仅非核心模块使用:除此外严禁涉及核心架构与关键路径;
高质量与充分测试:代码质量绝不打折,单元测试必须完备;
充分审查与主动披露:必须明确标注哪些代码并非出自人类之手。
对涉及系统安全的关键变更,政策中亦做了明确规定:禁止非领域专家的 AI 提交,即使是该领域的专家,政策也“强烈不建议”依赖 LLM 生成安全代码。
对于隐藏/隐瞒等不予披露使用 AI 的提交者,Maintainer(维护者)拥有最高裁决权:
可以直接关闭(Close)PR,不需任何解释。
Rust团队政策起草人 Jynn Nelson 在博客中揭出了当下开源社区面临的三个致命危机:
“努力信号”(Effort Signal)的失真在过去,一个长篇累牍、准备充分的 PR 意味着作者投入了极高的心血与上下文理解。但在 AI 时代,“精心包装的 PR”不再等于“经过深思熟虑”——作者可能完全不理解自己提交的代码,甚至 PR 背后根本没有人类作者。
Review 带宽被极度稀释。以 rust-lang/rust 为例,日常保持着上千个 Open PR。LLM 极大降低了“制造代码”的门槛,但人类架构师审阅代码的门槛与成本丝毫没有降低。Review 的本质是判断技术方向与架构合理性,而这恰恰是 LLM 最不擅长的部分。
拒绝无意义的废话以及循环和直接复制粘贴 LLM 的输出,这不仅浪费 Maintainer 的精力,更破坏了社区的信任链条。社区需要的是开发者真实的工程思考,而不是大模型吐出的逻辑循环。
该政策在 Reddit 上引发了硬核开发者们的激烈讨论:
第一,理性派们的观点。多数开发者认为政策极其务实——不搞意识形态式的全盘否定,也不盲目鼓励,而是通过强制透明度来约束行为。
第二,极客派吐槽:有评论尖锐指出,政策用了大量篇幅去“安抚 AI 支持者”,不如直接简化为一句话——“AI 代码质量不行就拒绝,隐瞒不报直接 Ban。”
针对这一批评,Rust 项目团队的治理逻辑给出了很好的回应:Rust 社区采用的是共识制而非命令制。
正如 Nelson 所言,Rust 内部对 AI 的态度“永远无法达成绝对共识”。
在无法统一思想时,最好的治理工具不是强制站队,而是建立一套基于“行为”而非“动机”的明确规则,让持不同立场的贡献者都能在同一套工程规范下高效协同。
值得关注的是,Rust 团队还巧妙地区分了“可执行”与“不可执行”的规则,避免让强制执行的成本吞噬社区精力。
当越来越多的开源项目在 AI 垃圾代码的泥潭中苦苦挣扎时,Rust 项目团队撰写的这套政策示范了什么叫真正的工程技术领导力。
对于企业内部的 ITO(创新技术组织)与架构团队而言,Rust 的这份政策同样具有极高的参考价值:在引入 AI 工具提升产出的同时,必须建立起清晰的“责任归属”与“质量红线”,绝不能让 AI 产生技术债务,而挤爆核心团队的 Review 带宽。
作者:场长
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。