【LLM全般】LLMの幻覚(ハルシネーション)を減らすプロンプト設計テクニック

導入

大規模言語モデル(LLM)は、文章生成や情報抽出など、多岐にわたるタスクで驚異的な能力を発揮します。しかし、その一方で、事実に基づかない、あるいは矛盾した情報を自信を持って生成してしまう「幻覚(ハルシネーション)」は、実用上の最大の課題の一つです。この現象は、AIの信頼性を損ない、ビジネスや研究での適用を妨げる要因となります。本記事では、この幻覚を可能な限り減らし、より正確で信頼性の高い出力を得るための、実践的なプロンプト設計テクニックに焦点を当てます。

幻覚(ハルシネーション)が発生する主な原因

LLMの幻覚は、単なる「間違い」ではなく、そのアーキテクチャと学習プロセスに根ざす根本的な特性です。第一に、LLMは本質的に「次の単語の予測器」であり、与えられた文脈に対して統計的に最も尤もらしい単語列を生成するように訓練されています。これは、事実の検証や論理的整合性の保証を主目的としていないことを意味します。第二に、学習データ自体に含まれる誤情報や矛盾、あるいは特定の分野での情報不足が原因となります。第三に、プロンプトが曖昧であったり、文脈が不十分であったりすると、モデルは自身の内部知識(時に不正確)を過剰に補完し、幻覚を起こしやすくなります。これらの原因を理解した上で、適切なプロンプト設計により、モデルの挙動を「事実に基づく回答生成」へと導くことが可能です。

幻覚を減らすプロンプト設計テクニック

以下に、実践的で効果的なテクニックを、具体例と共に紹介します。これらのテクニックは単独でも有効ですが、組み合わせることで相乗効果が期待できます。

1. 役割と制約の明確な定義

モデルに特定の役割(例:厳格な事実検証者)と、回答における厳格な制約(例:不確かなことは「わかりません」と答える)を最初に提示します。これにより、モデルの応答範囲を事実ベースの領域に制限します。

あなたは、信頼性の高い情報を提供する専門アシスタントです。以下のルールに厳格に従って回答してください:
- 回答は、公的に確認されている事実にのみ基づいてください。
- 情報に少しでも不確実性がある場合は、「確実な情報を確認できません」と明記してください。
- 推測や憶測は絶対に含めないでください。

質問:2025年のノーベル文学賞受賞者は誰ですか?

2. 段階的思考(Chain-of-Thought)と検証要求

「一歩ずつ考えてください」や「根拠を説明してください」といった指示により、モデルに思考過程を言語化させます。これにより、結論に至る論理の飛躍や事実誤認を特定しやすくなります。さらに、中間段階で情報源の検証を要求することで、幻覚のリスクを低減できます。

以下の質問について、段階を踏んで回答を構築してください。
1. まず、質問の核心となる事実は何かを特定してください。
2. 次に、その事実について、あなたが学習データから得ている情報を要約してください。
3. その情報が確実な公知の事実と言えるか、それとも曖昧さを含む可能性があるかを評価してください。
4. 最後に、1〜3のプロセスに基づいて、最終回答を生成してください。

質問:サッカー選手のリオネル・メッシは、オリンピックで金メダルを獲得しましたか?

3. 情報源の提供と引用要求(RAG前提)

Retrieval-Augmented Generation (RAG) システムを構築している場合、プロンプトに「提供された文脈からだけ回答しなさい」と明示し、モデルが内部知識に依存することを防ぎます。回答には必ず文脈内の該当箇所を引用させることで、回答の検証可能性を高めます。

以下の「関連文脈」のみに基づいて質問に答えてください。関連文脈に情報がない場合は、「提供された文脈には関連情報がありません」と答えてください。回答の一部には、必ず該当する文脈の番号(例: [1])を引用してください。

関連文脈:
[1] 当社の製品カタログ(2024年版)によると、モデルXの最大処理速度は毎秒150トランザクションです。
[2] サポートFAQには、モデルXの保証期間は購入日から3年間と記載されています。

質問:モデルXの保証期間と、モデルYの処理速度を教えてください。

4. 自信度の表明と「知らない」ことの許可

モデルに回答の自信度を表明させたり、積極的に「知らない」と答えられるように促すことは、幻覚を無理に生成することを防ぎます。これは、特に境界的な知識や最新情報について有効です。

以下の質問に対して、以下のフォーマットで回答してください。
- 回答:
- 自信度(高/中/低):
- 備考(情報源や不確実性の理由):

質問:火星の衛星フォボスの地表から、地球の満月はどのくらいの明るさで見えますか?

5. 複数回答の生成と矛盾点の検出(Self-Consistency)

同じ質問に対して、異なる思考経路やパラメータで複数回の回答を生成させ、それらを比較します。回答間で矛盾が生じた場合、その部分は幻覚である可能性が高く、ユーザーや別のシステムによる検証が必要であるというシグナルとなります。

以下の質問に対して、**独立して**3つの異なる回答を生成してください。
その後、3つの回答を比較し、事実として一致している点と、矛盾している点をリストアップしてください。

質問:光合成において、カルビン回路で最初に生成される安定な有機物は何ですか?

(モデルが3つの回答を生成した後、ユーザーまたはシステムが整合性をチェック)

6. プロンプト内での事例提示(Few-Shot Prompting)

モデルに求められる応答形式と精度を、具体的な入力・出力のペア(事例)で示します。これにより、曖昧な指示だけを与えるよりも、はるかに正確で幻覚の少ない出力を誘導できます。

以下の例のように、事実に基づき、不確かな部分は明確にしてください。

例1:
ユーザー:エベレストの正確な標高は?
アシスタント:ネパールと中国の当局が共同で公表した最新の標高は8,848.86メートルです(2020年測定)。

例2:
ユーザー:2030年に月面基地を最初に建設するのはどの会社?
アシスタント:2030年の月面基地建設について、現時点で正式に決定され確実と言える情報は公開されていません。いくつかの企業や機関が計画を発表していますが、確実性は低いです。

では、以下の質問に答えてください。
ユーザー:ビットコインの匿名の創設者、サトシ・ナカモトの正体は最近わかりましたか?

まとめ

LLMの幻覚を完全にゼロにすることは現状では困難ですが、適切なプロンプト設計によってその発生頻度と影響を大幅に低減することが可能です。鍵は、モデルを「創造的な語り手」から「厳格な事実報告者」へと誘導することにあります。そのための具体的な手法として、役割と制約の定義、段階的思考の促し、情報源への依存と引用、自信度の表明、複数回答の比較、そして事例による明確な指示が極めて有効です。これらのテクニックを組み合わせ、タスクや求められる信頼性のレベルに応じて調整することで、AIをより信頼性の高い知的パートナーとして活用できる道が開けます。プロンプト設計は、単なる「質問の仕方」ではなく、AIと効果的に対話するための重要なスキルなのです。

🚀 プロンプト技術をさらに磨くなら

プロンプトエンジニアリングの実践には、高性能なAIモデルへのアクセスが不可欠です。

  • ChatGPT Plus — GPT-4o/o1による高度な推論が利用可能
  • Claude Pro — 長文コンテキストと精密な指示理解に強い
この記事は役に立ちましたか?