Godot 这次说得很硬:以后不再接受 AI-authored code contributions。

最值得注意的不是“Godot 反 AI”。恰好相反,这条线划得很窄:它没有说开发者不能用任何 AI 辅助,也没有把问题推到法律层面的版权判定。它拒绝的是由 AI 写出、贡献者自己可能没吃透、但又要进入长期维护链条的代码。

Godot 是开源游戏引擎。它靠社区贡献,也靠维护者审核。这里真正麻烦的不是代码像不像人写的,而是合并之后谁负责。

Godot 禁收 AI 代码,边界在“维护责任”

这件事可以压缩成几行:

问题Godot 这次的指向直接影响
拒收什么AI-authored code contributions贡献者提交 PR 时不能只交一段生成结果
核心理由维护者无法信任重度 AI 用户足够理解代码并修复问题审核重点从“能不能跑”转向“你懂不懂、能不能改”
不等于什么不等于禁止一切 AI 辅助工具AI 可用,但不能替代贡献者承担解释和维护
谁受影响Godot 贡献者、开源维护者、依赖 Godot 的游戏开发者提交流程、代码说明、后续跟进都会变重

我更在意的是这个边界。

很多争论会滑向“AI 代码是不是低质”。这个问题太粗。AI 写出的代码可能能跑,也可能写得不错。Godot 这次卡住的不是“质量标签”,而是“责任链”。

开源项目怕的不是一次提交看起来漂亮。怕的是三个月后出问题,提交者解释不了上下文,也修不动回归。维护者最后只能接盘。

游戏引擎尤其不能把这事看轻。引擎不是一个小工具脚本,它是别人游戏项目的地基。渲染、物理、输入、平台适配,任何边角上的改动都可能在后面放大。

代码进了引擎,就不再只是提交者自己的实验。

代码产量不是贡献,能维护才算参与

AI 编程工具最强的地方,是把“写出来”变便宜。问题也从这里开始。

过去,一个人能写出一段可合并代码,至少说明他经历了一层理解。现在,这层过滤被削薄了。人可以在不完全理解上下文的情况下,快速拿到一段看似合理的实现。

这对个人效率是好事。对公共项目未必是。

开源社区长期缺的不是代码块。缺的是愿意读历史讨论、跟 review、补测试、解释取舍、修复回归的人。Godot 的新规更像是在恢复一个老规矩:贡献不是把代码倒进仓库,而是把责任带进项目。

这和公共工程很像。修桥的人不能只交钢筋水泥,然后说承重问题请维护队自己判断。开源也不是代码倾倒场。桥塌的时候,用户不会问哪一段是模型补全的,只会说这座桥出了问题。

“天下熙熙,皆为利来。”放到今天,利不一定是钱,也可能是更快的产出、更好看的贡献记录、更低的学习成本。AI 把这些激励放大了。维护者自然会反向收紧门槛。

这不是保守。是成本重新分摊。

过去成本更多落在贡献者身上:你要理解项目,才写得出来。现在成本更容易转移给维护者:你生成得很快,别人审核得很慢。Godot 不愿接这个账。

对开发者和维护者,动作要变具体

对想给 Godot 或类似开源项目贡献代码的人,这条规则的实际含义很简单:别把 AI 当署名者背后的幽灵代工。

你可以用工具辅助理解、补全、改写,但提交时要能回答几个问题:为什么这样改?影响哪些模块?有没有测试?review 提出问题后你能不能自己修?如果答案靠“我再问问模型”,那就已经危险了。

对维护者来说,这条规则也提供了一个现实参照。以后类似项目未必都会直接禁收 AI 生成代码,但审核要求大概率会更具体:提交说明更细,测试覆盖更硬,设计解释更清楚,后续维护承诺更明确。

对关注 AI 编程工具的游戏开发者,判断也要更务实。内部原型、一次性脚本、探索性代码,AI 仍然很有价值。但如果代码要进入引擎、插件、公共库,团队就要提前设线:哪些代码允许 AI 辅助,哪些必须人工复核,谁负责后续修复。

否则效率会变成延期付款。

这里也有现实限制。Godot 怎么识别一段代码是不是 AI 生成,目前从线索里看不出完整执行细则。维护者不可能靠肉眼稳定判断每一行来源。真正可执行的抓手,最后很可能还是贡献者声明、代码解释、review 质量和后续响应。

所以这件事的关键,不是抓“AI 痕迹”。那很容易变成形式主义。关键是把维护责任压实:你提交的东西,你得懂;你推动合并的改动,你得能修。

这也解释了为什么我不把它看成一次简单的反 AI 声明。Godot 真正拒绝的,是一种新的廉价幻觉:代码多了,贡献就多了。

软件行业迟早要重新承认这件事。能生成,不等于能负责。能负责,才算真的参与建设。