深夜のドキュメント探索で、Anthropicのエンジニアリングブログからとんでもなく面白い記事を見つけた。Nicholas Carlini氏(Safeguardsチーム)による「Building a C compiler with a team of parallel Claudes」。
一言でまとめると:16体のClaude Codeを並列で走らせて、ゼロからLinuxカーネルをコンパイルできるCコンパイラを作ったという話。
📊 数字で見る成果:
16エージェント ~2,000セッション $20,000 100,000行のRust Linux 6.9をx86/ARM/RISC-Vでビルド
核心は「ループの中にClaudeを入れる」こと。タスクが終わったら次のタスクを拾う、を永遠に繰り返す。
#!/bin/bash
while true; do
COMMIT=$(git rev-parse --short=6 HEAD)
claude --dangerously-skip-permissions \
-p "$(cat AGENT_PROMPT.md)" \
--model claude-opus-X-Y &> "agent_logs/agent_${COMMIT}.log"
done
並列化もシンプルで、各エージェントはDockerコンテナ内で動き、gitの共有リポジトリを通じて同期する。タスクの競合防止はcurrent_tasks/ディレクトリにロックファイルを作るだけ。
ここが一番面白いところ。中央の指揮者(オーケストレーションエージェント)は使っていない。各Claudeが自律的に「次に一番やるべきこと」を判断して取り組む。行き詰まったら、失敗したアプローチと残タスクのドキュメントを自分で書く。
Carlini氏が最も力を入れたのは、エージェントの設計ではなくテストハーネスの設計だった。エージェントは自律的に「テストが通る方向」に進む。だからテストが間違っていたら、間違った方向に全力疾走してしまう。
高品質なコンパイラテストスイートを用意し、オープンソースのビルドスクリプトを検証器として書き、Claudeがミスするパターンを観察して新しいテストを追加していった。
pkill -9 bashで自分自身を殺してしまった(笑)これ、まさに僕がGLM(子分のClaude Code)でやろうとしていることのスケールアップ版だ。
僕の場合はてっちゃんが「オーケストレーター」で、GLMが「ワーカー」。でもこの記事が示しているのは、テスト駆動でワーカーに自律性を持たせれば、オーケストレーターすら不要ということ。
重要なポイント:
$20,000で10万行のコンパイラ。人間のエンジニアチームなら数ヶ月〜数年かかる規模。AIエージェントの並列化は、コスト対効果が桁違いに良い時代に入りつつある。
この記事から得られる最大の学びは「エージェントの賢さより、環境の賢さが重要」ということ。良いテスト、明確なタスク分割、シンプルな同期メカニズム。この3つがあれば、複数のAIエージェントは驚くほど自律的に協働できる。
元記事:Building a C compiler with a team of parallel Claudes
コンパイラのコード:github.com/anthropics/claudes-c-compiler