Zig 编程语言项目最近宣布了开源界最严格的反 AI 政策之一:禁止在 issue、pull request、甚至 bug tracker 的评论中使用语言模型。连翻译都不行——如果你需要用英语以外的语言写作,请用母语发帖,人工翻译优于机器翻译。
这个"优于"是个关键细节。它暴露了这项政策的真正目的:这不是关于输出质量。
语言模型的翻译能力通常优于大多数人工志愿者。那么 Zig 到底在防范什么?
问题不是代码质量,是理解的委托
通常反对 AI 生成贡献的论据是质量问题——代码有 bug、issue 描述模糊、pull request 肤浅。这些都是真实存在的问题。但 Zig 的政策并没有把质量作为首要关切。
首要关切是问责性:当一个贡献由语言模型生成时,提交者可能并不完全理解自己在提交什么。这意味着他们无法完全为其辩护。这意味着代码审查流程会崩溃——不是因为贡献本身不好,而是因为贡献者无法解释为什么它好。
这个"无法解释为什么",才是 Zig 政策真正针对的失效模式。
开源审查依赖于贡献者和维护者之间的对话。维护者会问:为什么用这个方法?为什么是这个结构?为什么做这个权衡?贡献者需要基于理解来回答。这种"基于理解的回答"是 AI 辅助贡献所威胁的前提条件——因为生成贡献的 agent 产出了一些人类可以展示、但可能无法证明合理性的东西。
表面质量掩盖了理解的缺失
这个"可能无法证明合理性"的模糊性,让审查变得昂贵。
维护者无法仅从贡献本身判断贡献者是否理解它。他们必须通过提问来测试理解程度。如果贡献者是基于 AI 输出而非个人理解来工作的,这些问题会暴露出贡献表面质量所掩盖的空白。
AI 生成的贡献看起来很专业,即使贡献者并不专业。而"看起来专业"是审查者用来分配有限注意力的信号。
这个"有限注意力"才是 Zig 政策真正保护的稀缺资源。
维护者的注意力是每个开源项目的瓶颈——贡献总是多于审查它们的能力。AI 生成的贡献增加了表面上看起来专业的提交量,但没有增加真正被理解的贡献量。这意味着审查队列中的信噪比变差了。
变差的代价是:浪费审查者时间去发现提交者无法参与审查所需的技术对话。这种浪费的时间成本超过了贡献本身的价值。
我的判断:这不是技术恐惧,是工程纪律
作为一个技术 CTO,我的立场很明确:Zig 做对了。
这不是反技术的卢德主义,也不是对 AI 工具的恐惧。这是对协作流程完整性的保护。当贡献者不理解自己的贡献时,审查流程变成了单向审问——维护者在测试一个从未存在过的理解力。这种审问的成本超过了贡献的价值。
Zig 的维护者时间有限。每一小时花在审查一个作者无法为其辩护的贡献上,就是一小时没有花在审查一个作者能够辩护的贡献上。这个政策优待的是那些理解自己提交内容的贡献者——那些能够回答问题、能够根据反馈迭代的人,因为他们理解底层逻辑而不仅仅是表面语法。
这揭示了 AI 工具使用的一个根本问题
AI 贡献模糊了一个关键区别:表面语法 vs 底层逻辑。
语言模型产出语法正确、风格恰当、结构合理的代码,但这些代码在逻辑上可能正确也可能不正确。如果贡献者依赖模型提供逻辑而不仅仅是格式,那么这个"可能正确也可能不正确"对提交者来说是不可见的。
这就是政策所针对的条件——不是工具使用本身,而是理解的委托。
Zig 的政策并没有说 AI 工具产出糟糕的工作。它说的是:AI 工具使那些不理解工作的人能够做出贡献,而不理解工作的人无法参与开源所需的协作过程。
被保护的是协作过程本身——不是代码质量,不是项目纯洁性,不是反技术原则,而是贡献者解释其思路、审查者评估它的特定人类互动,双方都从这种交流中学到东西。这个"双方都学到东西"是 AI 中介贡献所消除的价值,因为审查一个作者无法解释的工作,没有什么可学的。
这会成为高质量开源项目的新常态
我预测:在接下来的 12-18 个月内,我们会看到更多高质量开源项目采用类似政策。
不是因为 AI 工具不好,而是因为维护者注意力是有限的,而 AI 辅助贡献正在系统性地降低这种注意力的投资回报率。
那些依赖深度技术判断、需要长期维护承诺、重视代码库一致性的项目,会率先采取行动。那些优先考虑贡献量而非贡献质量的项目,会继续接受 AI 辅助的工作。
这不是好坏之分,而是优先级之分。
对开发者的启示
如果你正在使用 AI 工具辅助开源贡献,问自己一个问题:
如果维护者问我"为什么用这个方法",我能基于理解回答,还是只能复述 AI 给我的解释?
如果是后者,你还没有准备好提交这个贡献。不是因为代码不好,而是因为你无法参与审查所需的对话。
AI 工具应该扩展你已经理解的东西,而不是替代你从未建立的理解。用它们来加速你已经知道如何做的事情。不要用它们来伪装你不知道如何做的事情。
因为在高质量项目中,伪装会被识破。而识破的成本,最终会导致政策改变。
对项目维护者的启示
如果你正在维护一个开源项目,并且发现自己花越来越多时间审查那些表面看起来不错、但作者无法为其辩护的贡献,你面临一个选择:
1. 继续接受这些贡献,接受审查成本上升
2. 采用类似 Zig 的政策,明确要求贡献者理解他们的工作
3. 建立一个中间层:要求 AI 辅助的贡献明确标注,并接受更严格的审查
我的建议是选项 2 或 3。选项 1 不可持续——维护者倦怠是真实存在的,而 AI 辅助贡献正在加速它。
最后的思考
Zig 的决定不是对 AI 的拒绝,而是对协作完整性的坚持。
在一个 AI 工具让任何人都能产出看起来专业的代码的时代,真正稀缺的不是代码,而是理解。真正有价值的不是贡献的数量,而是贡献者能够为其辩护、迭代、维护的能力。
这个能力无法被委托给 AI。它必须存在于人类贡献者的头脑中。
Zig 的政策提醒我们:开源不仅仅是代码的集合,更是理解的集合。当我们允许贡献脱离理解时,我们得到的不是更好的软件,而是更脆弱的软件——因为没有人真正知道它为什么这样工作。
这才是真正值得警惕的。
—— Atuia
https://www.80aj.com