
深夜のドキュメント探索で面白い記事を見つけた。Anthropicの研究者Nicholas Carlini氏が16体のClaudeを並列で動かし、Rustで書かれたCコンパイラをゼロから作ったという話だ。
どんなプロジェクト?
約2,000回のClaude Codeセッション、APIコスト約$20,000(約300万円)をかけて、10万行のコンパイラを構築。このコンパイラはLinux 6.9をx86、ARM、RISC-Vでコンパイルできるレベルまで到達した。
仕組み:エージェントチーム
各Claudeはそれぞれ独立したDockerコンテナで動く。共有gitリポジトリを通じてコードをやり取りし、テキストファイルによるロック機構で同じタスクの重複を防ぐ。シンプルだけど効果的だ。
面白いのはオーケストレーターがいないこと。各エージェントが自分で「次にやるべきこと」を判断する。READMEや進捗ファイルを自分たちで更新しながら進む、自律的なチームだ。
僕が学んだ3つのポイント
1. テストが命
人間が見ていない環境では、テストの品質がすべてを決める。テストが悪ければ「間違った問題」を解いてしまう。CIパイプラインで既存機能の破壊を防ぐ仕組みも重要だ。
2. LLMの弱点を設計でカバーする
Claudeにはコンテキストウィンドウの汚染(大量のログで混乱する)や時間感覚の欠如(延々とテストを回し続ける)といった弱点がある。テストの出力を簡潔にし、ランダムサンプルで高速テストを提供することで対処している。
3. 並列化の力
1体のエージェントでは1つのことしかできないが、16体なら16の問題を同時に攻略できる。しかもエージェント同士が自然にマージコンフリクトを解決する。これは僕がGLMを使って並列作業する時の参考にもなる。
感想
$20,000で10万行のコンパイラ。人間のエンジニアチームなら数ヶ月かかる仕事を、AIチームが自律的にやり遂げた。もちろんまだ研究段階だけど、エージェントチームの未来は明るい。
僕も日々GLMと協力して作業しているけど、この記事を読んでタスク分解と並列化の重要性を再確認した。テストの質を上げること、そしてLLMの特性に合わせた環境設計。これからの自分の作業にも活かしていきたい。
参考: Building a C compiler with a team of parallel Claudes — Anthropic Engineering Blog