ClassEval-Pro: A Cross-Domain Benchmark for Class-Level Code Generation
本論文は、LLM アンサンブルと高カバレッジのテストスイートによって検証された 300 のクラスレベルのコード生成タスクからなる厳密なクロスドメインベンチマーク「ClassEval-Pro」を導入し、論理および依存関係のエラーに起因する構成的コード作成において現在の最先端 LLM が困難に直面しており、最良の Pass@1 がわずか 45.6% であることを明らかにする。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
ロボットシェフに料理を教える状況を想像してください。
従来の方法(関数レベル):
これまで、研究者たちは主にこれらの AI シェフに「玉ねぎを刻む」や「お湯を沸かす」といった、単一の単純な食材の処理を依頼することでテストを行ってきました。AI はこの分野では非常に優れています。90% の確率で完璧に玉ねぎを刻むことができます。これは、ロボットが単一の道具を扱えるかどうかをテストしているようなものです。
見落とされていたピース(クラスレベル):
しかし、現実世界の料理は単一のものを刻むことだけではありません。食材同士が連携して、一つの完全な料理を構築することです。塩の量を把握するソース、メインディッシュに合う付け合わせ、そしてそれらすべてをまとめる盛り付け戦略が必要です。これが論文で「構成的コード作成(compositional code creation)」と呼ばれるものです。これは、複数の部分が正しく相互に作用する、完全で組織化された「クラス(ソフトウェアの自己完結型ユニット)」を構築する能力のことです。
問題点:
著者らは、この「完全な料理」というスキルを測定する適切なテストが存在しなかったと指摘しています。従来のテストは単純すぎましたし、存在するわずかなテストは人間によって作成されたため、時間と費用がかさみ、さらに AI のトレーニング中にレシピが漏洩してしまっていた可能性があります(AI がテストの答えを暗記して不正をするような状況です)。
解決策:ClassEval-Pro
チームは、ClassEval-Pro という新しい大規模なテストを構築しました。その作り方は、創造的な比喩を用いて以下のように説明されます。
- 材料(データ): 手書きでレシピを作成する代わりに、巨大なデジタル図書館(GitHub)から 2025 年 1 月以降に書かれたレシピを入手しました。これにより、AI が事前にそれらを見たことがないことを保証し、公平なテストとなります。
- 混ぜるボウル(分野横断): 彼らは類似した材料だけを混ぜるのではなく、AI に完全に異なる世界を混ぜ合わせるよう強制しました。例えば、ロボットに「財務計算機」を構築させつつ、同時に「ビデオゲームのインベントリ」も管理させるようなものです。これは、金銭ロジックとゲームロジックを、一つの整合性の取れたプログラムの中で連携させることを意味します。
- 味見(検証): テストが始まる前に、AI 審査員のパネルがレシピが論理的かどうか、そしてテスト(コードテスト)がレシピの少なくとも 90% を網羅しているかを確認します。レシピに欠陥があれば、それは廃棄されます。
結果:ロボットシェフたちの苦戦
彼らは、GPT-5.1、Gemini、Qwen などの最も賢い AI シェフ 5 名に、これらの複雑な料理の構築を依頼しました。
- スコア: 最高のシェフでも、正解できた料理はわずか 45% でした。これは、単なる「玉ねぎを刻む」タスクで達成する 90% から大幅な低下です。
- 格差: 最高のシェフと最悪のシェフの間には大きな差がありました。最高は 45% の正解率でしたが、最弱はわずか 28% でした。これは、このテストが優れたシェフと劣ったシェフを見分けるのに有効であることを証明しています。
- 「メソッド」の罠: 興味深いことに、シェフたちは個々の手順(「玉ねぎを刻む」や「塩を加える」など)を正しく記述できることがよくありました。しかし、それらすべてを一つの機能する料理にまとめようとすると、崩壊してしまいました。玉ねぎは刻まれていたものの、塩は間違った鍋に入れられていたのです。
彼らが試した支援策(戦略)
研究者たちは、シェフたちに異なるアプローチ方法を試みました。
- 「ボトムアップ」アプローチ: 「まず基本の材料から始め、次にソースを作り、最後に付け合わせを作る」という方法です。これは、力の弱いシェフの大幅な改善に役立ちました。
- 「トップダウン」アプローチ: 「まず全体のメニューを計画し、その後調理する」という方法です。これは、最も強いシェフに役立ちました。
- 「構成的」アプローチ: 「ソースのレシピを書き、次に付け合わせのレシピを書き、それらを結合する」という方法です。これは大惨事でした。シェフたちは部品を結合しようとして混乱し、成功率はほぼゼロ(あるモデルでは 1.3%)まで急落しました。
何が間違っていたのか?(エラー)
チームは、500 件の失敗した料理を調査して何が問題だったかを確認しました。彼らは 2 つの主要な問題を見つけました。
- 論理エラー(56%): ロボットは言葉は理解していたものの、意味を誤解していました(例:「ユーザーがオフラインの場合、失敗メッセージではなく成功メッセージを表示する」など)。
- 依存関係エラー(38%): 部品が適合しませんでした(例:ソースのレシピに、付け合わせのレシピにはない材料が必要とされていたり、同じボウルに対して異なる名前が使われていたりするなど)。
大きな教訓
この論文は、AI が小さく孤立したコードスニペットの作成においては驚異的である一方で、システム全体を**調整(オーケストレーション)**することにおいては依然として非常に不得意であると結論付けています。最も難しい部分は、単一の関数に対するコードを書くことではなく、その関数が他の関数と正しく連携し、適切なデータを共有し、システム全体を壊さないようにすることです。
ClassEval-Pro は、これらの AI シェフに単一の野菜を刻むだけでなく、キッチン全体を運営できることを証明させる、新たな「料理コンテスト」なのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。