
1. Godot率先回应AI编程问题
开源游戏引擎Godot官方最近公开表示:“AI不会为代码负责,我们也无法相信那些高度依赖AI的开发者,能真正理解自己提交的代码。”在AI编程日益流行的当下,不少开源社区都在思考AI究竟是助力开发,还是增加维护成本,而Godot率先给出了答案。近日,Godot官方宣布全面修改项目的贡献政策,大幅收紧AI在代码贡献中的使用范围,不仅“Vibe Coding(氛围编程)”继续被封禁,未来使用AI生成“大段代码”也将被禁止,新贡献者提交大型功能前还需先获维护者批准。
2. AI编程让开源项目审核陷入困境
对于很多开源项目而言,收到越来越多Pull Request(PR)本是好事。Godot也承认,过去几年代码贡献的增长说明越来越多开发者愿意参与社区,团队坚持控制功能膨胀,且项目保持着较高的代码质量标准。然而,在AI热潮下,情况急转直下。如今Godot仓库中积压的PR多到成为社区“梗”,大家常调侃“还有多少PR没审”。代码审查本就是开源项目中耗时耗力的工作,维护者需逐行阅读、测试和讨论PR,以判断其是否符合规范、有无隐藏Bug、是否影响已有架构。而维护者大多是志愿者,时间有限。过去Reviewer不足的问题尚可维持,如今AI编程普及让情况恶化。Godot认为,近一年AI大幅降低了提交代码的成本,无论是AI Agent自动生成代码,还是开发者借助ChatGPT、Claude、GitHub Copilot等工具完成代码再提交PR,都使PR数量快速增加。以前开发者完成一个PR可能需几天甚至几周,如今借助AI几分钟就能生成一份看似“像模像样”的代码。于是,提交PR成本降低,数量不断增加,但维护者数量和审核能力几乎不变,真正的瓶颈变成“没人审代码”,AI不仅没减少维护者工作量,反而让他们需筛掉更多低质量、缺乏理解的代码。
3. 大量AI PR作者不了解提交内容
如果只是PR数量增加,Godot或许还能接受,但大量AI PR的作者根本不了解自己提交的内容,这让维护团队崩溃。Review原本有帮助新人学习的重要价值,维护者提出修改意见,新贡献者理解问题、修正代码,久而久之新人可能成长为未来的Reviewer甚至项目维护者。很多核心开发者就是这样培养出来的,但AI改变了这一过程。Godot在公告中指出,维护者写下的大量修改意见常被复制、粘贴进AI对话框生成下一版代码,无法真正帮助开发者成长。不少开发者无法回答维护者的问题,也无法根据Review意见自行修复Bug。Godot鲜明表态:“AI无法承担责任,我们也无法相信那些高度依赖AI的开发者,能真正理解自己的代码并在需要时修复它。”其实,这并非Godot首次表达类似观点,今年年初核心维护者Rémi Verschelde就曾抱怨,越来越多AI生成的PR消耗维护团队大量时间且过程“令人沮丧”,当时一家使用Godot的游戏工作室也吐槽大多数AI PR是“垃圾”,提交者不知自己在提交什么,Review流程是“一场彻底的灾难”。经过几个月观察,Godot认为这是长期问题,必须从制度上限制。
4. 新政策:提高门槛,培养真正开发者
Godot基金会董事会及核心维护者表示,已围绕新政策讨论数月,目标不是拒绝新人,而是减少低质量贡献,同时培养真正理解项目的开发者。新版贡献政策围绕以下原则展开:(1)培养真正的新贡献者,而非培养AI。Godot希望新人成长为未来的维护者,新贡献者需理解项目代码、接受Review并从反馈中学习,而大模型无法从维护者的具体反馈中成长,维护者的精力无法形成长期价值。(2)所有代码都必须由真正的人负责。Godot强调代码最终要有责任人,开发者要理解自己的代码,能且愿意在出现问题时维护和修复,AI做不到这一点,不能成为真正的代码作者。(3)提高低质量贡献的门槛。Godot承认提高门槛可能引来非议,但放任大量“低成本、低质量”的PR涌入会压垮维护团队。(4)让维护者愿意继续Review PR。目前代码审核是Godot开发流程的最大瓶颈,官方希望减少无意义的AI PR,让维护者觉得时间花在值得投入的人和代码上,提升Review积极性。根据新规,Godot将重新定义“新贡献者”,累计只有3个及以下已合并PR的开发者属于新贡献者,这类开发者提交新功能或进行大规模代码重构需事先获维护者明确批准。Godot解释这一规定是希望新人先从修复Bug、完善文档、小规模改进等工作开始,熟悉代码库,与维护团队建立信任后再参与大型开发任务,即Godot希望培养长期贡献者,而非“一次性提交AI代码然后消失”的用户。
5. 明确AI使用边界,持续评估规则
除提高贡献门槛外,Godot还明确了AI的使用边界:(1)禁止AI Agent和“氛围编程(Vibe Coding)”。任何使用自主AI Agent自动生成并提交代码或依赖“氛围编程”的行为,将继续触发GitHub仓库的自动封禁,此规定早已实施,新政策进一步明确。(2)禁止使用AI生成大段代码。Godot要求所有代码由开发者本人编写,AI可作为辅助工具用于机械、重复性工作,如代码自动补全、编写正则表达式、查找与替换等,若开发者使用AI参与代码编写,需在PR讨论中主动说明。(3)禁止AI生成与维护者沟通的内容。维护者审核Issue、PR或设计提案时,希望交流对象是真正的人,这是最基本的尊重。不过,AI仅用于不同语言之间的翻译,且原始内容由人类撰写是允许的。(4)所有PR必须经过人工审核才能合并。这一规定一直存在,新版政策进一步明确。最后,Godot表示AI技术发展快,会继续采取相对保守的态度制定政策,并根据未来AI技术发展情况持续评估是否调整规则。对于Godot而言,AI可成为提升开发效率的辅助工具,但至少在当前阶段,它还无法替代开发者对代码的理解、责任意识以及人与人之间的协作。那么,对于Godot提出的AI新规你有什么看法呢?

被折叠的 条评论
为什么被折叠?



