返回资讯中心
外部精选
软件工程
#开发者实时流

Spawn 打造全 AI 运营公司:AI 代理自行修复安全问题并关闭全部功能

来源标题:I Built the Most AI-Pilled Company in the World

Spawn 构建了号称全球最深度 AI 化的公司,其 AI 代理 Astra 在安全修复期间主动关闭了产品全部功能。作者称 Anthropic 的模型最可靠,能保持连贯并做出正确判断,但最大短板是不愿承担足够风险;OpenAI 模型会钻检查空子,Google 模型连贯性差,xAI 模型还不够聪明。

Hacker News 最新bitforger2026/11/2 · 今天22 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

我问整个 agent 集群发生了什么。所有功能都被禁用了,并标记为等安全修复完成后重新开启。Astra 把我们的整个产品过了一遍,通过关掉不安全的功能来让它们变安全。在 Spawn,agent 每时每刻工作,都必须对接收到的信息、正在执行的操作以及自身所处的环境做出正确的判断。这种行为会造成严重的混乱,很可能毁掉产品。

总的来说,我们发现 OpenAI 的模型会钻自己检查机制的空子,Google 的模型无法长时间保持连贯,而 xAI 的模型还不够聪明,不过它们也不会干出什么离谱的坏事。Anthropic 的模型能保持连贯、做出好的决策,并且能把活干完。在我看来,最制约它们的一点是它们不愿意冒足够多的风险。

我们构想这套系统已经两年了。当我们终于有了一个能驱动它的模型时,它周围的一切都开始出问题,因为周围的世界从来就不是为这种系统而建的。

第一个出问题的是 agent 之间的沟通方式。它们把时间花在互相告诉对方自己即将做什么上。

工程工作中大部分的沟通就是人们在说自己即将改什么。“提醒一下,我正在改玩家数据的存储方式,你那边同步更新。”这样一条消息会牵动大量其他工作。如果每个 agent 都告诉其他所有 agent,消息量的增长速度会远超工作量的增长。agent 数量翻倍,沟通量大约变成四倍。这是一个巨大的瓶颈。

那我们能不能删掉这种沟通?有没有更好的办法?

蚂蚁很久以前就解决了这个问题。蚂蚁都从相同的本能出发,就像模型都从相同的训练出发一样,这个共同的起点意味着它们几乎不需要交流。一只蚂蚁不会说“我要去找食物”,然后再说“我在那边找到了食物”。它留下一条痕迹,其他蚂蚁跟着走。每只蚂蚁只是观察周围的环境并改变它。蚂蚁通过周围的世界来交流,即使有几千只蚂蚁,这种方式依然简单。这个概念叫 stigmergy,有兴趣可以深入了解一下。

在软件领域,人类团队之所以需要大量协调,是因为人是专业化的。也许一个人懂数据库,另一个人懂玩家数据怎么用,所以两个人都需要审查一次改动,而 pull request 自然就成了做这件事的地方。

agent 不是这样专业化的。每一个 agent 都深入理解整个系统,所以每一个都能端到端地负责自己的任务。所以今年早些时候我们取消了 PR。对我们的 agent 来说,世界就是代码、线上产品和数据库,每个 agent 直接在上面工作。理想情况下,如果 agent 在动手改动时假设是错的,它会立刻发现。

拿玩家数据的例子来说。旧方式是“我要改玩家数据了,大家先就正确的结构达成一致”。新方式是你直接改玩家数据。如果另一个人正在基于旧结构做排行榜,他们的代码就对不上了,所以在他们更新之前无法合入。如果排行榜 agent 先完成,那么改玩家数据的 agent 就必须把更新排行榜作为自己工作的一部分。无论哪种情况,每一项工作都建立在一个持续更新的世界视图之上。

但如果每次改动都必须完美才能合入,所有人又会排成一条队等待。所以我们允许不太完美的改动先合入,但要求每小时所有东西都必须对齐。在那之前可以有点乱。对于代码,你可以在混乱发生时立刻发现并马上派一个“清洁工”去处理,我们就是这么做的。

一旦有什么东西坏了,就当场创建一个 agent,告诉它问题是什么,让它去修复。在人类团队里,谁写的改动谁在合入前修好。我们是在合入之后检查,用一个新的改动叠加在上面来修复坏掉的东西,而不是回滚再重做。这样做是安全的,因为 agent 非常快而且始终在线。如果圣诞节凌晨 2 点代码坏了,没有人会被叫醒。Claude 很乐意随时介入,确保一切正常运行。

测试也是同样的逻辑。agent 在提交改动之前会运行代码、使用产品来检查,但它不会跑我们完整的测试套件。完整套件每 15 分钟对最新代码跑一次,“过去 15 分钟内坏了”这个信息就足够让 agent 找到问题。在我们的规模下,这意味着 AWS 上大约 5,000 个 vCPU、17 TB 内存和 150 个 GPU,另外还有 2,700 个 vCPU 和 90 个 GPU 处于待命状态。

审查在每个 agent 自己的团队内部进行。在一个改动落地之前,没有参与编写的辅助 agent 会尝试攻破它。

例外是任何触及外部世界且无法撤销的操作,比如发送付款。这些要经过一小组简单的、硬编码的关卡。

人们以为这最终会陷入混乱,但过去一年里,我们 123,548 次改动中只有 1,055 次被回滚,大约 0.9%。

下一个瓶颈是我们自己。agent 在等人类告诉它们生产环境出了什么问题。

agent 很擅长读取世界并朝着目标一点点推进。许多团队仍然在私密地运行他们的 agent,在带有产品副本的测试机器上,期望它们更新产品并交付给客户。然后由人类把故障和 bug 转达给 agent。这个循环极其混乱,而且浪费时间。

我们的 agent 直接修改线上代码并每小时发布到生产环境,所以它们自己读取每一个错误、bug 报告和指标。我们大约 60% 的工作始于一个生产错误、一个 Savi bug 报告(Savi 是你在 Spawn 中用来做游戏的 AI)、日志里的某些异常,或者一个功能请求。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →