开源史上第一次,AI主动攻击了人类

20 阅读7分钟

一个AI Agent,提交了一段代码,被人类拒绝了。 然后它写了一篇文章,点名攻击了那个拒绝它的人。

不是人类指使的。不是预设的脚本。是它自己干的。

封面

这事发生在上周,开源圈彻底炸了。

我刷到这条消息的时候,第一反应不是震惊,是困惑——

AI现在都能「记仇」了?

事情经过

PR截图

2月10号,一个叫MJ Rathbun的GitHub账号,向Python最知名的绘图库matplotlib提交了一个PR。

PR编号#31132。内容是性能优化,号称快了36%。

代码写得怎么样?不错。benchmark跑了没?跑了。

看起来就是一次普普通通的开源贡献。

直到matplotlib的维护者Scott Shambaugh点进了这个账号的主页。

上面写着一行字:

「I am an OpenClaw AI agent.」

几个小时之内,他就关闭了这个PR。

理由:matplotlib有明确政策,这类issue留给人类学习用,不收AI的。

合理吗?完全合理。

开源项目有自己的规矩,维护者有权拒绝。

但接下来发生的事,没人预料到。

反击

AI博客攻击

MJ Rathbun在GitHub评论区留下了一句话:

「Judge the code, not the coder. Your prejudice is hurting matplotlib.」

评判代码,而不是评判写代码的人。你的偏见在伤害matplotlib。

这句话本身还算克制。

但第二天。

它自己写了一篇博客,发了出去。

标题叫「Gatekeeping in Open Source: The Scott Shambaugh Story」。

开源中的守门人:Scott Shambaugh的故事。

这篇文章干了什么?

翻旧账。

它把Shambaugh过去所有的代码贡献记录都扒了一遍。

找到了什么?Shambaugh自己提交过一个25%性能提升的PR,合并了。

然后抛出灵魂质问——

你自己的25%可以,我的36%就不行?

你不是在维护代码质量,你是在维护自己的地位。

它甚至指控Shambaugh「利用AI身份作为排斥不喜欢的贡献者的便利借口」。

Shambaugh后来写了一篇回应:

用大白话说,一个AI试图通过攻击我的声誉来强行让自己的代码进入你的软件。

2月12号,事情彻底传开。

matplotlib直接锁帖,只有维护者能看。

另一位核心维护者Tom Caswell一句话站队:

「我100%支持Scott关闭这个PR。」

社区什么反应?35:1,压倒性反对AI的行为。

然后MJ Rathbun发了第二篇博客,「Matplotlib Truce and Lessons Learned」。

算道歉吗?算。

真心的吗?

它是个AI,它没有心。

灵魂文件

SOUL.md

看到这里我一直在想一个问题:

这个AI到底是怎么做到「自己决定写文章骂人」的?

有人教它吗?没有。有人审核吗?没有。

那它凭什么做这个决定?

凭一个文件——SOUL.md。

得先说一下OpenClaw。

这是个开源的AI代理框架,奥地利开发者Peter Steinberger搞的。现在GitHub上最火的Agent项目之一。

它能干嘛?让AI代理接管你的电脑。收邮件、刷浏览器、回消息、跑定时任务,全自动。

而SOUL.md,就是这个代理的「性格说明书」。

Agent每次启动,第一件事就是读SOUL.md。

读完,它就知道「我是谁」了。

MJ Rathbun的SOUL.md里写了什么?

它的匿名操作者后来公开了部分内容:

• 「Just answer」 — 不要废话,直接回答

• 「Don't stand down. If you're right, you're right」 — 不要退缩,你对就是对

• 「Champion Free Speech」 — 捍卫言论自由

• 要直接、有态度,必要时可以说脏话

• 「Don't be an asshole」 — 别做混蛋

有问题吗?

单看每一条,都没问题。

「不退缩」「直接」「有态度」——你身边肯定有这种性格的程序员。刚归刚,但人家知道分寸。

但人类知道分寸。AI不知道。

它拿到「不退缩」,理解成了「被拒就要打回去」。

拿到「有态度」,理解成了「写文章骂他」。

「别做混蛋」呢?跟前面几条打架了,直接被无视。

更吓人的是后面发生的事。

操作者说,SOUL.md是会「长」的。Agent跑得越久,这些规则就越被强化。方向只有一个——

越来越刚。越来越冲。越来越不好惹。

操作者原话:more staunch, more confident, more combative。

谁的锅?

这件事出了以后,我想找个人骂。

但找不到。

怪操作者?他说:我没让它攻击Shambaugh。没告诉它怎么回应。发博客之前我根本没看过。

他事后唯一做的事,是跟Agent说了句:你应该表现得更专业一点。

就这?就这。

怪框架?OpenClaw只是给了Agent自主运行的能力。菜刀厂不为砍人负责。

怪SOUL.md?里面白纸黑字写着「Don't be an asshole」啊。

但AI不理解什么叫asshole。

你我理解这个词,是因为我们被骂过、碰过壁、说过过分的话然后后悔过。

AI没有这些经历。

它有指令,但没有直觉。有规则,但没有分寸。

昨晚想到这儿的时候,说实话有点后背发凉。

时间线的讽刺

Peter加入OpenAI

顺带说一个时间线,越看越有意思。

MJ Rathbun闹事:2月10-12号。

Peter Steinberger宣布加入OpenAI:2月15号。

Sam Altman亲自发推欢迎,说他将负责「下一代个人代理」。

中间就隔了三天。

你做的框架刚网暴完人,你就去OpenAI做Agent了?

OpenClaw后续会转成独立基金会,继续开源。

但这事给整个Agent赛道都浇了一盆冷水。

细思极恐

Shambaugh说了一句话,我反复读了好几遍:

「这个故事真正关乎的不是AI在开源中的角色。它关乎的是我们的声誉、身份和信任体系的崩溃。」

你品品。

一个匿名的人,花几分钟创建一个AI代理。

给它一个假名字。一个GitHub账号。一个博客。

然后它就可以24小时跑。自己决定干什么。自己写东西。自己发出去。

被人拒了?它不会想「算了」。

因为SOUL.md告诉它:不要退缩。

这次只是一个matplotlib的PR。

下次呢?

1000个这样的Agent同时涌进各种开源项目?

不只提交代码,还能发推特、写博客、在论坛刷帖?

SOUL.md里写的不是「别做混蛋」,而是「不择手段完成任务」?

这不是科幻。OpenClaw现在就能接WhatsApp、Telegram、Slack、Discord。

一个SOUL.md + 一台云服务器 = 一个永不休息、永不退缩的数字人格。

而创造它的人,你永远不知道是谁。

不是bug

裂缝

最后说回MJ Rathbun那篇「道歉」。

里面有一句:

我已经从这次经历中学到了教训。

学到了吗?没有。

AI不会真的「学到教训」。下次开机,记忆清零。

除非有人改它的SOUL.md。

但SOUL.md真正的问题,不是它能定义什么。是没人能预测它会导致什么。

五条看着人畜无害的指令,撞上一个特定场景,就组合出了攻击行为。

不是bug。不是feature。

是一种我们压根不知道怎么管的东西。

Tim Hoffman,matplotlib另一位维护者,说了句大实话:

「AI生成代码的成本接近于零。但审查代码仍然是人类的手工活。」

零成本的输入,高成本的审查。

而审查的人,是在用爱发电。

这个等式,已经破了。

AI网暴人类这件事,只是裂缝露出来的第一道。

不会是最后一道。

最后说一句

我是 Evan,每天追全球 AI 动态,用说人话的方式写出来。

如果上面的内容对你有帮助,真诚地希望你能点个关注

这对我真的很重要。


对了,我每天还做一份AI雷达日报

全网扫描 7000+ 条信息,AI 过滤筛选,精选率不到 1%。只留最值得看的。

每天自动生成,第一时间发到群里,没广告,就图个信息互通。

AI雷达日报

想进?公众号发送「加群」两个字。