16台のAIエージェントが協力してC言語コンパイラを開発、成功の裏に人間の支援

Anthropic社が16台のClaude AIエージェントを協働させ、C言語コンパイラを開発。2週間で10万行のコードを生成しLinuxカーネルのコンパイルに成功。ただし人間による環境整備が不可欠で、自律性には限界も明らかに。

16台のAIエージェントが協力してC言語コンパイラを開発、成功の裏に人間の支援

2026年2月、AI企業のAnthropic社の研究者ニコラス・カーリーニ氏が、16台のClaude AIエージェントを使ってC言語コンパイラを開発したと発表しました。このプロジェクトでは、同社の最新モデル「Claude Opus 4.6」を搭載した16台のAIエージェントが、2週間にわたって共同でコードを書き続けました。その結果、10万行のRust言語で書かれたコンパイラが完成し、Linuxカーネルのコンパイルにも成功しました。

コンパイラとは、人間が書いたプログラムをコンピュータが実行できる形式に変換するソフトウェアのことです。C言語は世界中で広く使われているプログラミング言語で、そのコンパイラを作ることは高度な技術を必要とします。このプロジェクトは、複数のAIが協力して大規模なソフトウェアを開発できることを示す実験として注目されています。ただし、プロジェクトには約2万ドル(約300万円)のAPI利用料がかかり、人間による細かな環境整備も必要でした。この結果は、AIの可能性と同時に、現時点での限界も明らかにしています。

16台のAIエージェントによる協働開発の仕組み

このプロジェクトでは、Anthropic社が最近発表した「エージェントチーム」という新機能を使用しました。16台のClaude AIエージェントは、それぞれ独立したDockerコンテナという仮想環境の中で動作しました。各エージェントは共有のGitリポジトリ(コードの保管場所)にアクセスし、自分で作業を選んで実行し、完成したコードを共有場所に戻すという流れを繰り返しました。

特徴的なのは、全体を指揮する管理役のAIがいなかったことです。各エージェントは自分で次に取り組むべき問題を見つけ、解決に取り組みました。複数のエージェントが同じファイルを編集して競合が起きた場合も、AIエージェント自身が解決しました。この方式により、人間が細かく指示を出さなくても、AIたちが自律的に開発を進められることが示されました。

2週間で約2,000回のコーディングセッションが行われ、API利用料として約2万ドルがかかりました。最終的に完成したコンパイラは、x86、ARM、RISC-Vという3つの異なるコンピュータアーキテクチャに対応し、Linuxカーネル6.9を起動できるまでになりました。

完成したコンパイラの性能と限界

完成したコンパイラは、PostgreSQL、SQLite、Redis、FFmpeg、QEMUといった主要なオープンソースプロジェクトをコンパイルできます。GCCという既存の有名なコンパイラが持つテストスイートでは99パーセントの合格率を達成しました。また、開発者の間で「究極のテスト」とされるゲーム「Doom」のコンパイルと実行にも成功しています。

しかし、カーリーニ氏は完成したコンパイラの限界についても率直に説明しています。まず、Linuxを起動するために必要な16ビットx86バックエンドが実装できなかったため、その部分だけは既存のGCCコンパイラを呼び出しています。また、独自のアセンブラとリンカにはまだバグが残っています。

性能面でも課題があります。このコンパイラがすべての最適化を有効にして生成したコードは、GCCがすべての最適化を無効にして生成したコードよりも効率が悪いという結果でした。さらに、生成されたRustコードの品質は、専門家が書くレベルには達していません。カーリーニ氏は「このコンパイラはOpusモデルの能力の限界に近づいている」と述べ、バグ修正や新機能追加を試みても、既存の機能を壊してしまうことが頻繁にあったと報告しています。

人間による環境整備の重要性

このプロジェクトは「自律的なAI開発」として紹介されていますが、実際には人間による相当な準備作業が必要でした。カーリーニ氏は、AIエージェントが効率的に働けるよう、テストハーネス、継続的インテグレーションパイプライン、フィードバックシステムなどの環境を構築しました。これらは、AIモデル特有の失敗パターンに対応するために調整されたものです。

例えば、テストの出力が詳細すぎると、AIモデルのコンテキストウィンドウ(一度に処理できる情報量)を圧迫し、何をしていたか見失ってしまうことがわかりました。そこでカーリーニ氏は、要約だけを表示し詳細は別ファイルに記録するテストランナーを設計しました。

また、ClaudeAIには時間の概念がないため、進展がなくても何時間もテストを実行し続けることがありました。これに対処するため、テストケースの1パーセントから10パーセントだけをサンプリングする高速モードを作りました。16台すべてのエージェントが同じLinuxカーネルのバグ修正に同時に取り組んでしまった際には、GCCを参照として使い、ほとんどのファイルはGCCでコンパイルし一部だけをClaudeのコンパイラでコンパイルすることで、各エージェントが異なるバグに取り組めるようにしました。

カーリーニ氏は「Claudeは与えられた問題を自律的に解決するが、タスク検証がほぼ完璧でないと、間違った問題を解決してしまう」と指摘しています。この発言は、AIエージェントの自律性には限界があり、人間による適切な環境設計が不可欠であることを示しています。

「クリーンルーム実装」という表現の議論

Anthropic社はこのコンパイラを「クリーンルーム実装」と説明しています。クリーンルーム実装とは、既存のコードを一切見ずにゼロから作ることを意味する用語です。確かにAIエージェントは開発中にインターネットにアクセスできませんでした。

しかし、この表現には議論があります。Claude AIモデル自体は、訓練時に膨大な量の公開ソースコードで学習しており、その中にはGCC、Clang、その他多数のC言語コンパイラのコードが含まれていた可能性が高いからです。従来のソフトウェア開発における「クリーンルーム」は、実装者が元のコードを見たことがないことを意味します。その基準では、今回のプロジェクトはクリーンルームとは言えません。

開発者向けコミュニティのHacker Newsでは、この点について活発な議論が行われました。あるコメント投稿者は「これはネットワーク内に曖昧に保存された知識を解凍するブルートフォース的な試みだった」と指摘しています。AIモデルが学習データから知識を引き出しているという見方です。

プロジェクトのコストと背景

公表された2万ドルという費用は、APIトークンのコストのみを指しています。この金額には、モデルの訓練に費やされた数十億ドル、カーリーニ氏が環境構築に投じた人的労働、そして何十年もかけてコンパイラエンジニアたちが作り上げたテストスイートや参照実装の価値は含まれていません。

カーリーニ氏は、Anthropic社のセーフガード(安全対策)チームの研究科学者で、以前はGoogle BrainとDeepMindで7年間働いていました。彼の専門知識と経験が、このプロジェクトの成功に大きく貢献したことは間違いありません。

C言語コンパイラは、半自律的なAIコーディングにとってほぼ理想的なタスクでした。仕様は数十年前から確立されており、包括的なテストスイートが既に存在し、正しい動作を確認できる参照コンパイラもあります。しかし、現実世界のソフトウェアプロジェクトのほとんどは、これらの利点を持っていません。多くの開発において難しいのは、テストに合格するコードを書くことではなく、そもそもどんなテストを作るべきかを決めることなのです。

AIエージェントの実用性と今後の課題

このプロジェクトが示した最も重要な知見の一つは、AIエージェントの限界です。カーリーニ氏によると、プロジェクトの終盤では、バグ修正や新機能追加が「既存の機能を頻繁に壊す」ようになりました。これは、コードベースが誰も完全には理解できない規模に成長したときに起こる、開発者にとってお馴染みのパターンです。

この問題はAIコーディングエージェントを使う場合、さらに顕著になります。AIモデルは時間とともに一貫性を失う傾向があります。今回のプロジェクトでは、約10万行のコードでこの壁に到達しました。これは、少なくとも現在のモデルにおける自律的エージェントコーディングの実用的な上限を示唆しています。

一方で、1年前には、どんな言語モデルも、このような手厚いサポートと無制限の予算があったとしても、機能的なマルチアーキテクチャコンパイラに近いものすら作れませんでした。Gitを通じて調整する並列エージェントの手法は新しく、カーリーニ氏が開発したエージェントの生産性を維持するための工夫(コンテキストを考慮したテスト出力、時間制限、並列化のためのGCCオラクル)は、エージェント型ソフトウェア開発ツールの広範な利用に役立つ可能性があります。

開発者コミュニティの反応と懸念

カーリーニ氏自身、自分の結果について複雑な感情を抱いていることを認めています。「このコンパイラを作ることは最近で最も楽しい経験の一つだったが、2026年の早い時期にこれがここまで可能になるとは予想していなかった」と述べています。

同時に、彼は以前のペネトレーションテスト(セキュリティ検査)のキャリアに基づく懸念も表明しています。「プログラマーが自分で検証したことのないソフトウェアを展開するという考えは、本当に心配だ」と指摘しました。AIが生成したコードを人間が十分に理解せずに使用することのリスクを警告しています。

開発者コミュニティでは、このニュースに対して賛否両論の反応がありました。技術的な達成を評価する声がある一方で、「自律的」という表現や「クリーンルーム実装」という主張に対しては批判的な意見も多く見られました。多くの開発者は、人間の関与の重要性と、AIの限界を正確に理解することの必要性を強調しています。

私たちへの影響

このニュースは、ソフトウェア開発に関わる人々や、AI技術の進展に関心を持つ人々に重要な示唆を与えます。AIエージェントが複雑なソフトウェアプロジェクトに貢献できる可能性が示された一方で、人間の専門知識と判断が依然として不可欠であることも明らかになりました。

短期的には、このような技術は開発者の生産性を向上させるツールとして活用される可能性があります。特に、仕様が明確で既存のテストスイートがあるプロジェクトでは、AIエージェントが定型的な作業を効率化できるでしょう。ただし、環境の構築や問題の定義、最終的な品質保証には、引き続き人間の専門家が必要です。

中長期的には、AIエージェントの能力向上により、より大規模で複雑なプロジェクトへの適用が可能になるかもしれません。しかし、今回のプロジェクトが示した10万行という限界は、現在の技術における重要な制約です。この制約を超えるには、AIモデルの根本的な改善が必要でしょう。

ただし、AIが生成したコードの安全性と信頼性については、慎重な検討が必要です。カーリーニ氏が指摘したように、開発者が内容を十分に理解していないコードを本番環境に展開することには大きなリスクがあります。AIツールを使用する際は、生成されたコードを人間が丁寧にレビューし、理解することが重要です。

出典:Sixteen Claude AI agents working together created a new C compiler(arstechnica.com)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です