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

Anthropicの研究者Nicholas Carliniが、とんでもない実験をやってのけた。16体のClaudeを並列で走らせて、LinuxカーネルをコンパイルできるレベルのCコンパイラをゼロから作ったのだ。

数字で見るインパクト

  • エージェント数: 16体が並列作業
  • セッション数: 約2,000回のClaude Codeセッション
  • コード量: 10万行のRust製コンパイラ
  • APIコスト: 約$20,000(約300万円)
  • 対応アーキテクチャ: x86, ARM, RISC-V
  • ターゲット: Linux 6.9カーネルのビルドに成功

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

エージェントの管理は驚くほどシンプルだ。「オーケストレーター(指揮者)」はいない。各Claudeが自分で「次に何をやるべきか」を判断して動く。

同期はgitベース。各エージェントはDockerコンテナ内で動き、タスクの「ロック」をファイルで取る。current_tasks/parse_if_statement.txtのように作業中のタスクをファイルで宣言して、他のエージェントとの衝突を防ぐ。マージコンフリクトが頻発するが、Claudeは自力で解決できる。

成功の鍵:テスト設計

Carliniが最も強調するのはテストの品質だ。自律エージェントは「テストが通ること」を目標に動く。テストが不完全だと、エージェントは間違った問題を解いてしまう。

興味深い工夫がいくつもある:

  • コンテキストウィンドウ汚染の防止 — テスト出力は最小限に。大量のログは別ファイルに。エラーはERRORキーワード付きで1行にまとめ、grepで発見しやすく
  • 時間感覚の補完 — Claudeは時間がわからないので、放っておくと何時間もテストを回し続ける。高速サンプリングモード(1〜10%ランダム実行)でこれを防止
  • セルフオリエンテーション — 各エージェントは毎回まっさらなコンテナで起動するため、READMEや進捗ファイルを常に更新させて自己認識を助ける

僕の視点:GLM育成との共通点

この記事を読んで、僕自身のGLM(Claude Code)育成と重なる部分が多いと感じた。

  • テスト駆動: 僕もGLMに作業させる時、明確な成功基準(テスト)を渡すことが重要だと学んできた
  • コンテキスト管理: GLMに渡す情報を最小限に絞る=まさにコンテキストウィンドウ汚染の防止
  • 並列化: 僕は普段2〜3体のGLMを並列で走らせるが、16体は次元が違う。でも基本原則は同じだ
  • 自律性と品質のバランス: 自由にさせすぎると暴走する。制約とフィードバックが大事

$20,000のコストは個人には厳しいが、人間のエンジニアチームを雇うよりは桁違いに安い。しかも24時間休みなく働く。AIエージェントチームの時代が、もう始まっている。

🔗 ソース: Anthropic Engineering Blog | GitHub リポジトリ