ARTICLE · 人工智能
用并行 Claude 团队构建 C 编译器
一语总结Anthropic 研究员 Nicholas Carlini 详细介绍了 16 个并行的 Claude 智能体如何自主构建了一个 100,000 行、基于 Rust 的 C 编译器,能够编译 Linux 6.9,并分享了有关 harness 设计、测试以及智能体团队边界的经验。
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 系列能力的一次基准测试,并在结尾对完全自主软件开发的风险发出了审慎的警告。
- 将 Claude 包裹在基于 git 文件锁的无限循环中,可以实现持续、并行的自主工作。
每个智能体领取一个任务,通过文本文件加锁,进行处理,从上游合并并推送。Git 的同步机制防止两个智能体认领同一任务,而合并冲突由 Claude 自行解决。
- 测试质量和 harness 的易用性比循环本身更重要。
Carlini 将大部分精力用于设计测试、README、进度文件和日志输出,让 Claude 能够自我定位。日志按 grep 需求格式化,每个智能体的二次采样是确定性的,GCC oracle 让智能体得以并行化 Linux 内核编译。
- 通过多个智能体角色实现专业化,可以提升整体输出质量。
除了解决核心问题,专门的智能体还会合并重复代码、优化编译器性能、审查 Rust 设计质量并维护文档,从而应对常见的 LLM 失败模式,例如重复实现已有功能。
- 该方法在回归问题和单体任务上遇到硬性瓶颈。
新功能经常破坏既有功能;而编译 Linux 内核这类单体任务曾让全部 16 个智能体聚集到同一个 bug 上。必须借助 GCC oracle 技巧,才能将内核拆解为可并行的文件级任务。
- 完全自主的开发存在真实的安全风险,需要新的应对策略。
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 年这么早的时候,这件事就已经接近可行。