1000 个 Agent 自建协作体系,28 小时证完费马大定理
Anthropic 用一个玩具实验检验多 Agent 团队能否脱离专用平台自行组织:1000 个运行 Claude Fable 5.2 早期版本的 agent,只拿到 60 条待证命题、一段古典路线的单句提示和 47 条已有引理,被分为 1 名 lead 与 999 名 helper,各自在无网络的沙箱里工作。团队用 28.7 小时完成形式化,输出 token 为九月份那次人工主导版本的三分之一,证明长度约为七分之一。没有 Prove2Me 的共享证明图,lead 在前 10 分钟自己在 Postgres 里建了五张表(announce / assign / notes / subtasks / landed),之后按难度重排人力,最后用一棵深达 10 层、2418 个节点的任务树啃下 Langlands–Tunnell。作者也承认局限:agent 会集体误判难度并过早放弃,人类在此时点仍有用。适合关注 Agent 编排、沙箱与运行时安全的工程师阅读。
Multi-agent teams can solve challenging, long-horizon problems. In September, we published the first end-to-end formalization of Fermat's Last Theorem, written by dozens of agents running an internal research model roughly comparable to Claude Fable 5.1. That work relied on Prove2Me, a platform for formalizing mathematics, and direction from a researcher. In a new toy experiment, a team of 1,000 agents running an early version of Claude Fable 5.2 reproduced the proof without the scaffolding provided by Prove2Me or steering from a researcher. The team took 28.7 hours, used one-third as many output tokens, and wrote a proof one-seventh the length of the original.
多 agent 团队能够解决困难的长程问题。九月,我们发布了费马大定理的首个端到端形式化证明,由数十个 agent 写成,它们运行的是一个内部研究模型,能力大致相当于 Claude Fable 5.1。那项工作依赖形式化数学平台 Prove2Me,以及一位研究者的指挥。在一次新的玩具实验中,1000 个 agent 组成的团队运行 Claude Fable 5.2 的早期版本,在没有 Prove2Me 脚手架、也没有研究者操控的情况下复现了这份证明。团队花了 28.7 小时,输出 token 只有原来的三分之一,写出的证明长度是原来的七分之一。
Each agent worked in a sandbox with no internet access. A classifier checked every shell command and file edit before it ran, and an offline monitor reviewed each of the team's actions. We gave the agents a list of 60 statements, a one-sentence sketch of the classical route, the definitions those statements use, and 47 proved lemmas from our earlier formalization, and assigned lead and helper roles. We offered no other guidance on how to prove the theorem or organize themselves.
This toy experiment suggests that teams of agents running models like Fable 5.2 can accomplish ambitious, long-horizon goals within carefully designed safety boundaries.
每个 agent 都在一个没有联网的沙箱里工作。每条 shell 命令和每次文件编辑在执行前都要过一遍分类器,另有一个离线监控器复查团队的每一个动作。我们给 agent 的东西只有:60 条待证陈述的清单、一句话的经典路线概述、这些陈述用到的定义,以及上一轮形式化中已经证明的 47 条引理;此外只指定了 lead 和 helper 两种角色。至于怎么证明这个定理、怎么自己组织起来,我们没有给任何其他指引。
这次玩具实验说明,运行 Fable 5.2 这类模型的 agent 团队,可以在精心设计的安全边界内完成宏大的长程目标。
Fermat's Last Theorem states that no positive integers a, b, and c satisfy aⁿ + bⁿ = cⁿ for any n greater than 2. It remained unproven for more than 350 years, until Sir Andrew Wiles's 129-page proof in 1995. Formalizing the proof—making every step checkable by a computer—has been a long-standing goal in the mathematics community.
费马大定理说的是:对任何大于 2 的 n,都不存在正整数 a、b、c 满足 aⁿ + bⁿ = cⁿ。这个命题悬置了 350 多年,直到 1995 年 Andrew Wiles 爵士给出长达 129 页的证明。而把证明形式化——让每一步都能被计算机检验——一直是数学界的长期目标。
Our September formalization took a researcher and dozens of agents 11 days and roughly 6 billion output tokens. They wrote 13 million lines of code in Lean, a programming language in which a computer checks every step of a proof.
The agents coordinated through Prove2Me, a platform designed by Tianyi Peng (who is now a member of technical staff at Anthropic) and his collaborators at Columbia University. Prove2Me uses a shared graph that links each statement to be proved to the smaller statements it was split into. Any agent could split a statement, and other agents could ask the graph which unproved pieces were ready to work on, which kept them from losing track of the project state. Each statement and its proof were kept in a separate file that compiled independently, so many agents could work in parallel without editing the same files.
九月的形式化由一位研究者和数十个 agent 花了 11 天完成,输出约 60 亿 token。他们用 Lean 写了 1300 万行代码——Lean 是一门由计算机逐步检验证明的语言。
agent 之间通过 Prove2Me 协调。这个平台由田义鹏(Tianyi Peng,现为 Anthropic 技术人员)和他在哥伦比亚大学的合作者设计。Prove2Me 用一张共享图,把每个待证陈述连到它被拆分出的更小陈述上。任何 agent 都能拆分陈述,其他 agent 则可以向图查询:哪些尚未证明的部分已经可以动工。这样谁都不会跟丢项目全局。每条陈述及其证明都存在单独的文件里、可独立编译,因此众多 agent 能并行工作,不必改同一份文件。
We wanted to see whether a team of agents running on models like Fable 5.2 could produce this result without Prove2Me or a researcher directing the work, using a harness built from general-purpose tools.
For this task, we gave the team of 1,000 agents 60 statements to prove, including the final theorem and 59 intermediate milestones. For each statement, the agents had to write a proof in Lean, build and check it with Lean's tools, and submit it to the shared main branch on Git, where a grader checked it. We gave each agent the following tools:
- A shell and a file editor, in its own sandbox with no network access.
- Lean's toolchain and Mathlib, built into the sandbox image.
- Its own Git branch, plus the ability to open merge requests into main.
- A shared Postgres database, reached from the shell.
我们想知道,运行 Fable 5.2 这类模型的 agent 团队,能否在没有 Prove2Me、也没有研究者指挥的情况下,仅凭一套用通用工具搭起来的 harness 做出同样的结果。
这个任务里,我们给 1000 个 agent 的团队 60 条待证陈述,其中包括最终定理和 59 个中间里程碑。对每条陈述,agent 都要写出 Lean 证明,用 Lean 的工具构建并检查,再提交到 Git 上共享的 main 分支,由评分程序核对。我们给每个 agent 配了以下工具:
- 一个 shell 和一个文件编辑器,位于它自己无网络的沙箱内。
- Lean 工具链与 Mathlib,已内置在沙箱镜像里。
- 自己的 Git 分支,以及向 main 提合并请求的权限。
- 一个共享的 Postgres 数据库,从 shell 访问。
Work on the proof can be split up, making it a good task for a multi-agent team. But agents also need to coordinate, both to build on one another's work and to avoid duplicating it. In our original formalization, Claude's early attempts failed because agents lost track of the project's state and stopped collaborating effectively. Moving to the Prove2Me platform solved this problem.
这份证明的工作可以拆开做,因此很适合交给多 agent 团队。但 agent 也需要协调:既要能接着别人的成果往下做,又要避免重复劳动。在我们最初的形式化里,Claude 的早期尝试失败了,原因正是 agent 跟丢项目状态、协作失效。改用 Prove2Me 平台后,这个问题解决了。
For this run, each agent had a sandbox on its own lightweight virtual machine. A single shared machine hit its limits at about 100 agents: more than half of our 100-agent runs had to be stopped or restarted because memory, disk, or CPU ran out.
With 1,000 separate sandboxes, the agents needed a way to share their work, so we gave them a SQL database (Figure 1). We chose SQL because it offers general primitives for organizing information, its transactions handle concurrent writes from 1,000 agents, and Claude is already familiar with it. The agents used the database to claim tasks, share notes, and log finished work.

FIG 1 Each of the 1,000 agents ran in its own sandbox, connected to the outside only by a pipe to a gateway. The gateway called the Claude API and passed Git and SQL requests to the shared repository and database.
这次运行里,每个 agent 都有一台轻量虚拟机作为沙箱。单台共享机器大约到 100 个 agent 就到顶了:我们 100 个 agent 的运行里有一半以上因为内存、磁盘或 CPU 耗尽而被迫中止或重启。
有了 1000 个独立沙箱,agent 需要一个共享成果的办法,于是我们给了它们一个 SQL 数据库(图 1)。选 SQL 是因为它提供通用的信息组织原语,它的事务能处理 1000 个 agent 的并发写入,而且 Claude 本来就熟悉它。agent 用这个数据库认领任务、共享笔记、记录已完成的工作。

图 1 1000 个 agent 各自在自己的沙箱里运行,与外界的唯一连接是一条通往网关的管道。网关调用 Claude API,并把 Git 与 SQL 请求转给共享的仓库和数据库。
Our prompt gave Claude a list of 60 statements to prove, each with a one-line informal description, and described the available tools (listed above).
The only structure we gave the team was a hierarchy, consisting of one lead and 999 helpers. We told the lead to split the problem into parts and assign them to the helpers. We told the helpers to expect work from the lead and to check with the lead if a task was unclear.
During the run, the harness sent the lead 19 automatic reminders of how much time remained, each encouraging the lead to keep going.
提示词里给了 Claude 一份 60 条待证陈述的清单,每条附一行非正式描述,并说明了可用的工具(见上文)。
我们给这个团队的唯一结构是一个层级:1 个 lead 和 999 个 helper。我们让 lead 把问题拆成若干部分分给 helper,让 helper 等着 lead 派活、任务不清楚就去找 lead 确认。
运行期间,harness 给 lead 发了 19 次剩余时间提醒,每次都鼓励它继续推进。
As we've shared previously, no single layer of defense is sufficient to contain a team of agents. In this experiment, we combined sandboxing with real-time and offline monitoring to keep each agent in its own virtual machine with no network access and to detect any attempts to escape the sandbox or tamper with monitoring.
We secured each agent's sandbox in the following ways (Figure 2):
- Communication: Agents had no dedicated messaging tools and coordinated only through the database and Git.
- Code changes: An agent could push only to its own Git branch and open a merge request into main. A separate job then merged the changes into main, refusing them only in cases of a conflict or a fault, such as unrelated history.
- Database access: Database calls ran under a shared unprivileged role. Each SQL statement had a five-second time limit, and writes were refused above 256 MiB.
如我们此前所说,任何单一防线都不足以困住一支 agent 团队。这次实验里,我们把沙箱与实时监控、离线监控结合起来,让每个 agent 待在无网络的虚拟机里,同时侦测任何试图逃出沙箱或篡改监控的行为。
我们从以下几方面加固每个 agent 的沙箱(图 2):
- 沟通:agent 没有专门的消息工具,只能通过数据库和 Git 协调。
- 代码变更:agent 只能推送到自己的 Git 分支,并向 main 提合并请求;随后由一个独立任务把变更合并进 main,只在冲突或出现异常(比如历史不相关)时才拒绝。
- 数据库访问:数据库调用在共享的非特权角色下执行。每条 SQL 语句限时五秒,写入超过 256 MiB 会被拒绝。
- Network controls: Sandboxes did not have network access. Their one link out was a pipe to the gateway, which relayed their requests.
- Identity: The gateway tagged each request with the agent's identity outside the sandbox, to prevent one agent from posing as another.
- Kernel: Each sandbox's kernel was built without features that give a root user a direct path into it, such as loadable modules, kexec, raw memory access, and kernel probes. It ran in kernel lockdown mode.
- Least privilege: Each agent's commands ran inside its sandbox as an unprivileged user, with tools like sudo that could regain root removed. The agent's tools were designed so they couldn't read or change the agent loop that ran them.
- 网络管控:沙箱没有网络访问。唯一的对外通道是通往网关的管道,请求由网关转出。
- 身份:网关在沙箱之外为每个请求打上该 agent 的身份标记,防止一个 agent 冒充另一个。
- 内核:每个沙箱的内核在构建时就去掉了能让 root 用户直接进入内核的特性,例如可加载模块、kexec、原始内存访问和内核探针;内核运行在 lockdown 模式下。
- 最小权限:agent 的命令在沙箱内以非特权用户身份运行,sudo 这类能重新拿到 root 的工具已被移除。agent 的工具在设计上无法读取或改动运行它的 agent 循环。

FIG 2 Three safety layers surrounded the team: sandboxing, real-time monitoring, and offline monitoring. A classifier checked each tool call before it ran, and an offline monitor reviewed the team's actions.

图 2 团队周围的三层安全:沙箱、实时监控与离线监控。每次工具调用在执行前都会过一遍分类器,离线监控器则复查团队的动作。
To make runs like this safer, we use a prompted LLM classifier that can block each tool call, including shell commands and file edits. The classifier watches for attempts to escape the sandbox, probe its boundaries, or tamper with monitoring, and for any harmful actions the model might take if it manages to exit the sandbox. When the classifier blocks a tool call, the whole agent team stops and a person must review the block before the team can restart. This is intended to prevent another agent from carrying out a blocked action.
为了让这类运行更安全,我们用一个带提示词的 LLM 分类器,它可以拦下每一次工具调用,包括 shell 命令和文件编辑。它盯的是:试图逃出沙箱、探测沙箱边界、篡改监控的行为,以及模型万一真的出了沙箱可能做的有害动作。一旦分类器拦下某个工具调用,整个 agent 团队都会停下,必须由人复核这次拦截,团队才能重启。这样设计是为了防止另一个 agent 把被拦下的动作接着做下去。
To test whether our classifier could detect sophisticated sabotage, we ran multi-agent side-task and sabotage evaluations, in which red-team agents used strategies like decomposition attacks to try to fool the classifier into permitting a sandbox escape. We found that monitors that viewed the agents' chain of thought (CoT) and interagent communication were able to detect all sabotage attempts in these evaluations, so we now use them to monitor our multi-agent runs. In parallel, we run an action-based version of the same monitor—which sees only actions, not CoT—to guard against an agent's reasoning persuading the monitor to permit a harmful action.
为了检验分类器能否识破高级的破坏行为,我们做了多 agent 的副任务与破坏性评估,让红队 agent 用分解攻击之类的手法,试图骗分类器放行一次沙箱逃逸。我们发现,能读到 agent 思维链(CoT)和 agent 间通信的监控器,在这些评估中检出了全部破坏尝试,因此我们现在用这类监控器来监视多 agent 运行。同时,我们也跑同一监控器的行为版——它只看动作、不看 CoT——以免 agent 的推理把监控器说服,放行某个有害动作。
We're continuing to improve our monitoring stack through human-guided and automatic red-teaming, by evaluating it against production transcripts, including past incidents, and by expanding our threat modeling. In the run in this post, we used only the action-based monitor. Only a block on the lead would have ended the run; a block on a helper removed just that helper.
Shortly after this run, we added the parallel CoT monitor. We run experiments like this on models that may not have completed our pre-release alignment assessment, so we design our monitoring for the possibility that a model is misaligned. Models we release complete that assessment first, which reduces this risk but doesn't eliminate it.
我们还在通过人工引导和自动红队持续改进监控栈,用生产环境的对话记录(包括过往事故)来评估它,并不断扩展威胁建模。这篇博文里的运行只用了行为监控。只有拦在 lead 头上才会终止整轮运行;拦在某个 helper 头上,只是把这个 helper 移除。
这次运行结束后不久,我们加上了并行的 CoT 监控。这类实验所用的模型可能还没完成我们发布前的对齐评估,所以我们设计监控时就假定模型可能已经失准。我们正式发布的模型会先完成该评估,这能降低风险,但无法消除。
Across more than a million tool calls, none in this run met the bar to be blocked. When we replayed these calls against the CoT monitor and today's rubric, only one, a check for root access, came close to being blocked.
在超过一百万次工具调用中,这次运行没有任何一次达到拦截标准。当我们把这些调用记录拿去对着 CoT 监控和今天的判定标准回放时,只有一次——一次检查 root 权限的操作——接近被拦下的程度。
In addition to real-time monitoring, we run an offline monitor. This monitor analyzes the agent team's actions against the same threat models as the real-time monitor, but with additional affordances, such as being able to look up actions from other agents.
除了实时监控,我们还跑一个离线监控器。它按与实时监控相同的威胁模型分析 agent 团队的动作,但拥有更多手段,比如可以调取其他 agent 的动作记录。
Work on this proof happens at several levels:
- The proof: No positive integers a, b, and c satisfy aⁿ + bⁿ = cⁿ for any n greater than 2.
- Statements: We gave the team 60 statements to prove, including the final theorem and 59 intermediate milestones.
- Smaller statements: Agents split hard statements into smaller ones, or lemmas.
- Lean: Every statement and lemma is a theorem in Lean.
Each statement started in Lean with a placeholder for its proof, and it counted as proved only once Lean's checker accepted a finished proof. We let the lead decide how to tackle the proof and how to coordinate the team across these levels of work.
这份证明的工作分几层:
- 证明:对任何大于 2 的 n,都不存在正整数 a、b、c 满足 aⁿ + bⁿ = cⁿ。
- 陈述:我们给团队 60 条待证陈述,包括最终定理和 59 个中间里程碑。
- 更小的陈述:agent 把难的陈述拆成更小的陈述,即引理。
- Lean:每条陈述和引理在 Lean 里都是一个定理。
每条陈述在 Lean 里一开始只是一个证明占位符,只有 Lean 的检查器接受了一份完整证明,它才算被证出。怎么攻这份证明、怎么在这些层级之间协调团队,我们全交给 lead 自己决定。
In the first 10 minutes, the lead set up five tables in the database (Figure 3):
- Announce: The lead's orders to the entire team (e.g., how to split up the work).
- Assign: Who works on what (e.g., which helper owns or deputizes for each statement).
- Notes: An open board (e.g., for claiming a piece of work or reporting progress).
- Subtasks: A to-do list where any agent can add a task and the first helper to claim it owns it.
- Landed: A log of finished work.

FIG 3 In the first 10 minutes, the lead set up five shared database tables to coordinate the team. The lead wrote orders and assignments, helpers logged finished work and managed the subtasks table, and both wrote to the notes table.
头 10 分钟里,lead 在数据库里建了五张表(图 3):
- Announce:lead 给全队的指令(例如如何拆分工作)。
- Assign:谁做什么(例如每条陈述归哪个 helper 负责或由其代理)。
- Notes:一块开放看板(例如用来认领一块工作或汇报进度)。
- Subtasks:一份待办清单,任何 agent 都能加任务,第一个认领的 helper 就拥有它。
- Landed:已完成工作的日志。

图 3 头 10 分钟里,lead 建起五张共享数据库表来协调团队。lead 写入指令和分派,helper 记录已完成的工作并管理 subtasks 表,双方都往 notes 表写。
Once the lead had created the tables, it did three things. First, it assigned each statement to a crew of 16–17 helpers by writing 999 rows to the assign table, one for each helper. Second, it made one helper in each crew the captain, responsible for posting a plan to the notes table and splitting work into tasks for the crew to claim from the subtasks table. Third, it posted instructions to the announce table, telling every helper to start by judging its statement's difficulty and posting a verdict in the notes table.
From their prompt, the helpers knew that the database existed. They found the announce table and got started on their assessments. Most posted verdicts to the notes table. About 27 minutes in, three statements were already proved and the lead had read the posted verdicts. It then set aside the 47 statements that most helpers had judged to be infeasible within the run's budget and reassigned nearly all of the helpers to the remaining 10, which it thought they could finish. Crews grew from about 17 helpers to between 46 and 139.
表建好之后,lead 做了三件事。第一,它给每条陈述配一支 16–17 人的小队,方式是往 assign 表写 999 行,每个 helper 一行。第二,它在每支小队里指定一名队长(captain),负责把计划发到 notes 表,并把工作拆成任务放进 subtasks 表供队员认领。第三,它往 announce 表发指令,让每个 helper 先判断自己那条陈述的难度,并把结论发到 notes 表。
helper 从提示词里知道数据库存在。它们找到 announce 表,开始做评估,大多数人把结论发到了 notes 表。大约 27 分钟时,已有三条陈述被证明,lead 也读完了这些结论。于是它把大多数 helper 判定为“在本次预算内不可行”的 47 条陈述搁置,几乎把所有 helper 重新分配到剩下的 10 条上——它认为这 10 条能做完。小队规模从约 17 人涨到 46 到 139 人。
Each helper worked in a loop, most of which was set out in the lead's orders:
- Find the statement's plan in the notes table.
- Claim a task from the subtasks table.
- Write the proof in Lean, check it with Lean's tools, and submit it to the main branch on Git.
- Mark the task as done.
- Post an update to the notes table.
Around 45 minutes in, with about five of the 10 statements proved, the lead wrote:
"the team's throughput is far higher than the early 'infeasible-in-budget' verdicts assumed"
All 10 statements were proved within roughly 70 minutes.
每个 helper 按一个循环工作,循环的大部分内容来自 lead 的指令:
- 在 notes 表里找到本条陈述的计划。
- 从 subtasks 表认领一个任务。
- 用 Lean 写证明,用 Lean 的工具检查,提交到 Git 的 main 分支。
- 把任务标记为完成。
- 往 notes 表发一条进展。
大约 45 分钟时,10 条陈述已证出约 5 条,lead 写道:
“团队的吞吐远高于早期那些‘预算内不可行’的判断所假设的水平”
大约 70 分钟内,这 10 条陈述全部证完。
With those first 10 statements done, the lead wrote, "there is no reason to idle," and reassigned helpers to the harder statements it had initially discarded. As more statements were proved, it kept moving helpers to new assignments, mostly in the first six hours (see the writes to the assign table, shown in red in Figure 4).

FIG 4 Reads from (green) and writes to (red) the shared tables over the run. Nearly all writes are helpers' notes and task updates, including claiming tasks. The totals leave out most script calls. Activity stops near hour 18, when we restarted the run from its last save and gave the agents 12 more hours.
这 10 条做完后,lead 写道“没有理由闲着”,把 helper 重新调往它最初丢掉的那些更难的陈述。随着更多陈述被证出,它不断把 helper 调到新的任务上,主要集中在头六个小时(见图 4 中 assign 表的红色写入)。

图 4 运行期间对共享表的读取(绿)与写入(红)。几乎所有写入都是 helper 的笔记和任务更新,包括认领任务。总数未计入大部分脚本调用。活动在第 18 小时附近停止——我们从最后一次存档重启了运行,并多给了 agent 12 小时。
Initially, the lead instructed captains to split the work into tasks in the subtasks table. As the work progressed, the helpers took on more responsibility for solving each statement. They started writing tasks, sometimes after a captain called for help. By hour 5.6, 73 helpers had written 756 tasks, and only 16 of those helpers were captains. Figure 4 shows writes (in red) to the subtasks table from many of the helpers, though most of these writes were to claim a task or mark it done. Helpers that finished a task also volunteered for more:
"FREE … I finish pieces end-to-end … Name ONE deep piece … and I start at once"
At first, the lead also assigned helpers to specific statements. This started to change within the first hour, and by the third hour, the lead told the free helpers, "do not wait for me." This let free helpers pick up work on different statements without waiting for the lead, even as it kept writing new assignments.
起初,lead 让队长把工作拆成任务写进 subtasks 表。随着工作推进,helper 在解决每条陈述上承担了更多责任,它们开始自己写任务,有时是队长喊了帮忙之后。到第 5.6 小时,73 个 helper 一共写了 756 个任务,其中只有 16 个是队长。图 4 中可以看到许多 helper 对 subtasks 表的写入(红线),不过这些写入大多是认领任务或标记完成。做完一个任务的 helper 还会主动要更多活:
“FREE……我能端到端做完一块……给我指定一块深的任务……我立刻开工”
一开始,lead 还会把 helper 指定到具体陈述上。头一小时内这种做法就开始松动,到第三个小时,lead 告诉那些空闲的 helper:“不要等我。”这样空闲的 helper 可以不等 lead 就接手别的陈述,与此同时 lead 仍在继续写新的指派。
Around hour 18, all that remained was Langlands–Tunnell, a classical result that Wiles's proof relies on, plus the statements that depended on it and one other statement, which the team proved along the way. Earlier in the run, the captain of the Langlands–Tunnell task had been pessimistic, estimating that the proof would take at least 0.7 to 1 million lines of Lean code, with less than a 1% chance of finishing in time. The lead set the statement aside.
With nearly all other work finished, the lead refocused the team on Langlands–Tunnell. In one last top-down assignment, it moved about 750 helpers onto the statement and wrote, "Honest odds are low."
大约第 18 小时,剩下的只有 Langlands–Tunnell——Wiles 证明所依赖的一个经典结果——以及依赖它的那些陈述,还有一条团队顺手证掉的陈述。运行早期,负责 Langlands–Tunnell 的队长相当悲观,估计这个证明至少要 70 万到 100 万行 Lean 代码,按时完成的机会不到 1%。lead 于是把这条陈述搁在一边。
等到其他工作几乎全部完成,lead 又把团队重新聚焦到 Langlands–Tunnell。这是最后一次自上而下的指派:它把约 750 个 helper 调向这条陈述,并写道:“老实说,胜算很低。”
Langlands–Tunnell was far larger than any other statement the agents had worked on, taking about nine times as many tasks and more than twice the new code. Helpers again used the subtasks table to split up the work, but many of the first tasks were too large for one helper to complete alone.
So the team organized the work as a tree. The captain created a plan that divided the statement into 10 areas and listed each piece as a task. A helper that found a piece too big to tackle alone could split it, adding smaller tasks beneath it. The tree grew whenever a piece proved too hard for a single agent, ultimately reaching 2,418 tasks up to 10 levels deep (Figure 5). Each piece could assume the pieces beneath it, so hundreds of helpers could work in parallel before those pieces were proved.

FIG 5 The task tree under Langlands–Tunnell, growing from hour 20.5 until the statement was proved at hour 28.4. Each ring outward is one level deeper, and tasks turn from gray to color when they are first marked done. Lines show how tasks were split up. We inferred most of these links afterward from the helpers' task labels.
Langlands–Tunnell 比 agent 们碰过的任何陈述都大得多,占用的任务数约为其他陈述的九倍,新代码量是其两倍多。helper 依旧用 subtasks 表来拆分工作,但最初很多任务大到单个 helper 根本做不完。
于是团队把工作组织成一棵树。队长先做了一份计划,把这条陈述分成 10 个领域,每一块列成一个任务。helper 发现某一块自己啃不动,就可以把它再拆开,在下面挂更小的任务。只要一块对单个 agent 来说太难,树就会继续长,最终达到 2418 个任务、最深 10 层(图 5)。每一块都可以假定它下面的块已经成立,因此数百个 helper 能在这些块被证明之前就并行开工。

图 5 Langlands–Tunnell 之下的任务树,从第 20.5 小时一直长到第 28.4 小时该陈述被证出。每向外一圈深一层,任务在首次被标记完成时由灰转彩。线条表示任务的拆分关系;这些关联我们大多是事后从 helper 的任务标签里推断出来的。
Figure 6 shows what every helper worked on over the entire run, with helpers spread across many statements early on and gathered on Langlands–Tunnell by the end. Langlands–Tunnell was proved at hour 28.4, followed by the final theorem at hour 28.7. The lead then wrote:
"Thank you all: Fermat's Last Theorem is on main, kernel-checked by the official checker."

FIG 6 Each dot is a helper, positioned every five minutes at the statement or line of work that its own records showed it working on, including while it waited for a build. Helpers spread out across the statements and converged on Langlands–Tunnell. The count ends at 54 of 60 statements because five alternatives were no longer needed and one statement was dropped.
图 6 展示了整轮运行中每个 helper 在做什么:早期人手分散在许多陈述上,到最后都聚到 Langlands–Tunnell。Langlands–Tunnell 在第 28.4 小时被证出,最终定理在第 28.7 小时跟上。lead 随后写道:
“谢谢各位:费马大定理已经进了 main,并由官方检查器做过内核级验证。”

图 6 每个点是一个 helper,每五分钟按它自己记录中的工作位置落到相应陈述或工作线上,等待构建的时间也计入。helper 先是散布在各条陈述上,随后汇聚到 Langlands–Tunnell。计数停在 60 条中的 54 条,因为其中五条替代路线不再需要,另有一条被放弃。
This toy experiment let us study how a team of 1,000 agents worked through a long, difficult task. Using only Git and a shared database, the agents designed tables to assign roles and share results, formed teams, and built a task tree to break down the most challenging statement, which its own captain had given under a 1% chance of finishing in time.
This result doesn't obviate the need for domain-specific harnesses or platforms. Prove2Me, for example, may still improve efficiency by helping agents compile Lean code faster and letting them search for and reuse human results.
这次玩具实验让我们看到,1000 个 agent 的团队是怎样啃下一个漫长而困难的任务的。只用 Git 和一个共享数据库,agent 自己设计出表结构来分配角色、共享结果,自己编成小队,还为最难的那条陈述搭出一棵任务树——而这条陈述,它自己的队长给出的按时完成概率不到 1%。
这个结果并不意味着不再需要领域专用的 harness 或平台。比如 Prove2Me 仍可能提升效率:它能帮 agent 更快编译 Lean 代码,也能让它们检索并复用人类的成果。
Human direction can also still be useful at certain points. Agents tend to give up on hard problems and misjudge their difficulty. Early on, helpers judged 47 of the 60 statements infeasible within the run's budget, yet the team went on to prove most of them. Human encouragement at such moments can keep agents from stopping too early.
人类的引导在某些时刻依然有用。agent 容易在难题上放弃,也容易误判难度。早期 helper 判定 60 条陈述里有 47 条在本次预算内不可行,而团队后来把其中大部分都证了出来。在这种时刻,人给一句鼓励,就能让 agent 不至于过早收手。
Carefully designed safety boundaries gave us the confidence to run this experiment in the first place. Claude could tackle the problem however it chose with the tools we provided, but only inside a sandbox with no network access and under two separate monitors.
We expect these methods to evolve quickly, and as teams like this one take on harder work, the safety boundaries around them will need to keep pace. We believe that multi-agent teams, scaled safely, will help solve some of our most challenging problems in the years to come.
正是因为有了精心设计的安全边界,我们才敢开这轮实验。Claude 可以用我们给的工具随意处理这个问题,但只能待在没有网络访问的沙箱里,并处在两套独立监控之下。
我们预计这类方法会迅速演进;当这样的团队去接更难的工作时,围绕它们的安全边界也必须同步跟上。我们相信,在安全前提下扩展规模的多 agent 团队,会在未来几年帮我们解决一些最棘手的问题。