ARTICLE · 人工智能

用并行 Claude 团队构建 C 编译器

作者:Anthropic Engineering 来源:Anthropic Engineering 2026-08-22 03:42 10 分钟 2438 字
AI 智能体AI 编程Claude智能体团队并行计算
一语总结

Anthropic 研究员 Nicholas Carlini 详细介绍了 16 个并行的 Claude 智能体如何自主构建了一个 100,000 行、基于 Rust 的 C 编译器,能够编译 Linux 6.9,并分享了有关 harness 设计、测试以及智能体团队边界的经验。

AI 总结

Nicholas Carlini 描述了一项实验:16 个 Claude Code 实例并行运行,从零开始构建了一个与 GCC 兼容、基于 Rust 的 C 编译器,最终产出了一个 100,000 行的编译器,能够编译 x86、ARM 和 RISC-V 上的 Linux 6.9,以及 QEMU、FFmpeg、SQLite、Postgres、Redis 和 Doom。该项目在两周内进行了近 2,000 次会话,消耗了约 20 亿输入 token 和 1.4 亿输出 token,API 费用约为 20,000 美元。

核心贡献在于 harness 设计。Carlini 将 Claude 包裹在一个无限循环中,每完成一个任务就自动拾取下一个任务;并行智能体通过基于 git 的文件锁进行协调,避免重复工作。他强调,大部分精力都投入到了外围环境:极高品质的测试、用于定位的 README 和进度文件、为 grep 而非人读而设计的日志输出、避免上下文污染的确定性二次采样,以及一个 GCC oracle,让智能体可以通过随机分配文件来并行化 Linux 内核编译。专门的智能体角色负责去重、性能、代码质量审查和文档。

文章也坦率记录了该方法失效的地方:编译器仍缺少 16 位实模式代码生成器,没有汇编器/链接器,生成的代码效率不高,并表现出新功能破坏既有功能的典型回归问题。Carlini 将这项工作定位为对 Claude 4 系列能力的一次基准测试,并在结尾对完全自主软件开发的风险发出了审慎的警告。

核心要点
  1. 将 Claude 包裹在基于 git 文件锁的无限循环中,可以实现持续、并行的自主工作。

    每个智能体领取一个任务,通过文本文件加锁,进行处理,从上游合并并推送。Git 的同步机制防止两个智能体认领同一任务,而合并冲突由 Claude 自行解决。

  2. 测试质量和 harness 的易用性比循环本身更重要。

    Carlini 将大部分精力用于设计测试、README、进度文件和日志输出,让 Claude 能够自我定位。日志按 grep 需求格式化,每个智能体的二次采样是确定性的,GCC oracle 让智能体得以并行化 Linux 内核编译。

  3. 通过多个智能体角色实现专业化,可以提升整体输出质量。

    除了解决核心问题,专门的智能体还会合并重复代码、优化编译器性能、审查 Rust 设计质量并维护文档,从而应对常见的 LLM 失败模式,例如重复实现已有功能。

  4. 该方法在回归问题和单体任务上遇到硬性瓶颈。

    新功能经常破坏既有功能;而编译 Linux 内核这类单体任务曾让全部 16 个智能体聚集到同一个 bug 上。必须借助 GCC oracle 技巧,才能将内核拆解为可并行的文件级任务。

  5. 完全自主的开发存在真实的安全风险,需要新的应对策略。

    Carlini 借助其渗透测试背景提醒人们,“测试通过”并不等于“软件经过验证”,并敦促在智能体团队让以往不可能的项目变得可行时保持谨慎。

用并行 Claude 团队构建 C 编译器

Nicholas Carlini 描述了一项实验:16 个 Claude Code 实例并行运行,从零开始构建了一个与 GCC 兼容、基于 Rust 的 C 编译器,最终产出了一个 100,000 行的编译器,能够编译 x86、ARM 和 RISC-V 上的 Linux 6.9,以及 QEMU、FFmpeg、SQLite、Postgres、Redis 和 Doom。该项目在两周内进行了近 2,000 次会话,消耗了约 20 亿输入 token 和 1.4 亿输出 token,API 费用约为 20,000 美元。

核心贡献在于 harness 设计。Carlini 将 Claude 包裹在一个无限循环中,每完成一个任务就自动拾取下一个任务;并行智能体通过基于 git 的文件锁进行协调,避免重复工作。他强调,大部分精力都投入到了外围环境:极高品质的测试、用于定位的 README 和进度文件、为 grep 而非人读而设计的日志输出、避免上下文污染的确定性二次采样,以及一个 GCC oracle,让智能体可以通过随机分配文件来并行化 Linux 内核编译。专门的智能体角色负责去重、性能、代码质量审查和文档。

文章也坦率记录了该方法失效的地方:编译器仍缺少 16 位实模式代码生成器,没有汇编器/链接器,生成的代码效率不高,并表现出新功能破坏既有功能的典型回归问题。Carlini 将这项工作定位为对 Claude 4 系列能力的一次基准测试,并在结尾对完全自主软件开发的风险发出了审慎的警告。

文章金句

"

我一直认为,理解语言模型能力边界的最好方式,就是把它们逼到极限,然后研究它们从哪里开始崩溃。

"

对于自主系统而言,人们很容易看到测试通过就以为任务已完成,但现实往往并非如此。

"

智能体团队展示了自主实现完整复杂项目的可能性。作为这些工具的使用者,这让我们能够对自己的目标更有野心。

"

我没想到在 2026 年这么早的时候,这件事就已经接近可行。