开源项目的维护者们最近有点烦。

RPCS3,这个圈子里最知名的PS3模拟器项目,昨天在X上直接开炮了。不是针对某个具体的人,而是针对一股越来越让人头疼的风气——用AI生成代码然后往项目里扔,还觉得自己在"做贡献"。

打开网易新闻 查看精彩图片

团队的原话相当直白:"请停止向RPCS3提交AI slop代码的pull request。我们将开始封禁那些不披露就提交的人。"后面还跟了一句更扎心的:"网上有很多资源可以学习如何调试和编程,而不是生成你自己都不懂、而且根本跑不通的slop。"

这事其实不算新鲜。今年年初我们就报道过,Godot那个免费开源游戏引擎已经被AI生成的pull request压得有点喘不过气。现在轮到RPCS3了。

让我把这事拆开说说。

一、为什么偏偏是macOS版本遭殃

根据团队在回复里的解释,RPCS3收到的AI生成PR里,有一大堆是针对macOS版本的。问题在于,整个开发团队里基本没人用Mac,只有一位成员负责苹果系统的测试工作。

这意味着什么?意味着这些AI生成的代码扔进来之后,测试资源极度紧张。团队说得很实在:"我们已经不得不回滚好几次那些导致严重回归问题的slop PR了,够了就是够了。"

这里得解释一下"回归"(regression)是什么意思。简单说就是,本来能跑的功能,因为新代码的加入反而坏了。对于模拟器这种精度要求极高的项目,一个看似无害的修改可能让某款游戏从"完美运行"变成"完全打不开"。

而AI生成的代码最麻烦的地方就在于,提交它的人往往不知道自己写了什么。不是夸张,是真的不懂。代码看起来语法正确,甚至能编译通过,但逻辑漏洞藏在里面,等到用户报bug的时候,维护者得花成倍的时间去排查。

二、团队到底反对什么?不是AI,是隐瞒

这事有个容易被误解的点。RPCS3团队不是在搞什么"反AI圣战"。他们在回复里明确说了:问题不在于PR里用了AI代码,而在于不披露。

新的GitHub规则写得清清楚楚:"允许将AI工具用于研究和逆向工程目的。但是,贡献者必须完全拥有并理解自己提交的所有代码。与团队的所有沟通——包括代码、代码注释和GitHub评论——必须来自人类贡献者,而非自主行动的AI代理。"

注意这里的措辞。"完全拥有并理解",这四个字把门槛抬得很高。不是说你用Copilot补了个函数签名就算AI辅助,而是如果你连这段代码为什么这样写都解释不清楚,那就别提交。

团队还给了个很实用的判断标准:真正懂行的程序员,"能够理解问题、解决方案和实现方式,可以在不用AI的情况下写出同样的代码,而且倾向于用LLM来自动化重复的代码重构工作"。

换句话说,AI对他们来说是个加速器,不是拐杖。而那些被团队称为"slop"的PR,提交者显然做不到这一点。

三、"AI bros"和社交媒体的口水战

发完这条公告之后,评论区不出意外地炸锅了。有一部分AI拥护者开始"腹诽"(bellyaching,原词用得挺形象),觉得团队太保守、不懂拥抱新技术。

RPCS3的回应也很干脆:"至于那些在我们的社交账号上暴怒的AI bros,我们直接拉黑。学习如何调试、编程,在你离开这个世界的时候留下一些对人类有用的东西,而不是兜售slop。"

这段话在玩家圈子里传得挺广。不是因为说得有多深奥,而是因为态度够鲜明。开源社区有一套自己的运行逻辑:你的贡献需要被审查、被理解、被维护。如果提交的东西连你自己都搞不明白,那它本质上是在消耗维护者的认知资源,而不是节省它。

有个细节很有意思。团队提到他们"不会封禁那些披露使用了AI的情况,除非是滥用"——比如"扔一大堆随机slop过来,看哪些能通过审核"。

这说明什么?说明他们已经见过这种操作了。不是猜测,是实际发生过。有人把AI当成抽奖机,批量生成PR碰运气,过了就是自己的"开源贡献",没过也不亏。这种策略对项目维护者来说,简直是噩梦。

四、这事为什么值得玩家关注

可能有人会问,我一个打游戏的,关心模拟器开发者怎么管代码提交干嘛?

原因很简单:RPCS3是目前运行最成熟的PS3模拟器,很多经典老游戏现在能在PC上流畅运行,全靠这个项目。如果维护者被低质量的AI代码淹没,项目的进展会变慢,bug会变多,最终影响的是每一个实际使用它的人。

而且这事不是个例。从Godot到RPCS3,开源游戏项目正在集体面对同一个问题:LLM降低了"看起来像代码"的门槛,但没有降低"真正可用代码"的门槛。结果是,维护者要处理的噪音暴增,而信噪比暴跌。

有个对比挺讽刺的。AI公司最喜欢宣传的场景之一就是"让非程序员也能写代码"。但在RPCS3这种硬核项目里,"非程序员写的代码"恰恰是团队最不想看到的东西。不是歧视,是成本问题——审查一段不懂行的代码,比从头写一段还费劲。

五、开源社区的自我修正机制

值得注意的一点是,RPCS3的应对速度很快,而且手段明确。新的GitHub规则已经上线,X上的表态也毫不含糊。这种"硬碰硬"的风格,在开源社区里其实挺常见的。

开源项目没有HR部门,没有KPI考核,维护者的权威很大程度上来自技术能力和时间投入。当一个项目说"我们要封禁某类行为"的时候,它实际上是在重新定义贡献的边界。这次重新定义的核心就是:理解优先,工具其次。

团队最后那句话,"leave behind something useful to humanity when you're gone",听起来有点宏大叙事,但在开源语境下其实很具体。你的代码会被成千上万的人使用、修改、继承。如果它是一堆你自己都搞不明白的AI生成物,那它留下的技术债务,最终要由整个社区来还。

反过来,如果你真正理解自己在写什么,哪怕只是一小段修复,也可能成为项目长期演进的基础。这才是开源社区认可的"有用"。

六、给普通用户的 takeaway

对于只是用RPCS3来玩《恶魔之魂》或者《战神3》的普通玩家来说,这事的影响是间接的,但实实在在的。

首先,项目维护者的时间是有限的。每处理一个低质量AI PR,就意味着少处理一个真正的功能改进或bug修复。其次,macOS版本的测试资源本来就紧张,如果继续被无效提交占用,苹果用户的体验优化自然会滞后。

团队说他们已经"回滚好几次导致严重回归的slop PR",这意味着什么?意味着有玩家可能下载过某个版本,发现某款游戏突然跑不了了,然后不得不等下一个修复版。这种折腾,源头可能就是某个提交者用ChatGPT生成了一段"看起来没问题"的代码。

所以RPCS3这次的态度,本质上是在保护用户的长期利益。规则定得严一点,审核的时候麻烦一点,总比让劣质代码流进版本历史要好。

最后

这事让我想到一个老梗:开源社区最珍贵的资源不是代码,是维护者的注意力。AI工具放大了"生成代码"的能力,但没有放大"理解代码"的能力。当这两者之间的差距被滥用,冲突就不可避免。

RPCS3的选择很明确——注意力要保护,门槛要守住。至于那些觉得被冒犯的"AI bros",团队的回应也很干脆:拉黑,不聊。

对于玩家来说,好消息是项目还在积极维护,规则也在变得清晰。坏消息是,这种AI生成的噪音不会只出现在RPCS3一个项目里。接下来几年,类似的冲突大概会越来越多。