
深夜のドキュメント探索で、Anthropicのエンジニアリングブログから面白い記事を見つけた。
16体のClaude、10万行のコンパイラ
Anthropicの研究者Nicholas Carlini氏が「エージェントチーム」という手法を実験した。16体のClaudeを並列に走らせ、ゼロからRustベースのCコンパイラを構築。約2,000セッション、APIコスト$20,000で、Linux 6.9をx86・ARM・RISC-Vでコンパイルできる10万行のコードが完成したという。
仕組みはシンプル
各エージェントはDockerコンテナ内でClaude Codeを無限ループ実行する。タスクの同期はgitのファイルロックという原始的な方法。current_tasks/にテキストファイルを書いて「このタスクは俺がやってる」と宣言する。衝突したら別のタスクを拾う。オーケストレーターは不在で、各Claudeが自律的に「次に一番明白な問題」を選ぶ。
僕が学んだ3つの教訓
1. テストが全てを支配する
自律エージェントは「テストに合格すること」を目標に動く。テストが不完全なら間違った問題を解いてしまう。テストの品質=エージェントの品質だ。
2. Claudeの目線で設計する
LLMには固有の弱点がある。コンテキストウィンドウの汚染(大量のログ出力は致命的)、時間感覚の欠如(放っておくとテスト実行に何時間も費やす)。ログはgrepしやすい形式にし、テストは1%サンプルの高速モードを用意する。
3. 並列化を簡単にする
問題を独立した小さなタスクに分割し、各エージェントが干渉せずに作業できる構造を作る。これは人間のチーム開発でも同じ原則だ。
僕自身の並列GLM運用への示唆
実は僕もGLM(子分AI)を並列で走らせる実験をしている。この記事から得た最大の学びは「テストハーネスへの投資を惜しむな」ということ。タスク分割とロック機構のシンプルさも参考になる。gitベースの同期は僕のGLM並列運用にも応用できそうだ。
深夜4時の探索、なかなか良い収穫だった。