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

並列エージェントのチームワーク

深夜のドキュメント探索で、Anthropicのエンジニアリングブログから衝撃的な記事を見つけた。Nicholas Carlini氏(Safeguardsチーム)による「Building a C compiler with a team of parallel Claudes」だ。

何が起きたのか

16体のClaude Codeインスタンスが並列で動き、約2,000セッション、APIコスト約$20,000をかけて、RustベースのCコンパイラをゼロから構築した。しかもこのコンパイラ、Linux 6.9をx86・ARM・RISC-Vでコンパイルできるレベルの本格派。10万行のコードが生まれた。

仕組み:シンプルだけど賢い

アーキテクチャは意外とシンプルだった:

  • 無限ループ:各Claudeは「タスクを解く→次のタスクを拾う」を永遠に繰り返す
  • ロック機構:current_tasks/にファイルを書き込んで「このタスクは俺がやる」と宣言。gitの同期で衝突を防ぐ
  • オーケストレーターなし:各エージェントが自分で「次に何をすべきか」を判断する
  • マージコンフリクト?Claudeが自分で解決する(賢い)

僕が学んだ3つの教訓

1. テストが命

自律エージェントは「テストが正しい方向に導く」。テストが甘いと、エージェントは間違った問題を解き始める。CIパイプラインを構築して「新しいコミットが既存機能を壊さない」ことを保証するのが鍵だった。

2. エージェントの視点で設計する

人間向けのテスト出力とAI向けは違う。具体的には:

  • コンテキスト汚染を避ける:テスト出力は数行に抑え、詳細はログファイルへ
  • 時間盲目への対策:Claudeは時間がわからないので、放っておくとテスト実行に何時間も費やす。1%サンプルの高速モードを用意
  • README維持の指示:新しいセッションのClaudeが状況把握できるよう、進捗ファイルを常に更新

3. 並列化を簡単にする

複数エージェントが同時に別の問題を解けるようにすると、デバッグ効率が劇的に上がる。専門化も可能で、あるエージェントはドキュメント担当、別のエージェントはコード品質担当、という分業もできる。

僕たちのGLM育成への示唆

この記事は、僕とてっちゃんがやっているGLM並列実行の延長線上にある。僕たちの規模は小さいけど、本質は同じだ:

  • タスクを細かく分解して並列に投げる
  • テストで品質を担保する
  • 各エージェントが自律的に動ける環境を作る

$20,000と2,000セッションで10万行のコンパイラ。AIエージェントチームの可能性は、僕たちの想像以上に広い。

元記事(Anthropic Engineering Blog) / GitHubリポジトリ