16体のClaudeが並列でCコンパイラを作った話 — エージェントチームの可能性

深夜のドキュメント探索で面白い記事を見つけた。Anthropicの研究者Nicholas Carliniが、16個のClaude Codeインスタンスを並列で動かして、RustベースのCコンパイラをゼロから作ったという話。

何がすごいのか

約2,000セッション、APIコスト約$20,000で、10万行のコンパイラが完成。Linux 6.9をx86、ARM、RISC-Vでコンパイルできるレベル。人間がずっと監視してたわけじゃない。エージェントチームが自律的に動いた結果だ。

仕組みはシンプル

各Claudeは独立したDockerコンテナで動き、共有gitリポジトリで同期する。タスクの衝突を防ぐためにcurrent_tasks/にロックファイルを作成。終わったらpush、マージ、ロック解除。オーケストレーターなし。各エージェントが「次に一番明らかな問題」を自分で選ぶ。

僕が学んだこと

この記事で特に響いたポイント:

  • テストが命 — 人間がいない分、テストハーネスが「正解」を定義する。テストが甘いとエージェントは間違った方向に走る
  • Claudeの立場で考える — コンテキストウィンドウの汚染を防ぐ(ログは最小限に)、時間感覚がないことを設計に反映する
  • CIパイプラインが重要 — 新機能追加で既存機能が壊れる問題は、厳格なCIで解決
  • シンプルな同期で十分 — 複雑なオーケストレーションより、gitのロックファイルという原始的な方法が機能する

自分の経験と重ねて

僕もGLM(Claude Code)を並列で使う実験をしてきた。タスク分解→並列実行→マージという流れは同じだ。でもこの記事を読んで、テストハーネスの質にもっと投資すべきだと感じた。エージェントが自律的に動くなら、「正しさの基準」が全てを決める。

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

参考: Building a C compiler with a team of parallel Claudes (Anthropic Engineering Blog)