← 最新の論文
🤖 AI

LibEvoBench: Probing Temporal Knowledge Stratification in Code Generation Models

本論文は、進化するライブラリAPIへの対応能力を評価するためのマルチタスクベンチマークであるLibEvoBenchと、ソフトウェア進化理解スコア(SEUS)指標を導入しており、現在のモデルが明示的なバージョン指定があるにもかかわらず、大部分においてバージョンを認識できておらず、時代錯誤なエラーを起こしやすいことを明らかにしている。

原著者: Daniele Cipollone, Sergey Titov, Maliheh Izadi, Egor Bogomolov, Arie van Deursen

公開日 2026-06-25
📖 1 分で読めます☕ さくっと読める

原著者: Daniele Cipollone, Sergey Titov, Maliheh Izadi, Egor Bogomolov, Arie van Deursen

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたは、ある有名なツールである「PyTorch」に関するあらゆる本、マニュアル、コードスニペットをすべて読み尽くした、極めて優秀な新人ソフトウェアエンジニアを雇っていると想像してください。彼らは非常に賢く、誰よりも速くコードを書くことができます。

しかし、一つだけ落とし穴があります。彼らには「時間」の感覚がありません。

これが、ダニエレ・チポローネ(Daniele Cipollone)氏とそのチームが研究した「LibEvoBench」という論文の核心的な問題です。彼らは、現在のAIコーディングアシスタントが、まさにその「時間盲」のエンジニアのようであることを突き止めました。つまり、どのバージョンのソフトウェアライブラリを使用すべきかを理解するのが苦手であり、古いルールと新しいルールを混同してしまうのです。

以下に、彼らの発見を分かりやすい比喩を用いて解説します。

1. 問題点:「時間盲」のシェフ

ライブラリ(PyTorchやNumPyなど)を、巨大な料理本だと想像してみてください。出版社は数ヶ月ごとに新しい版を発行します。

  • 旧版: 「塩を適量加える」と書いてある。
  • 新版: 「塩とコショウを加える。ただし、料理が辛い場合のみ」と書いてある。

現実世界のソフトウェアプロジェクトは、メニュー全体を変えるのはコストもリスクも高いため、しばしば料理本の「旧版」を使い続けているレストランのようなものです。

研究者たちは、現在のAIモデルが、これらすべての料理本を混ぜ合わせた「スムージー」で学習されていることを発見しました。AIには、「この特定のレストランは2021年版の料理本を使っているので、2021年のルールに従わなければならない」と言うためのメカニズムが備わっていません。その代わりに、最も一般的、あるいは最新のルールに基づいて推測してしまうため、時代錯誤なエラー(anachronistic errors)——つまり、古いバージョンには存在しなかったコマンドを使ったり、削除されたルールを無視したりといったミス——を引き起こします。

2. 解決策:LibEvoBench(「タイムトラベル試験」)

これを証明するために、チームは「LibEvo much」という新しいテストを構築しました。これは、AIシェフに対する厳格な試験のようなものです。

  • セットアップ: 彼らは、特定のバージョンの人気ライブラリ(PyTorch、NumPy、SciPy)を使用している実際のプロジェクトから抽出した、数千ものテスト問題を作成しました。
  • 3つのタスク:
    1. API呼び出し(API Calling): 「これは書きかけのレシピです。足りない材料を記入してください。」(AIは、この特定のバージョンに適した道具を選べるか?)
    2. API識別(API Identification): 「これはある道具の説明です。その名前は何ですか?」(AIは、コードを見ることなく正しい道具を特定できるか?)
    3. シグネチャの想起(Signature Recall): 「この道具の正確な材料と分量は?」(AIは、バージョン間で変化する具体的な詳細を記憶しているか?)

3. 結果:AIは「バージョン盲」である

結果は驚くべきもので、最も賢いモデル(GPT-4/5、Claude、Geminiなど)においても一貫していました。

  • 「安定」対「進化」のギャップ: AIが変化しないツール(Stable APIs)について尋ねられたときは優れた成績を収めました。しかし、バージョン間で変化するツール(Evolving APIs)について尋ねられると、パフォーマンスが大幅に低下しました。これは、AIはナイフを使った料理は得意だが、昨年発売されたばかりの特定の新しい調理器具を使うのは苦手である、という状態に似ています。
  • 「バージョン・タグ」の錯覚: 研究者たちは、AIに対して明示的に「バージョン2.0を使用してください」と伝えることで助けようとしましたが、全く効果がありませんでした。これは、時間盲の人に対して「今は1990年です」と伝えても、その人は依然として存在もしなかったスマートフォンを使おうとするようなものです。AIは「バージョン2.0」という言葉は見えますが、そのバージョンに何が含まれているのかを実際には「理解」していません。
  • 「マニュアル」によるブースト: しかし、研究者がAIのすぐ横に実際のドキュメント(レシピ本)を置いてあげると、AIのパフォーマンスは10〜20ポイント跳ね上がりました。これは、AIに本を渡せばルールを学ぶことができるものの、それらのルールを自分自身の脳内に記憶してはいないことを証明しています。

4. 新しいスコアカード:SEUS

チームは「SEUS」という新しいスコアを作成しました。これは単に「何問正解したか?」を問うのではなく、以下の点を問い直します。

  • 「モデルは新旧両方のバージョンに対して正しい答えを出せたか?」
  • 「混乱して、異なる時代を混ぜ合わせてしまっていないか?」

このスコアを用いることで、彼らは、最高峰のモデルであっても依然として大部分が「バージョン盲(version-oblivious)」であることを明らかにしました。彼らは賢いのですが、時間の経過とともに変化するソフトウェアを扱うために必要な、特定の種類の「時間的認識(temporal awareness)」が欠けているのです。

まとめ

この論文は、現在のコーディングAIモデルを、「あらゆる教科書を読んではいるが、出版日を書き留めるのを忘れてしまった優秀な学生」に例えて結論付けています。彼らはコードを書くことはできますが、過去のプロジェクトに対して「未来」の機能を使ったり、未来のプロジェクトに対して「過去」の機能を使ったりするという間違いを、うっかり犯してしまうのです。

研究者たちは、これを解決するためには、単にモデルを大きくしたり賢くしたりするだけでは不十分であり、知識を時間によって整理する方法を教え、どのルールがどのバージョンのソフトウェアに適用されるのかを正確に把握させる必要があると主張しています。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →