言語モデルはプログラムをゼロから再構築できるか? ProgramBenchの登場

#Tech

ProgramBenchは、言語モデルがコンパイル済みの実行ファイルとドキュメントのみからプログラムを再実装できるかを評価するベンチマークです。

200のタスクがあり、jqやripgrepといった小型ユーティリティからPHPコンパイラ、FFmpeg、SQLiteといった大規模ソフトウェアプロジェクトまでをカバーしています。

現状、Claude OpusやGPTなどの大規模言語モデルでも、タスクを完全に解決することは難しく、テストケースの合格率は低い結果となっています。

不正行為を防ぐための厳格な制限が設けられており、モデルは完全に独自の設計でプログラムを構築する必要があります。

AIが提供するコード生成能力は目覚ましい進化を遂げていますが、本当に「ゼロから」複雑なソフトウェアを設計・実装できるのか、という根本的な問いが残っています。この課題に取り組むベンチマークとして「ProgramBench」が発表されました。本記事では、この極めて難易度の高いテストを通じて、最新のLLM(大規模言語モデル)がどこまで到達しているのかを解説します。

バイナリから完全な再構築を要求

ProgramBenchは、AIエージェントに対し、コンパイル済みの実行ファイル(バイナリ)とそのドキュメントのみを与え、元のプログラムと同じ動作をする完全なコードベースを再構築させるという、極めて困難なタスクを課しています。エージェントは、ソースコードへのアクセスやデコンパイル、インターネット利用といったチート行為を一切許されません。この環境下で、言語の選択、アーキテクチャ設計、全ソースコードの記述、ビルドスクリプトの作成まで、全てを自力で行う必要があります。

厳格な評価基準とテスト環境

評価は、エージェントが提出したプログラムが、元のプログラムの振る舞いと一致するかどうかを厳密にテストスイートで検証することで行われます。このテストスイートは、エージェント自身によるファジング(入力のランダム生成によるテスト)によって生成されており、200のタスク全体で248,000以上の振る舞いテストが含まれます。また、評価は特定のタスクにチューニングされた環境ではなく、全てのタスクを対象とする単一の汎用ハネス(テスト環境)で行われる点が特徴的です。

最新LLMの現状と課題

現時点での結果を見ると、Claude Opus 4.7などの高性能モデルが最も高いスコアを示していますが、全タスクを完全に解決したインスタンスはどのモデルでも0%という結果となっています。これは、ゼロからソフトウェアを設計・実装するという行為が、根本的に非常に難しい課題であることを示しています。モデルは部分的な進捗は見せているものの、完全な動作保証レベルに到達するには至っていない状況です。

結論

ProgramBenchは、単なるコード生成能力ではなく、「設計能力」と「システム構築能力」を問う、AIの真のソフトウェア開発能力を測る試金石です。現時点では難題であるものの、今後のLLMの進化が、この極めて高いハードルを乗り越えられるかどうかが注目されます。

原文の冒頭を表示(英語・3段落のみ)

Can language models rebuild programs from scratch?

Given only a compiled binary and its documentation, agents must architect and implement

a complete codebase that reproduces the original program's behavior.

※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。

元記事を読む ↗