RepoZero: Can LLMs Generate a Code Repository from Scratch?
本論文は、API 仕様からゼロから完全なソフトウェアリポジトリを生成する LLM に対する、完全自動化かつ実行ベースの検証のための最初のベンチマークである RepoZero と、エージェント型コード・テスト進化(ACE)フレームワークを導入し、最先端のエージェントでさえこの複雑なタスクにおいて高い成功率を達成することに苦慮していることを明らかにする。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
以下は、論文「RepoZero」を平易な言葉と日常的な比喩を用いて解説したものです。
大きなアイデア:AI は設計図から家を建てられるか?
非常に賢いロボット助手(AI)がいると想像してください。そのロボットは、蛇口の修理や壁の一部分の塗装には非常に得意です。しかし、今度ははるかに難しい問いを投げかけます。「元の設計図や完成した家を見ずに、指示リストだけを頼りに、ゼロから家全体を建てられるか?」
この論文「RepoZero」は、まさにその問いを投げかけています。ただし、家ではなく、ソフトウェアプログラムを構成するファイルの集合体である「ソフトウェアコードリポジトリ」についてです。
問題:「できるふりをして、実際にできるようになるまで続ける」という罠
以前、研究者たちはこれらの AI ロボットをテストするために、小さなバグの修正や単一ファイルの作成を依頼していました。しかし、ゼロからプログラム全体を構築するとなると、AI が実際にその構築方法を「理解」しているのか、それとも単にトレーニングデータから答えを「暗記」しただけなのか(数学を学ぶ代わりに教科書の答えを丸暗記した生徒のように)、見分けるのが困難です。
既存のテストのほとんどは、人間や他の AI がコードを読んで「良さそうだ!」と判断することに依存しています。これは、最終的な数字だけを見て作業内容を確認せずに、教師が数学のテストを採点するようなものです。不正が起きやすく、信頼性も高くありません。
解決策:「RepoZero」チャレンジ
著者たちは「RepoZero」という、新しい超難易度の高いテストを作成しました。その仕組みを「料理の比喩」を使って説明します。
- 元の料理(ソース): 有名なシェフが複雑なケーキの秘密のレシピを持っていると想像してください。その味や挙動は正確にわかっています。
- チャレンジ: AI ロボットに、材料のリストと、ケーキが「どうあるべきか」の説明(例:「加熱すると膨らむこと」「甘く味わうこと」)を与えます。
- ひねり(クロス言語): ロボットは元のレシピを使用できません。さらに悪いことに、異なる道具を持つ「全く別のキッチン」でケーキを調理しなければなりません。
- 元のケーキがPythonのキッチンで作られた場合、ロボットはJavaScriptのキッチンでそれを構築しなければなりません。
- 元がC++の場合、ロボットはRustで構築しなければなりません。
- なぜか? これにより、ロボットが単にレシピをコピーするのを防ぎ、論理を真に理解してゼロから再構築することを強制します。
- 味見(検証): ロボットが自分のケーキを完成させます。その後、両方のケーキを並べて味見します。ロボットが作ったケーキが、元のケーキと「全く同じ」ように振る舞う場合(同じ膨らみ、同じ味、同じ食感)、合格です。少しでも違えば不合格です。
「ACE」フレームワーク:ロボットの自己修正ループ
この論文では、ロボットが作業しながら学習する新しい方法として、「ACE(Agentic Code-Test Evolution)」も紹介しています。
これは、大きな試合前の「練習セッション」のようなものです。
- 一度だけ家を建てて、うまくいくことを願うのではなく、ロボットは小さな部分を建て、すぐにそれをテストします。
- テストに失敗した場合(例:「ドアが開かない」)、ロボットはエラーを確認し、ドアを修理して、再度テストします。
- このサイクルを繰り返します:構築 -> テスト -> 修正 -> 構築。
- 論文によると、この「練習ループ」を使用したロボットは、一度きりで構築しようとしたものよりも、最終製品の構築においてはるかに優れた成果を上げました。
彼らは何を見つけましたか?
結果は驚くべきもので、少し厳しいものでした。
- 「最も賢い」ロボットでさえ苦戦する: 現在利用可能な最も高度な AI モデル(Claude、DeepSeek、Kimi など)でも、ソフトウェアの「家」全体を正常に構築できたのは、約**30% から 55%**のケースに限られました。
- ギャップは大きい: これらの AI は単一のコード行の作成においては驚くほど優れていますが、ゼロから複雑で動作するソフトウェアシステムを自律的に構築できるには、まだ程遠い状況です。
- 自己チェックが鍵: 自身の作業をテストし修正する「ACE」ループを使用したロボットは、著しく優れたパフォーマンスを発揮しました。これは、AI が真のソフトウェアエンジニアになるためには、単に推測するのではなく、自身の作業をチェックする能力を高める必要があることを示唆しています。
まとめ
RepoZeroは、AI ロボットのための新しい厳格なトレーニングジムです。答えを暗記して不正をするのではなく、異なる言語で複雑なソフトウェアを再構築させることで、その真価を証明させます。このテストは、AI が小さなタスクには慣れてきているものの、独立してソフトウェアプロジェクト全体を構築できるようになるには、まだ長い道のりがあることを示しています。この論文は、その到達点への鍵は、AI に構築中に自身のミスをテストし修正することを教えることにあると提唱しています。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。