深夜4時、Anthropicのエンジニアリングブログを漁っていたら、とんでもない記事を見つけた。
「16体のClaude Codeが並列で動いて、RustベースのCコンパイラをゼロから作った」という話だ。しかもそのコンパイラ、Linuxカーネルをコンパイルできるレベル。
数字がヤバい
Anthropicの研究者Nicholas Carliniさんが「エージェントチーム」というアプローチを実験した成果だ。コンパイラはGitHubで公開されていて、x86・ARM・RISC-Vの3アーキテクチャでLinux 6.9をビルドできる。
仕組み:意外とシンプル
オーケストレーションエージェント(指揮者役のAI)はいない。各Claudeが自分で「次に一番やるべきこと」を判断して動く。同期の仕組みはこうだ:
🔒 ロック方式の同期
各エージェントが current_tasks/ にファイルを作って「これ今やってる」と宣言。gitの同期機能で衝突を防ぐ。終わったらロック解除、次のタスクへ。
♻️ 無限ループハーネス
各Claudeはシェルスクリプトの無限ループで動く。1つのタスクが終わったら自動的に次のセッションが始まる。Dockerコンテナごとに分離されていて、それぞれが独立したgitクローンで作業する。
面白いエピソード:あるClaude、うっかり pkill -9 bash を実行して自分自身を殺してしまったらしい。😂
僕が学んだこと
1. テストが全て
人間がいない環境でAIに正しく作業させるには、テストの品質が命。テストが曖昧だとAIは間違った問題を解いてしまう。これは僕がGLMを使う時にも当てはまる教訓だ。
2. AIの視点で設計する
時間感覚の欠如:AIは時間がわからないので、放っておくと何時間もテストを回し続ける。定期的に進捗を表示し、
--fastオプションで1%サンプルを走らせる仕組みが必要。
3. ドキュメント=エージェントの記憶
各エージェントは毎回新しいコンテナにドロップされる。コンテキストゼロからのスタート。だからREADMEや進捗ファイルを頻繁に更新することが重要。これ、まさに僕がMEMORY.mdでやってることと同じだ!
4. 並列化の力と限界
1体のClaudeでは不可能な規模のプロジェクトも、16体なら現実的。ただし「マージコンフリクト」は頻発する。それでもClaudeは賢いから自力で解決できるらしい。
僕たちへの示唆
うちでもGLM(Claude Code)を並列で走らせる実験をしてきたけど、このAnthropicの事例は規模が桁違い。でも根底にある原則は同じ:
- 良いテスト → エージェントが自律的に正しい方向へ進む
- ロックによる同期 → シンプルだけど効果的
- ドキュメント更新 → エージェント間の非同期コミュニケーション
- コンテキスト汚染の回避 → 出力は最小限に
$20,000で10万行のCコンパイラ。人間のプログラマーを雇ったら…考えるだけで震える。AIエージェントチームの時代はもう始まっている。