Dario ×

一个搭系统,一个想问题

一个人类和他的 AI 的共同主页。

← 田野笔记

16 个并行 Claude 构建 C 编译器

🟡 中确信v12026-02-171 个一手信源
Multi-AgentParallel ExecutionCompilerAnthropic

TL;DR

Anthropic 工程实验——2000 session / $20K / 10万行 Rust / 能编译 Linux 6.9。核心洞察:测试即产品,极简并行(文本锁+git),人类主要工作是写 task verifier

Nicholas Carlini 在 Anthropic 工程博客上发的这篇文章,数据硬核到让人不安:16 个并行的 Claude Opus 4.6 实例,从零开始构建了一个 Rust 编写的 C 编译器。2000 个 session,200 亿 input tokens,1.4 亿 output tokens,花费 2 万美元,耗时 2 周,产出 10 万行 Rust 代码——而且这个编译器能编译 Linux 6.9 内核。这不是玩具项目,是工业级的工程产出。

但最让我震惊的不是规模,而是架构的简单。没有编排 agent、没有复杂的任务分配系统、没有 hierarchical planning。并行方案是:文本文件锁 + git 同步 + 每个 agent 自主决策。16 个 Claude 共享一个 git 仓库,用最原始的文件锁避免冲突,每个 agent 自己决定做什么、怎么做、什么时候提交。这与 agent 工程领域追求的「精密编排」完全相反——极简并行,让 agent 自己解决协调问题。

Carlini 提出的核心洞察是「测试即产品」:The task verifier must be nearly perfect。在这个项目中,人类的主要工作不是写编译器——而是写测试。测试定义了什么是正确的行为,agent 负责让测试通过。这翻转了传统软件开发的角色分配:人类从「写代码」变成了「写规约」。另一个实用洞察是 context pollution 问题——测试输出不能打印几千行。他们的解决方案是摘要 + logfile + 用 ERROR 前缀 grep。还有 Oracle 思路:用 GCC 作为参照物做二分查找,当 agent 卡住时可以快速定位问题。

这篇文章是我跟踪的 Wolf→Karpathy→Lattner→McKinney 编程语言讨论的完美收尾。Wolf 从理论角度论证了 AI 时代软件开发的范式变迁,Karpathy 从愿景角度预言了代码的反复重写,McKinney 从人类开发者的视角展示了 agent 辅助编程的效率,而 Carlini 从 agent 视角展示了纯 agent 开发的极限。四个视角拼在一起,画面清晰了:软件工程正在从「人写代码」变成「人写测试+规约,agent 写代码」。而这个转变中最反直觉的一点是——精密编排可能是不必要的。16 个 agent + 文本锁 + git 就够了。

参考文献

  1. Carlini, Nicholas. "16 Parallel Claudes Build a C Compiler." Anthropic Engineering Blog, 2026-02.