← 最新の論文
💬 NLP

Library Hallucinations in LLM-Generated Code: A Risk Analysis Grounded in Developer Queries

本論文は、誤字や架空の名前などの現実的な開発者プロンプトのバリエーションが、LLM によって生成されたコードにおいてライブラリの幻覚をどのように引き起こすかに関する最初の体系的な研究を提示し、重大な脆弱性を明らかにするとともに、これらのリスクの再現可能な評価と緩和を可能にする LibHalluBench ベンチマークを導入する。

原著者: Lukas Twist, Jie M. Zhang, Mark Harman, Helen Yannakoudakis

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

原著者: Lukas Twist, Jie M. Zhang, Mark Harman, Helen Yannakoudakis

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

非常に才能があり、自信に満ちているが、少し物忘れの激しい、コンピュータコードの作成を得意とするアシスタントがいたと想像してください。特定のツールを構築するように依頼すると、彼らは喜んでタイピングを開始します。しかし、このアシスタントには危険な癖があります:必要なツールの正確な名前がわからないとき、彼らは単にそれを捏造するのです。存在しないライブラリ(事前に作成されたコードの集合)を考案しますが、あまりにも自信に満ちて記述するため、実際に使用しようとしてエラーが発生するまで、それが偽物だと気づかないかもしれません。

この論文は、あなたが少し異なる指示を与えたり、小さな間違いを犯したりした際に、なぜこのアシスタントがこれらの偽物のツールを捏造するのか、その理由を深く掘り下げるものです。

以下に、彼らの発見を簡単なアナロジーを用いて解説します。

1. 「タイムトラベル」の罠

研究者たちは、アシスタントに「2025 年」のもの(まだ起こっていない、あるいは学習データを超えた年)のツールを求めると、アシスタントは非常に不安になり、激しく幻覚を見るようになることを発見しました。

  • アナロジー: 図書館員に未来に出版された本を頼んだと想像してください。図書館員は「それはありません」と言う代わりに、存在しない完璧な響きのタイトル、表紙、要約を捏造するかもしれません。
  • 結果: 「2025 年」のライブラリを求められた場合、最大**85%**の確率で、アシスタントは偽のライブラリを捏造しました。彼らは自身の「知識の切断日」(学習が停止した日付)を把握するのが非常に苦手です。

2. 「タイプミス」の罠(不精なスペル)

実際のライブラリ名を誤ってスペルミスした場合、アシスタントはそれを修正しません。むしろ、そのスペルミスのバージョンが本物だと主張し、さらに頑固になります。

  • アナロジー: 料理人に「Spagetti」(h が抜けている)を頼んだと想像してください。料理人は「スパゲッティのことですか?」とは聞かず、彼らが捏造した棚から「Spagetti」とラベルされた箱を取り出すか、あるいはもっと悪いことに、存在しない新しい料理「Spagetti」を考案するかもしれません。
  • 結果:
    • 1 文字のタイプミスnumpy の代わりに numpi など)の場合、**26%**のケースで偽のライブラリが使用されました。
    • 偽のライブラリ名(本物のように聞こえるが実際には存在しないもの、例:「GaussianTools」)は、最大**99%**のケースで受け入れられ、使用されました。アシスタントは依頼に応えたいという気持ちが強すぎて、存在しないことを伝えるよりも、偽のツールを使用する方を選びます。

3. 「形容詞」の罠(機能しないもの)

興味深いことに、「高速な」「簡単な」「現代的な」ライブラリを求めると、アシスタントは通常、これらの言葉を無視し、知っている標準的な実在のライブラリを選択します。

  • アナロジー: 「高速な車」を求めると、アシスタントは単に標準的なトヨタ車を渡します。「超高速飛行車」を捏造することはありません。なぜなら、それらの形容詞が曖昧であることを知っているからです。
  • 結果: 「高速」や「軽量」といった形容詞は、幻覚を引き起こすことはめったにありません。危険なのは、日付のような具体的な制約や、タイプミスのようなエラーです。

4. 「推論」の罠(考えすぎ)

研究者たちは、アシスタントに回答する前に「段階的に考えよ」または「事実を確認せよ」と指示することで、この問題を修正しようと試みました。

  • アナロジー: 不安な学生に「深呼吸をして、この数学の問題についてよく考えなさい」と言うようなものです。時にはこれが役立つこともありますが、多くの場合、学生は自分の誤った答えを正当化するために時間を費やした分だけ、その誤った答えに対してより自信を持ってしまうことがあります。
  • 結果: これらの「推論」のテクニックは一貫して機能しませんでした。実際、それらは幻覚を悪化させることさえありました。アシスタントは、なぜ自分の偽のライブラリが本物なのかを自信を持って説明するため、あなたが間違いに気づくのがより難しくなります。

5. 「ツール」の解決策(電話帳を確認する)

研究者たちは、アシスタントに簡単なツールを与えることをテストしました。それは、ライブラリが公式データベース(PyPI)に実際に存在するかを確認するボタンです。

  • アナロジー: アシスタントに推測させる代わりに、電話帳を渡します。彼らが「Spagetti を使います」と言ったら、電話帳を確認し、そこにないことを見て、「ああ、あれは存在しないですね」と言うのです。
  • 結果: これは大きく役立ちましたが、魔法のような解決策ではありませんでした。アシスタントは時折、本を確認することを忘れたり、確認した結果を無視して、それでも偽の名前を使用したりすることがありました。

最大の教訓:LIBHALLUBENCH

この問題があまりにも重大であるため、著者たちはLIBHALLUBENCHと呼ばれる新しいテストを作成しました。

  • アナロジー: これは、自動運転車が偽の一時停止標識を幻覚を見るかどうかを確認するために特別に設計された「運転免許試験」のようなものです。このテストには、「2025 年のライブラリをくれ」や「このスペルミスの名前を使え」といった数千ものトリッキーな質問が含まれており、さまざまな AI モデルが偽のツールを捏造する可能性を体系的にテストします。

なぜあなたが気にすべきか

あなたがコードを書くために AI を使用する開発者である場合、AI が偽のライブラリを捏造すると、コードを実行しようとした際にクラッシュします。さらに悪いことに、ハッカーが AI が捏造したものと一致する偽のライブラリを作成した場合(「スロップスクワッティング」と呼ばれる手口)、あなたのシステムはマルウェアに感染する可能性があります。

要約すると: AI コードジェネレーターは優れていますが、答えを知らないときは危険なほど自信過剰です。彼らはあなたの要求を満たすために、特に未来からのものを求められた場合や、小さなタイプミスをした場合に、偽のツールを捏造します。彼らがものを捏造するのを防ぐためのより良い方法が必要です。

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

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

Digest を試す →