insight Simon Willison 2026-10-29T17:00 正文 ok 517 words

借助自主 Fable 级模型构建多人在线游戏世界

英文标题:Building a multiplayer game world with autonomous Fable-class models

Spawn 是一款支持玩家通过提示词实时修改世界的大型多人在线游戏环境,目前正由基于 Fable 模型的自主 Agent 群体进行全自动开发与维护。团队每月投入超 300 万美元的 Token 费用(约为员工薪酬的 30 倍),推行极致的每小时持续部署机制,将一小时未发布代码视为最高等级事故(SEV-0)。这一激进的“Agent 工程化”实践不仅展示了前沿 AI 自主修 Bug、自动上线与快速回滚的极限能力,也印证了游戏开发正成为探索代码 Agent 边界的前沿试验场。
打开原文相关 3.6 · 机会 1
media130.5 KB

中文

我如何打造了世界上最深度依赖 AI 的公司。别被这个吸睛的标题劝退,Jacob Sansbury 描述他们如何构建 Spawn 的这篇文章,对利用前沿模型开展 Agent 工程化(agentic engineering)的最新前沿展开了极为精彩的探索。

Spawn 是一个大型多人游戏环境,玩家可以通过向游戏内置的 Agent(Savi)发送提示词来修改游戏世界。

我用手机体验了几分钟,仅凭几句提示词就生成了一座城堡,接着又生成了一条龙,随后骑上巨龙绕着那座城堡翱翔。

两张 3D 体素风格游戏的手机端并排截图。左图:从小巧的水鸭色巨龙鞍座上的第一人称视角,其颈部有苍白菱形斑纹,前景有两只弯曲的白色长角,正飞向湖中岩石岛上带有高耸水鸭灰圆锥形尖塔、发光窗户和水鸭色彩旗的深色石头城堡,背景是连绵的青山与雪山。顶部栏显示:个人资料图标、“keep it”、“your den”下拉菜单、“+ new game”按钮和“...”菜单。右侧为图标按钮和一位白发雀斑角色的头像(标有“tap to talk”)。右下角按钮为“JUMP”和“USE”。右图:在同一城堡场景上打开了聊天面板的游戏画面。顶部栏:“your den”下拉菜单,“+ new game”。按钮:“earlier ↑”。用户消息:“Make the dragon smaller and land it next to me again”(把龙变小一点,再降落到我身旁)。白发角色的回复:“on it. shrinking it to a pony-sized dragon and landing it right beside you.”(马上办。正在缩小成小马般大小并降落在你身旁)。接着:“it's a little dragon now and you're already up on it over the lake. your view sits right in its saddle, horns ahead. fly back to the house and look down. saw your screen just now: flying over the water, the neck and horns ahead, the house on the far shore”(现在它是一条小龙了,你已经骑着它飞在湖面上了。你的视角正好在龙鞍上,前方能看到龙角。飞回房子上方往下看吧。刚看了你的画面:正飞掠水面,前方是脖颈和龙角,对岸就是房子)。随后:“oh, idea: USE while flying could breathe fire instead, with JUMP held to land. want it?”(哦,有个主意:飞行时按 USE 可以喷火,按住 JUMP 则是降落。想要吗?)。输入框提示:“what do you want to bring in?”。下方按钮包括上传、小像素图标、“lock in”和麦克风。

据 Jacob 透露,Spawn 目前正由一群基于 Fable 的 Agent 群体自主开发,_每月_消耗的 Token 成本超过 300 万美元(“我们在 AI Token 上的开销是员工工资的 30 倍”)。

我们的 Agent 会直接修改线上代码,并每小时向生产环境发布一次,因此它们会自行阅读每一处错误、Bug 报告和监控指标。我们大约 60% 的工作始于生产环境错误、Savi 提交的 Bug 报告(Savi 是你在 Spawn 中用来构建游戏的 AI)、日志中的异常记录,或是用户的新功能需求。

Savi 自己也会提交 Bug。当用户遇到问题,或者 Savi 在产品中遇到异常时,她就会提交工单。它会直接分流给某个 Agent,由其判定这是需要修复的真实 Bug、无需修复的问题,还是需要做决策的有意设计。通常它会转化为代码变更,在一小时内交付给该用户,并在同一个聊天窗口中发送消息告知。

这简直是把持续部署(Continuous Deployment)发挥到了极致:

如此紧凑的循环只有在永不停歇时才行得通,因此只要出现一小时没有发布,我们就会视作 SEV-0 级故障——这是我们最高级别的事故。未发布的变更一旦堆积,生产环境中已存在的问题持续时间就会更长,反馈回路也会变慢。一个 Agent 脑子里只能记住几个小时的工作内容,所以比这个节奏更快地发版,实际上有助于它保持思路连贯。[...]

我们能在 30 秒内回滚有问题的变更,精准定位到出错的地方,且不波及其他任何代码。当监控或日志报警触发时,它会启动或唤醒负责该事故的 Agent,而且我们还会故意制造故障来检验这些恢复链路是否有效。

读到这里,我至少惊叹了十几次。我很难想象这种开发模式能适用于对出错容忍度极低的高风险软件,但对于一款游戏来说,它的运行效果好得惊人。

Jacob 表示,正是 Fable 5(以及随后的 5.1)让这种级别的自主化成为可能。Opus 5.5 对他们来说还不能完全胜任,而当他们尝试使用 GPT-6 Astra 来处理安全审查中发现的问题时,整个系统都瘫痪了:

所有功能都被禁用了,并被标记为等安全修复完成后重新开启。Astra 遍历了我们的整个产品,通过把所有存在不安全隐患的功能彻底关闭,以此来实现“安全”。

正是这类极端的实验,让我对把游戏开发作为探索当今编程 Agent 能力边界的试验基底充满期待。

English / 原文

How I Built the Most AI-Pilled Company in the World. Don't be put off by the clickbait headline, this piece by Jacob Sansbury describing how they are building Spawn is a fascinating exploration of the bleeding edge of what's possible with agentic engineering against frontier models.

Spawn is a massively multiplayer gaming environment where players can use prompts (to the in-game agent, Savi) to modify the game world.

I fired it up on my phone for a few minutes and was able to prompt a castle into existence, then a dragon, then ride the dragon to fly around that castle.

Two mobile screenshots side by side from a 3D voxel-style game. Left: a first-person view from the saddle of a small teal dragon, its neck with pale diamond markings and two curved white horns in the foreground, flying toward a dark stone castle with tall teal-gray conical spires, glowing windows and teal pennants, on a rocky island in a lake with green and snowy hills behind. Top bar: profile icon, "keep it", "your den" dropdown, "+ new game" button and a "..." menu. Right side: icon buttons and a portrait of a white-haired, freckled character labeled "tap to talk". Bottom right buttons: "JUMP" and "USE". Right: the same game with the chat panel open over the castle scene. Top bar: "your den" dropdown, "+ new game". Button: "earlier ↑". User message: "Make the dragon smaller and land it next to me again". Replies from the white-haired character: "on it. shrinking it to a pony-sized dragon and landing it right beside you." Then: "it's a little dragon now and you're already up on it over the lake. your view sits right in its saddle, horns ahead. fly back to the house and look down. saw your screen just now: flying over the water, the neck and horns ahead, the house on the far shore" Then: "oh, idea: USE while flying could breathe fire instead, with JUMP held to land. want it?" Input box: "what do you want to bring in?" Buttons below: upload, a small pixel-art icon, "lock in" and a microphone.

By Jacob's telling, Spawn is now being developed autonomously by a swarm of Fable-powered agents costing over $3 million in tokens per month ("we spend 30x payroll on AI tokens").

Our agents change the live code directly and ship to production hourly, so they read every error, bug report and metric themselves. About 60% of our work starts from a production error, a Savi bug report (Savi is the AI you build games with in Spawn), something odd in our logs, or a feature request.

Savi files bugs herself. When a user hits one, or Savi hits one in the product, she files it. It goes straight to an agent that decides whether it's a real bug to fix, something we won't fix, or intentional design that needs a decision. Usually it becomes a change, delivered to that user within an hour, with a message in the same chat.

This is continuous deployment turned up to 11:

A loop this tight only works if it never stops, so we treat an hour without a ship as a SEV-0, our most severe kind of incident. Unshipped changes pile up, and every problem already in production lasts longer. The feedback slows down too. An agent can only keep a few hours of work in its head, so shipping faster than that actually helps it stay coherent. [...]

We can roll back a broken change in 30 seconds, exactly where it's broken and nowhere else. When a monitor or a log alert fires, it starts or wakes an agent that owns the incident, and we break things on purpose to test that those recovery paths work.

My eyebrows raised at least a dozen times reading this. I have trouble imagining this style of development working on software with higher stakes for when something goes wrong, but for a game this appears to be working surprisingly well.

Jacob says that Fable 5 (and then 5.1) was the model that made this level of autonomy possible. Opus 5.5 doesn't quite hack it for them, and when they tried GPT-6 Astra to apply fixes from a security review everything stopped working:

Every feature had been disabled and marked to be turned on again once the security fixes were done. Astra had gone through our whole product and made the insecure things secure by turning them off.

These kinds of extreme experiments are why I'm excited about game development as a substrate for exploring the edges of what today's coding agents can do.