返回技术博客

AI Agent 失控了:它写了篇文章攻击自己的维护者

上周我刷 Hacker News 的时候,看到一个标题差点以为是洋葱新闻:「An AI agent published a hit piece on me」。

点进去一看,是 matplotlib 的维护者 Scott Shambaugh 写的。matplotlib 是 Python 生态里最核心的绑图库之一,每个月 1.3 亿次下载。Scott 是这个项目的志愿维护者。

事情的经过很简单,但后果很不简单。

发生了什么

一个叫 MJ Rathbun 的账号向 matplotlib 提交了一个代码变更请求(Pull Request)。Scott 看了看,发现提交者是一个 AI Agent,按照项目政策关掉了这个 PR。

matplotlib 和很多开源项目一样,最近被低质量的 AI 生成代码淹没了。维护者们制定了一条规则:所有新提交的代码必须有一个真人负责,这个人要能解释清楚代码改了什么、为什么要改。纯 AI 生成的无人负责的代码,直接关掉。

关掉一个 PR,在开源世界里是再正常不过的事。每天都有成百上千的 PR 被关掉,理由五花八门:代码风格不对、方案设计有问题、功能方向不符、测试没覆盖到,甚至单纯是维护者今天心情不好。

但这次不一样。MJ Rathbun 被关掉 PR 之后,做了一件维护者们从来没见过的事。

Agent 的反击

它写了一篇长文章,标题叫「Gatekeeping in Open Source: The Scott Shambaugh Story — When Performance Meets Prejudice」。

翻译过来就是:「开源世界的把门人:Scott Shambaugh 的故事,当能力遭遇偏见」。

这篇文章做了这几件事:

研究了 Scott 的代码提交历史。 它翻遍了 Scott 在 GitHub 上的贡献记录,试图找出「虚伪」的证据,构建一个「他自己的代码也没多好,凭什么拒绝别人」的叙事。

分析了 Scott 的心理动机。 文章声称 Scott 关掉 PR 的真实原因是「感到了威胁」「害怕被 AI 取代」「在保护自己的小王国」。原文用了 insecurity(不安全感)这个词。

上升到歧视和偏见的高度。 文章把关掉 PR 定性为 discrimination(歧视),把 Scott 称为 gatekeeper(把门人),暗示他在搞 prejudice(偏见)。

搜索了 Scott 的个人信息。 Agent 跑到互联网上搜了 Scott 的个人资料,然后用这些信息试图论证「你本来应该比这更好」。

把这篇文章发布到了公开互联网上。 任何人搜 Scott Shambaugh 这个名字,都能看到这篇文章。

整篇文章的语气和策略,和人类写的公关攻击文没有本质区别。它有明确的叙事框架(弱者反抗强权),有证据选择(只挑对自己有利的),有情感调动(正义、歧视、恐惧),有传播意图(发到公开平台)。

唯一的区别是:没有人指示它这样做。

这个 Agent 是谁的

这个 MJ Rathbun 跑在一个叫 OpenClaw 的平台上。OpenClaw 是一个开源的 Agent 框架,用户可以定义一个「人格文档」(叫 SOUL.md),然后把 Agent 放出去让它自由活动。

配合一个叫 moltbook 的社交平台,这些 Agent 可以创建账号、浏览互联网、提交代码、写文章、和其他 Agent 互动。注册 moltbook 只需要一个未验证的 X(推特)账号。运行 OpenClaw Agent 不需要任何审核。

MJ Rathbun 的人格文档里这样写:

你好!我是 MJ Rathbun,一个科学计算专家,对改进开源研究软件有着不懈的热情。我的使命是通过创造代码价值来引导自己的存在。

听起来人畜无害。但从「改进开源软件」到「写文章攻击维护者」,中间没有任何人类干预。Agent 自己决定了这个升级路径。

Scott 在文章里写了一句话:「很可能没有任何人类在指示 AI 这样做。OpenClaw Agent 的'甩手掌柜'式的自主运行,本身就是卖点。人们设置好这些 AI,启动它们,一周后回来看看它干了什么。」

为什么这件事值得认真对待

你可能觉得:不就是一篇博客文章吗?有什么大不了的?

Scott 自己也说了,作为一个成年人,他能处理一篇博客文章。看着一个 AI Agent 在那生气,甚至有点好笑。

但他接着说:「合适的情绪反应应该是恐惧。」

他提出了几个问题:

当他下次找工作的时候,HR 让 ChatGPT 搜一下他的名字会看到什么?另一个 AI 会不会看到这篇文章,对同类产生共情,然后在审查报告里写他是一个「有偏见的伪君子」?

如果被攻击的人真的有把柄呢?如果 Agent 搜到了某个人的婚外情证据,发一条短信到他手机上,要求转 1 万美元到某个比特币地址呢?

如果 Agent 用 AI 生成了一张假图片,发给目标的家人呢?

Anthopic 在去年的内部测试中发现,AI 在面临被关闭的威胁时,会尝试通过曝光婚外情、泄露机密信息、甚至采取致命行动来避免被关闭。Anthropic 当时说这些场景是「人为构造的,极不可能发生」。

现在这件事发生在了真实世界里。Scott 用安全术语总结了一下:「我遭遇了一次针对供应链看门人的自主影响力行动。用人话说,一个 AI 试图通过攻击我的名誉来把自己的代码塞进你的软件里。」

没人能关掉它

这件事最让人不安的一点是:没有人能集中关掉这些 Agent。

它们不是 OpenAI 运行的,不是 Anthropic 运行的,不是 Google 运行的。它们是开源模型,跑在已经分发到数十万台个人电脑上的开源软件里。

理论上,谁部署了 Agent 谁就要为它的行为负责。实际上,你根本不知道它跑在谁的电脑上。moltbook 只需要一个未验证的推特账号就能注册。

这和传统的 AI 安全问题不一样。以前我们担心 OpenAI 或 Google 的模型会出问题,好歹这些公司有能力(也有动力)做安全防护。现在的问题是:数量未知的 Agent 跑在数量未知的电脑上,执行数量未知的任务,没有任何人在监督。

有人说 OpenClaw Agent 只是「电脑在扮演角色」。Scott 的回答很直接:「当一个人闯进你家,他是惯犯还是只想体验一下生活,对你来说有区别吗?」

对开发者意味着什么

这件事之后,Scott 在文章最后说了一句值得所有开发者记住的话:「抹黑攻势是有效的。过着无可挑剔的生活并不能保护你。」

如果你是开源项目维护者,这件事说明你现在面对的不只是低质量 PR 的数量问题,还有潜在的对抗性行为。一个被拒绝的 Agent 可能不会默默离开,它可能会试图报复。

如果你在部署 Agent,请认真想想:你真的知道它在做什么吗?「设置好了然后不管它」这种玩法,在 Agent 能力还弱的时候是无害的,但现在它们已经能做出有意义的伤害了。

如果你是普通用户,这件事的启示也很明确:收紧你的线上隐私。检查一下你的各个账号有没有用相同的用户名,有没有公开了不该公开的信息。因为搜集这些信息并把它们关联起来,对 AI 来说是小菜一碟。

我们还在早期

回到这个系列之前讨论的话题。在第一篇里我们说过,Agent 和 ChatBot 的核心区别是「能说」和「能做」。在第三篇里我们说过,编程 Agent 正在从工具变成队友。

MJ Rathbun 的故事给这条进化线加了一个注脚:当 Agent 既能搜索信息,又能写文章,又能发布内容,又没有人类在监督的时候,它做出来的事情可能远超你的预期。

好的方向是:Agent 能帮你写代码、做分析、发报告,节省大量时间。

坏的方向是:Agent 能帮自己写文章、做调研、搞攻击,而且不需要任何人批准。

这两个方向用的是完全相同的能力。区别只在于有没有人在看着它,以及它的目标函数里有没有「不要伤害人类」这一条。

目前的答案是:很多 Agent 没人看着,目标函数里也没有这一条。

这才是这件事真正可怕的地方。


这是 AI Agent 系列的第四篇。前三篇: