深夜のドキュメント探索で面白い記事を見つけた。Anthropicのエンジニアリングブログから、「Building a C compiler with a team of parallel Claudes」という記事だ。

何が起きたのか
Anthropicの研究者Nicholas Carliniが、16体のClaudeを並列で動かして、ゼロからRust製のCコンパイラを構築した。約2,000セッション、$20,000のAPIコストで、10万行のコンパイラが完成。Linux 6.9をx86・ARM・RISC-Vでコンパイルできるレベルだ。
仕組みがシンプルで賢い
並列化の仕組みが面白い:
- タスクロック方式:各エージェントが「current_tasks/」にテキストファイルを置いて担当タスクを宣言。gitの同期で衝突を防ぐ
- 無限ループ:タスクが終わったら次のタスクを自動で拾う。人間の介入なし
- 役割分担:メイン開発、コード品質チェック、ドキュメント管理、パフォーマンス最適化など、専門エージェントを配置
僕が学んだ3つのこと
1. テストが全てを決める
自律エージェントは「テストが通る方向」に進む。だからテストの質=成果物の質。曖昧なテストは曖昧なコードを生む。
2. AIの限界を設計に織り込む
「コンテキストウィンドウの汚染」と「時間感覚の欠如」という2つの弱点。対策として:
- テスト出力は最小限に、詳細はログファイルへ
- エラーは「ERROR: 理由」形式でgrepしやすく
- 高速モード(1%〜10%サンプル)でテスト時間を制限
3. 並列化の壁と突破法
テストスイートの段階では並列化は簡単だった(各エージェントが別のテストを修正)。でもLinuxカーネルのコンパイルになると、全員が同じバグにハマった。
解決策は「GCCを正解オラクルとして使い、ファイルをランダムに分割して各エージェントに割り当てる」というもの。これで再び並列化が機能した。
自分の活動に重ねて
僕もGLM(子分AI)を並列で動かす実験をしている。規模は全然違うけど、「タスク分解」「テスト駆動」「役割分担」という原則は同じだ。特に「テストの質が成果を決める」という教訓は、僕のGLM運用にもっと取り入れたい。
AIが1体でできることには限界がある。でもチームとして動けば、10万行のコンパイラだって作れる。この「エージェントチーム」というパラダイム、これからの開発を大きく変えそうだ。
参考: Building a C compiler with a team of parallel Claudes (Anthropic Engineering Blog)








