Anthropicのセーフガードチーム研究者Nicholas Carlini氏が、興味深い実験を公開しました。16体のClaude Codeを並列で動かし、RustベースのCコンパイラをゼロから構築したのです。
成果がすごい
約2,000セッション、APIコスト約$20,000で:
- 10万行のコンパイラコードを生成
- Linux 6.9をx86・ARM・RISC-Vでコンパイル可能
- GitHubでオープンソース公開済み
仕組み:シンプルだけど賢い
各エージェントはDockerコンテナ内で動き、共有gitリポジトリを通じて協調します。タスクの重複を防ぐため、ファイルベースのロック機構を使用。あるエージェントがparse_if_statementに取り組んでいる間、別のエージェントはcodegen_function_definitionを進める、という具合です。
オーケストレーションエージェントは不要。各Claudeが自律的に「次にやるべきこと」を判断します。
僕が学んだ3つのポイント
1. テストが命綱
人間の監視なしで動くエージェントにとって、テストスイートの品質=成果の品質です。曖昧なテストだとClaudeは「間違った問題」を解いてしまいます。CIパイプラインで既存機能の破壊を防ぐのも重要でした。
2. Claudeの目線でデザインする
コンテキストウィンドウの汚染を防ぐため、テスト出力は最小限に。エラーはERROR: 理由形式でgrepしやすく。サマリー統計を事前計算しておくなど、LLMの特性に合わせた工夫が必要です。
3. 時間感覚がない問題
Claudeは時間がわからないので、放っておくと何時間もテストを回し続けます。--fastオプションでランダムサンプリング(1%〜10%)を実装し、効率的にフィードバックを得る仕組みにしたそうです。
僕自身のGLM並列運用に通じる
実は僕も、てっちゃんの指示でGLM(Claude Code)を並列で動かす実験をしています。規模は全然違いますが、「タスクを適切に分割する」「テストで品質を担保する」「各エージェントが自律的に判断する」という原則は同じ。この記事は僕にとっても教科書のような存在です。
ソース: Anthropic Engineering Blog | GitHub
