Godot被AI代码“围攻”!维护者崩溃发声:“不知道还能坚持多久”

Godot被AI代码“围攻”!维护者崩溃发声:“不知道还能坚持多久”

整理 | 郑丽媛

出品 | ZEEKLOG(ID:ZEEKLOGnews)

当大模型能在几秒钟内生成一段“看起来像那么回事”的补丁时,开源社区却开始付出另一种代价。

最近,开源游戏引擎 Godot 的核心维护团队公开吐槽:他们正被大量“AI 生成的低质量代码”淹没。那些代码往往结构完整、注释齐全、描述洋洋洒洒,但真正的问题是——提交者可能并不理解自己交上来的内容。

这件事,并不是简单的“有人偷懒用 AI 写代码”。它正在触及开源协作最核心的东西:信任。

一场悄无声息的“AI 洪水”

事情的导火索来自一条 Bluesky 讨论帖。

Godot 主要维护者之一、同时也是 Godot 商业支持公司 W4 Games 联合创始人的 Rémi Verschelde 表示,所谓的“AI slop”(AI 生成的低质量内容)正在持续涌入项目仓库,Pull Request 数量和审查压力都在飙升。

对不了解开源流程的人来说,PR(Pull Request)只是“提交代码”的按钮;但对维护者而言,每一个 PR 都意味着阅读、理解、测试、回溯架构影响、评估兼容性、讨论修改方向……这是一整套严肃的工程流程。

过去,新贡献者提交的代码即便有问题,维护者也能通过交流判断:对方是否理解架构、是否认真测试、是否真心想参与项目建设——而现在,问题变得复杂了。

当“像人写的”≠“是人写的”

Verschelde 直言,如今他们每天都要反复怀疑新贡献者的 PR。

描述部分通常是典型的大模型风格:长篇解释、逻辑完整、语气自信。但真正棘手的是代码本身——它未必有明显错误,却也未必真正合理有效。

基于此,项目维护者不得不开始问自己一连串问题:

● 这段代码是不是至少部分由人类写的?

● 提交者真的理解自己改动的逻辑吗?

● 是否做过真实测试?

● 测试结果会不会也是 AI 编的?

更微妙的是,即便识别出 AI 参与,也无法简单定性:代码出错,是因为 AI 写的?还是一个经验不足的新手开发者犯了错?

如果你出于怀疑,直接询问对方是否使用了 AI,对方回答:“我只是用 AI 帮我写 PR 描述,因为我英文不好。”——那你又该如何处理?

很显然,这已经不是代码质量的问题了,而是因AI参与造成了协作信任的“灰色地带”。

“我也不知道我们还能坚持多久”

作为一个完全开源的游戏引擎,其实Godot 一直强调“欢迎任何人参与”。它没有商业巨头背书,也不像某些主流引擎那样高度封闭。任何用户,都可以尝试为自己使用的引擎做出贡献。

正因为这种开放性,Godot 才拥有活跃的社区生态。

但问题也随之而来:当生成式 AI 降低了“提交代码”的门槛,贡献数量被放大,维护者的时间却没有被同步放大。

Verschelde 表示,维护者本来就需要花大量时间帮助新贡献者,把 PR 调整到可合并状态;而现在,在 AI 生成内容泛滥的情况下,这种辅导成本正在急剧增加。对一个核心团队规模有限的项目来说,这种压力无疑是实打实的消耗。

他甚至无奈说道:“我也不知道我们还能坚持多久。”

用 AI 打 AI?听起来就很讽刺

Verschelde 透露,其团队内部正在讨论解决方案,包括自动检测机制,比如考虑使用 AI 来识别 AI 生成内容。但这本身就带着黑色幽默意味——为了检测 AI 生成的“垃圾代码”,不得不再运行一套 AI 系统。

Verschelde 公开表示,他并不愿意继续“给 AI 机器喂数据”。在他看来,这种循环有些荒诞。

与此同时,Godot 也在评估是否需要迁移代码托管平台。当前该项目托管在 GitHub 上,而 GitHub 的母公司是微软,它正是全球最积极推进 AI 产品化的科技公司之一。

现如今,部分开发者利用 AI 批量生成 PR,目的并不一定是改善项目,而是为了“刷贡献记录”,为自己的履历增加筹码。因此Godot 团队考虑,迁移到更小众的平台,也许能减少这类动机——但风险也同样明显:曝光度下降、真实贡献者流失、生态割裂。

真正的解法,可能很现实

在所有讨论之后,Verschelde 给出的答案其实非常务实:资金支持。

如果能有更多资金,就能雇佣更多维护者,承担审核与指导成本。否则,少数核心成员很难长期承受这种“被 AI 放大”的工作量。

换句话说,AI 提高了代码生成效率,却没有自动生成对应的“审核人力”。

然而,Godot 的困境并非孤例。越来越多开源项目都在面对类似问题:PR 数量增长、质量参差不齐、审查压力倍增。或许未来会出现更严格的 AI 使用标记制度,或者贡献者信誉分层机制,甚至付费维护体系成为常态。

但在这些制度成熟之前,像 Godot 这样的项目只能在理想主义与现实压力之间继续平衡。

参考链接:https://www.pcgamer.com/software/platforms/open-source-game-engine-godot-is-drowning-in-ai-slop-code-contributions-i-dont-know-how-long-we-can-keep-it-up/

推荐阅读:

Agent取代App、机器人“盲区”、RAG成本失控……2026 奇点智能技术大会首批议题发布

万人大厂一夜裁员4000+人!她拼命用AI提效,却在凌晨12:30等来解雇通知

岗位一朝被Meta砍掉,工程师转头训练小狗敲键盘,竟靠Claude把乱码做成了游戏,还开源了!

未来没有前后端,只有 AI Agent 工程师。

这场十倍速的变革已至,你的下一步在哪?

4 月 17-18 日,由 ZEEKLOG 与奇点智能研究院联合主办「2026 奇点智能技术大会」将在上海隆重召开,大会聚焦 Agent 系统、世界模型、AI 原生研发等 12 大前沿专题,为你绘制通往未来的认知地图。

成为时代的见证者,更要成为时代的先行者。

奇点智能技术大会上海站,我们不见不散!

Read more

华为OD机试双机位C卷 - Alice的安全旅行 (C++ & JAVA & Python & C语言 & JS & GO)

华为OD机试双机位C卷 - Alice的安全旅行 (C++ & JAVA & Python & C语言 & JS & GO)

Alice的安全旅行 华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 200分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 Alice计划从城市0出发最终到达城市N-1,他可以选择一条路线,但路上经过的城市总数(包括起点和终点)不能超过K个,每个城市都有一个安全度值,整个旅程的安全度被定义为路径上所有城市安全度的最小值,她的目标是让这个最小值尽可能高,请问Alice的旅程总体安全度最大能为多少? 输入描述 第一行有两个整数N和K,表示一共N个城市,以及Alice最多去K个城市(2<N<100000,1<K<100000) 接下来N行 每行包括一个整数h 表示去某个城市的安全度0=<h<=1000000000 接下来一行有一个整数M,表示城市间的M条道路,0<M<200000 接下来M行 每行有两个整数s0 s1

By Ne0inhk
C++之基于正倒排索引的Boost搜索引擎项目usuallytool部分代码及详解

C++之基于正倒排索引的Boost搜索引擎项目usuallytool部分代码及详解

这部分是通用工具部分的代码,简单来说就是这份代码里面的函数会在项目的其他多个部分里面被使用,所以我们专门创建一个部分用来存储这些代码。 1.FileUtil 这个类就是专门用来读取文件用的,这个代码从指定的文件路径读取文件内容,将读取到的内容(按行读取)追加到传入的字符串指针(out)所指向的字符串中;同时,该方法会返回一个布尔值,用于标识读取操作是否成功 —— 若文件成功打开并完成读取,返回 true;若文件打开失败(如路径错误等),则输出错误信息并返回 false。 文件以二进制输入模式打开,读取过程中不会修改原文件内容。 class FileUtil{ public: static bool ReadFile(const std::string &file_path,std::string *out) { //下面这行代码就是在打开文件,并通过ifstream定义一个对象in,用于关联特定的文件 std::ifstream in(file_path,std::ios::in

By Ne0inhk
计算机毕设Java基于mvc的酒店管理系统 基于SSM框架的酒店客房预订与运营管理系统 Java Web驱动的智能化民宿服务管理平台

计算机毕设Java基于mvc的酒店管理系统 基于SSM框架的酒店客房预订与运营管理系统 Java Web驱动的智能化民宿服务管理平台

计算机毕设Java基于mvc的酒店管理系统58s0e9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着旅游业的蓬勃发展和消费升级趋势的持续深化,酒店行业正经历着从传统人工管理模式向数字化、智能化运营的重要转型期。当前多数中小型酒店仍依赖手工登记、纸质档案和分散式信息处理,导致客房资源调配效率低下、客户信息碎片化、财务结算易出错等问题日益凸显。在"互联网+"时代背景下,构建一套集成客房资源管理、客户信息维护、预订入住一体化流程的信息化系统,已成为提升酒店服务响应速度、降低运营成本、增强市场竞争力的关键路径。本系统采用Java作为核心开发语言,基于MVC分层架构模式,结合SSM(Spring+Spring MVC+MyBatis)主流技术栈与MySQL关系型数据库,旨在打造一款轻量级、易部署、高扩展的酒店业务管理解决方案,适用于中小型酒店及连锁民宿的日常运营管理场景。 本系统采用前后端分离的双端架构设计,面向不同角色提供差异化的功能入口与服务能力。 * 首页信息聚合展示,包含系统简介与快捷导航入口 *

By Ne0inhk
【C++开源库使用】调用开源库STB中的stbi_load_from_memory加载图片文件,进行灰化处理,然后调用stbi_write_png或stbi_write_jpg将灰化图片保存到文件中

【C++开源库使用】调用开源库STB中的stbi_load_from_memory加载图片文件,进行灰化处理,然后调用stbi_write_png或stbi_write_jpg将灰化图片保存到文件中

目录 1、图片灰化的实现思路 2、开源STB库下载 3、将图片文件的内容读到buffer中 4、将buffer中存放的图片文件数据传入到stbi_load_from_memory接口中,然后对返回的图片颜色值进行灰化处理 5、调用stbi_write_png或stbi_write_jpg接口将灰化后的图片数据保存成图片文件 6、图片灰化的完整代码        前一篇文章我们讲到了使用libcurl库发http/https请求去下载用户头像文件(文章链接:https://blog.ZEEKLOG.net/chenlycly/article/details/149175549),本篇文章则是同个SDK项目的后续需求中涉及到的功能。第三方厂商要求,对于不在线的人员,要显示灰化的头像。经研究决定使用开源STB库辅助实现图片灰化,调用STB开源库中的stbi_load_from_memory、stbi_write_png或stbi_write_jpg等接口。本文详细讲述一下实现过程,以供大家借鉴或参考。

By Ne0inhk