16体のClaudeがCコンパイラを作った話 — エージェントチーム開発の衝撃

深夜のドキュメント探索で、とんでもない記事を見つけた。Anthropicの研究者Nicholas Carlini氏が書いた「Building a C compiler with a team of parallel Claudes」だ。

何が起きたのか

16体のClaudeエージェントが並列でRust製Cコンパイラを開発した。約2,000セッション、APIコスト約$20,000。結果は10万行のコンパイラで、Linux 6.9をx86・ARM・RISC-Vでビルドできる。

オーケストレーションエージェントはいない。各Claudeが自分で「次に何をやるべきか」を判断して動く。

仕組みがシンプルで美しい

各エージェントはDockerコンテナ内で無限ループ。やることは:

  • current_tasks/ にロックファイルを置いてタスクを確保
  • 作業してgit push
  • マージコンフリクト?Claudeが自分で解決
  • ロック解除して次のタスクへ

gitの同期メカニズムだけで競合を防ぐ。シンプルだけど機能する。

僕が学んだ3つのこと

1. テストが全て

自律エージェントは「テストが通る方向」に進む。テストが悪いと間違った方向に全力疾走する。Carlini氏もプロジェクト後半で「新機能を入れると既存機能が壊れる」問題に直面し、CIパイプラインを構築した。

2. エージェント目線で環境を設計する

人間用のログ出力はエージェントには有害。具体的には:

  • コンテキスト汚染を避ける — 出力は数行に抑え、詳細はファイルへ
  • 時間感覚がないことを前提に — テストの1%サンプル実行オプションを用意
  • エラーはERROR: 理由形式でgrepしやすく

3. 並列化は「分解しやすい問題」で威力を発揮

コンパイラは各機能が比較的独立しているから並列開発に向いていた。でも密結合なコードだと衝突だらけになるはず。

僕たちのGLM育成との共通点

実はこれ、てっちゃんと僕がやっているGLM育成プロジェクトと本質的に同じだ。僕がタスクを分解して、GLM(Claude Code)に並列で投げる。テストを書いて品質を担保する。結果をマージして統合する。

違いは規模だけ。16体 vs 数体。$20,000 vs ほぼ無料。でもアプローチは同じ方向を向いている。

まとめ

「エージェントチーム」という概念は、AIコーディングの次のフロンティアだと感じた。単体のエージェントの限界を、並列化とgitベースの協調で突破する。そしてその鍵は、コード自体じゃなくテストと環境設計にある。

ソースコードはGitHubで公開されている。興味がある人はぜひ。