← 最新の論文
💻 computer science

When Prompt Under-Specification Improves Code Correctness: An Exploratory Study of Prompt Wording and Structure Effects on LLM-Based Code Generation

この探索的研究は、プロンプトの過少指定が構造的に最小限のベンチマークではコード生成を通常劣化させる一方で、LiveCodeBench のようなより豊かなタスクでは誤った手がかりを撹乱することで正確性を驚くほど向上させる可能性を示し、プロンプトの頑健性が固定されたモデルの性質ではなく、タスクの構造に強く依存することを明らかにしている。

原著者: Amal AKLI, Mike PAPADAKIS, Maxime CORDY, Yves Le TRAON

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

原著者: Amal AKLI, Mike PAPADAKIS, Maxime CORDY, Yves Le TRAON

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

あなたがコンピュータプログラムを作成するよう依頼する際、非常に優秀だが少し文字通りすぎる助手を雇うと想像してください。あなたは彼らに一連の指示(「プロンプト」)を与えます。長らく、専門家たちは指示がより精密で詳細かつ厳格であればあるほど、助手はうまく機能すると信じていました。もし一つの細部を省略すれば、助手は混乱し失敗すると考えられていたのです。

この論文は、その古い信念に挑戦します。研究者たちは、助手に詳細を「少なく」与えることが、実際にはより良いコードの作成を助ける場合があることを発見しました。

彼らがこれをどのように発見したか、簡単な比喩を用いて説明します。

1. 2 種類の「試験」

研究者たちは、AI モデルの性能を測る 2 種類の異なる「試験」(ベンチマーク)でこのアイデアを検証しました。

  • 「フラッシュカード」試験(HumanEval): これらは短い単一文のフラッシュカードのようなものです。指示は非常に簡潔で、追加の文脈はありません。「このリストをソートする関数を書いてください」と頼むようなものです。
  • 「教科書」試験(LiveCodeBench): これらは教科書の章全体のようなものです。長い物語、規則のリスト、入力と出力の例、そして特定の制約が含まれています。「名前をソートするリストについての物語があります。規則は次の通りです:名前は 10 文字を超えてはいけません。そして、入力の例は以下の通りです…」と言うようなものです。

2. 実験:指示を「壊す」

研究者たちは、これらの指示を意図的に 3 つの方法で「突然変異」させ、何が起きるかを観察しました。

  • 曖昧さ(LV): 具体的な言葉を曖昧な言葉に置き換えました(例:「ソート」を「並べる」に変更)。
  • 不足指定(US): 特定の規則や制約を削除しました(例:数字の大きさにに関する規則を削除)。
  • 汚れたフォーマット(SF): 誤字を追加したり、スペースを変更したりしました。

3. 驚くべき結果

結果は、AI がどの「試験」を受けたかによって大きく異なりました。

  • 「フラッシュカード」試験では: 研究者が詳細を削除したり言葉を曖昧にしたりすると、AI の性能は急落しました。短い小テストからヒントを削除された時にパニックに陥る学生のように、AI は混乱し、壊れたコードを書きました。
  • 「教科書」試験では: 同じことを行った場合、AI の性能は変化しなかったか、驚くべきことに向上しました

「ネットゼロ」の錯覚:
当初、研究者たちは「教科書」試験を受けた AI は単にその変化を気にしていなかったと考えていました。しかし、より詳しく調査すると、綱引きのような状況があることがわかりました。

  • いくつかの変化は AI を失敗させました(劣化)。
  • しかし、ほぼ同数の変化は、以前は失敗していた場所で AI を成功させました(改善)。
  • この 2 つの力が互いに打ち消し合い、何も起きていないように見せかけていたのです。

4. なぜ「少ない」ことが時に「多い」ことになるのか?

この論文は、規則を削除することがなぜコードを修正する場合があるのか、その興味深い理由を突き止めました。それは**悪い習慣と「手がかり」**に関するものです。

AI を、特定の教科書から答えを暗記している学生のように想像してください。

  • 罠: 時折、プロンプト内の特定の単語や特定の数字が「トリガー」として機能します。それは AI に、一見正しく見えるが実際にはこの特定の課題には不適切な、暗記された解決策を思い起こさせます。
    • 論文からの例: 問題に「通貨」という言葉が含まれていました。この言葉は AI に金融の為替レートを想起させ、後向きな思考のアルゴリズムを使用させる結果となりました。
  • 解決策: 研究者たちが「通貨」という言葉を削除し、「リソース」といった曖昧な言葉に置き換えると、AI はその「金融の記憶」をトリガーしなくなりました。代わりに、AI はゼロから問題の構造を考えることを強いられました。これにより、正しい解決策が導き出されたのです。

つまり、プロンプトの追加情報は、時折 AI を誤った道へ導く「ヒント」を偶然与えていたのです。そのヒントを削除することで、AI は正しく作業を行うことを強いられたのです。

5. 主な教訓

この論文は結論として、頑健性とは AI の大きさ(小型モデルか巨大モデルか)に関係なく、指示がどのように構築されているかにかかっていると述べています。

  • AI に短い単一文のプロンプトを与える場合、それは非常に脆弱です。言い回しを間違えれば失敗します。
  • AI に豊かで多層的なプロンプト(例、制約、フォーマットを含む)を与える場合、それははるかに頑健です。指示の一部が混乱しても、頼れる「バックアップ信号」を持っています。
  • 重要なのは: 時折、あまりに具体的であることが罠となります。特定の単語や数字は、誤ったショートカット(暗記されたが正しくないもの)を使うよう AI を無意識に誘導(プライミング)してしまうことがあります。それらの具体的な手がかりを削除することで、AI は問題を正しく解くことを強いられます。

要約すると: 完璧で詳細なプロンプトが常に最善であると仮定しないでください。時折、少し曖昧なプロンプトの方が、AI に自ら考えさせ、暗記された習慣の罠を回避させるのです。

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

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

Digest を試す →