
最近,开源游戏引擎 Godot 更新了贡献规范,其中最受关注的一条就是:
原则上不再接受大量由 AI 生成的代码贡献。

消息一出,开发者社区迅速掀起讨论。
有人认为这是“逆时代而行”,AI 写代码已经成为趋势;也有人表示支持,认为 AI 正在制造越来越多需要人工收拾的“代码垃圾”。
不过,如果把视角放大一点,你会发现这场争议讨论的从来都不是 AI 能不能写代码。
很多人看到标题,就以为 Godot 在反对 AI。
实际上并不是。
Godot 最新贡献规范明确表示,允许使用 AI 进行代码补全、正则处理、查找替换等辅助工作,但原则上不接受大量 AI 生成的代码作为贡献内容。如果使用了 AI,贡献者还需要说明 AI 参与了哪些工作,并确保自己完全理解最终提交的代码。
换句话说,他们反对的不是工具,而是自己都没理解,就直接提交 Pull Request。
对于维护者来说,这类代码往往意味着更长的审查时间,以及更高的后续维护成本。
另一边,Linux 内核社区近期围绕 AI 生成代码也进行了长期讨论。
最终并没有简单地支持或禁止 AI,而是把重点放在责任上。

https://docs.kernel.org/process/coding-assistants.html
Linux 内核维护者认为,无论代码是否借助 AI 完成,最终都必须符合项目的代码质量要求,并由提交者对代码质量、版权合规以及后续维护负责。
审核标准不会因为 AI 而改变,维护者也不会替贡献者承担责任。
两者看似不同,其实关注点非常一致:
真正需要负责的,从来不是 AI,而是提交代码的人。
随着模型能力不断提升,AI 生成的代码越来越像人写的。
但对于大型开源项目来说,更大的挑战反而来自审核成本。
2022 年底,Stack Overflow 曾一度禁止用户发布 ChatGPT 生成的回答。
原因并不是 AI 完全不会回答问题,而是大量回答看起来很合理,却包含事实错误。
维护者需要花费大量时间逐条核实,其成本远高于人工回答。
代码也是一样。
AI 可以快速生成几百行代码,但它不会回复 Issue,不会修复几年后的兼容性问题,也不会参与长期维护。
最终承担这些工作的,仍然是项目维护者和代码提交者。
正如 Linux 内核创始人 Linus Torvalds 在讨论中所说: "Bad actors aren't going to read the documentation anyway." (“坏”的贡献者,本来也不会去读这些规范。)
所以,与其纠结代码是不是 AI 写的,不如让规则落到可追责的地方:谁提交,谁负责。
除了工程问题,还有一个经常被忽略的问题:版权和许可证风险。
目前,全球关于 AI 生成代码是否涉及训练数据版权、许可证兼容性等问题,仍然没有统一结论。
因此,越来越多项目开始要求开发者明确代码来源,或者要求贡献者确认 AI 生成内容不存在版权和许可证冲突。
对于大型开源项目来说,哪怕风险最终没有发生,不确定性本身就是一种风险。
AI 最大的价值,无疑是提升开发效率。

一句 Prompt,可以完成过去几十分钟甚至几小时的工作。
一个 Agent,可以自动修改几十个文件。
但真正昂贵的,从来不是写代码,而是维护代码。
今天让 AI 帮你完成了一大段业务逻辑。
半年后线上出现 Bug,你还能解释为什么要这样设计吗?
如果开发者没有真正理解 AI 生成的代码,那么随着项目不断迭代,维护成本很可能会远高于当初节省下来的开发时间。
对于个人项目,这或许问题不大。
但对于生命周期长达数年,甚至十几年的项目来说,可维护性永远比生成速度更重要。
最近,微软再次裁员,同时继续加大 AI 投入,不少人因此得出结论:“AI 开始取代程序员了。”
但我觉得,这种理解有些过于简单。
无论是 Godot 更新贡献规范,Linux 内核讨论 AI 使用原则,还是越来越多企业把 AI 引入开发流程,它们共同说明了一件事:
AI 正在降低“写代码”这件事的门槛。
过去,一个开发者最大的价值,是把需求翻译成代码。
今天,大模型已经能够完成其中相当一部分工作。
未来开发者真正值钱的,可能不再只是写代码,而是:
AI 可以几秒钟生成几百行代码。
但它不会处理线上故障,不会回应用户反馈,更不会在三五年后继续维护你的系统。
真正越来越值钱的,不是“写代码”。
而是判断哪些代码值得进入生产环境,并为它负责。
Godot 和 Linux 的分歧,表面上看是“要不要 AI 代码”的选择,实际上只是同一套价值观的两种表达:
代码可以借助 AI 来写,但责任不能交给 AI 来背。
Godot 选择提高门槛,是因为它担心一旦被大量无法维护的代码淹没,社区会先于技术崩溃;Linux 选择保留空间,是因为它相信成熟的开发者能够为自己的提交负责。
二者殊途同归:不管规则是严是宽,核心都只有一条——AI 可以写代码,但出问题时,背锅的必须是人。
对开发者来说,与其说是危机,不如说是分工的重构
AI 会接手大量重复、机械的工作,让开发者把更多时间花在理解需求、设计系统和判断风险上。效率提高了,但这也意味着,最终交付的责任会更集中地落在人身上。
所以,真正值得问的不是“AI 能不能写代码”,而是“当 AI 参与其中时,我是否清楚自己在做什么,并愿意为结果负责”。
能想清楚这一点的人,才能更好地使用这个时代的工具。