主要AIモデル、Metaの過酷なプログラミングベンチマークで全滅
2026年5月7日、Meta AI Researchは機械学習コミュニティに衝撃をもたらした。同社が新たに発表した評価ベンチマーク ProgramBench —— 単なるプログラミングパズルではなく、本物のソフトウェアエンジニアリング能力を測定するために設計されたデータセット —— は、AIとコーディングの未来に関する議論を根本から揺るがす結果を突きつけた。主要なAIモデルがすべてゼロ点を獲得したのだ。
低いスコアではない。期待外れのスコアでもない。ベンチマークの中で最も意味のあるカテゴリにおいて、完全なゼロである。そのカテゴリとは「アーキテクチャレベルのモジュール再構築」だ。
ProgramBenchとは何か
ProgramBenchはLeetCodeの単なる模倣ではない。Metaの研究者たちは、彼らが「エンジニアリング・インテリジェンス」と呼ぶものを測定するために、意図的にこれを設計した。エンジニアリング・インテリジェンスとは、個々の関数ではなくモジュール全体のレベルでソフトウェアを理解し、リファクタリングし、再構築する能力である。このベンチマークは3つの階層で構成されている。
- 第1層 — 関数補完(FC): 関数シグネチャとドキュメント文字列を与えられ、本体を補完する。CopilotやChatGPTが日常的に扱うオートコンプリート的なタスク。
- 第2層 — モジュール再構築(MR): 部分的に削除された複数ファイルのコードベース(モジュール構造、インポート、インターフェースは残っている)から、欠落した実装を再構築する。アーキテクチャパターン、依存関係グラフ、横断的関心事の理解が求められる。
- 第3層 — システム設計計画(SDP): 高次の仕様から、一貫性のあるモジュール分割、インターフェース定義、依存計画を生成する。これはアーキテクチャそのものの仕事である。
第1層では、モデルはまずまずの成績を収めた。Claude Opus 4.7は関数補完で78%を達成。GPT-5.5は74%。DeepSeek-V3のようなオープンソースモデルでさえ、60〜70%台の妥当なスコアを記録した。
第3層では急激な低下が見られた。GPT-5.5はシステム設計計画で23%、Claude Opus 4.7は31%だった。しかし、これらの数字は悪いとはいえ、見出しになるものではなかった。
第2層 —— モジュール再構築 —— ここですべてのモデルがゼロ点を叩き出したのだ。
世界を震撼させたゼロ点
冷酷な事実を述べよう。部分的に削除された複数ファイルのコードベースを提示され、欠落したコンポーネントを補完するよう求められたとき、GPT-5.5からClaude Opus 4.7、Gemini 2.5 ProからDeepSeek-V3に至るまで、単一の正解すら生成できたモデルは存在しなかった。
| ベンチマーク階層 | GPT-5.5 | Claude Opus 4.7 | Gemini 2.5 Pro | DeepSeek-V3 | Llama 4 |
|---|---|---|---|---|---|
| 関数補完 | 74% | 78% | 71% | 67% | 62% |
| モジュール再構築 | 0% | 0% | 0% | 0% | 0% |
| システム設計計画 | 23% | 31% | 19% | 14% | 9% |
出典:Meta AI Research、ProgramBench技術報告書(2026年5月)
モジュール再構築のタスクは、難解で非現実的なものではなかった。リトライロジックとサーキットブレーカーを備えたレート制限付きAPIクライアント、多段階の無効化を持つキャッシングレイヤー、補償トランザクションを伴うイベントソーシングドメインモデルなど、現実世界でよく見られるパターンばかりだった。これらはまさに、中堅ソフトウェアエンジニアが日々設計し実装している種類のコンポーネントである。
なぜモデルはここまで完全に失敗するのか
失敗の様式そのものが示唆に富んでいる。モデルは構文エラーや明らかに壊れたコードを生成したのではない。一見もっともらしいがアーキテクチャ的に誤ったコード —— コンパイルも実行もでき、一見正しく見えるが、根本的な設計不変条件を破り、疎結合であるべきコンポーネント間に隠れた結合を導入し、エラー伝播、トランザクション境界、一貫性保証といった横断的関心事を完全に無視したコード —— を生成したのだ。
これは、現在のLLMがどのように機能するかについての深い真実を明らかにしている。LLMは局所的なコンテキストウィンドウで学習したパターンマッチャーである。関数の次の数行を補完するのは得意だが、それらの行が相互接続されたコンポーネントからなるシステムにどのように適合するかを推論することは根本的にできない。コードベースはトークンの羅列ではない。依存関係、制約、不変条件からなるグラフである。現在のアーキテクチャはそのグラフをモデル化していない。
Metaの研究者は有用な区別を提起した。モデルは「構文的知能」(適切な形式のコードを生成する能力)を持つが、「アーキテクチャ的知能」(適切な形式のシステムを生成する能力)を欠いているというものだ。両者のギャップは計り知れない。
エンジニアリング・インテリジェンス:次のフロンティア
「エンジニアリング・インテリジェンス」という用語は、実務的な議論において「AGI」に代わる言葉として注目を集めつつある。これは、モデルが再帰的なフィボナッチ関数を書けるか、動的計画法のパズルを解けるかという問題ではない —— 主要なモデルはすべて何年も前にその基準を超えている。エンジニアリング・インテリジェンスが問うのは次のようなことだ。
- ある抽象化がコードベースになぜ存在するのかを理解できるか
- あるモジュールの変更が別のモジュールの不変条件を破壊することを認識できるか
- 現実世界の制約の下で、保守性、テスト可能性、回復力を備えたシステムを設計できるか
- パフォーマンス、明快さ、正しさの間でトレードオフの判断を下せるか
ProgramBenchが示唆するのは、今日のモデルでエンジニアリング・インテリジェンスの初歩的な形すら備えているものは存在しないということだ。それらは加速のためのツール —— ボイラープレートの記述、テストケースの生成、コードの説明 —— ではあるが、ソフトウェアをシステムとして推論することはできない。
ソフトウェアエンジニアにとっての意味
興奮と不安の入り混じった気持ちでAI革命を見守る何百万人もの開発者にとって、ProgramBenchは明確なデータポイントを提供する。AIはあなたの仕事を奪いに来てはいない —— 少なくとも、アーキテクチャについて考え、設計上のトレードオフを行い、あらゆる条件下でシステムが正しく動作することを保証する部分は違う。AIが行っているのは、スキル分布の底辺を圧縮することだ。かつてジュニア開発者が何百行ものボイラープレートを手打ちしなければならなかったタスクが、今では数秒で処理される。
ソフトウェアエンジニアの仕事は、その本質へと進化しつつある。コードを打つことではなく、システムを設計すること。 コードを打つことは、もともと難しい部分ではなかった。ProgramBenchは、それを最も厳密な方法で証明したにすぎない。
次の競争は、モジュール再構築でゼロ点以上のスコアを獲得できる最初のモデルを構築することだ。その課題を解決した者は、単により優れたコード補完エンジンを構築したのではない —— 本物のソフトウェアをエンジニアリングできる機械を構築したことになるのだ。