AIのハルシネーションとそれを予防するには
AIの話題でよく出てくる言葉に「ハルシネーション」があります。
これは少々悪い言いかたになるのですが、人間の「知ったかぶり」と同じです。
このハルシネーションを放置していては、AI の言うことは信用ならん! となるでしょう。
それで今回は、ハルシネーションとは何なのか、そしてそれを予防するにはどうしたらよいか、についてAIと議論してまとめてもらいました。
ちなみに、このブログの考察カテゴリーにある記事のほとんどは、正確な回答がこの世に存在するものではありません。
しかし歴史など、学校の教科書に載っていることをそのまま書いても面白くないし考察にもなりません……
記事にするときは、いま私やAIの知っているデータから、数学的に言えば、より安定した極小点に落ち着くように場所を探して書いています。
これは、下の議論で言えば、アプローチCの「彫刻のプロセス」となります。
近年、生成AI(大規模言語モデル:LLM)はビジネスから日常の創作活動まで、あらゆる場面で不可欠なパートナーとなりました。しかし、AIを活用する上で避けて通れない最大の課題が「ハルシネーション(Hallucination:幻覚)」です。ハルシネーションとは、AIが事実に基づかない、もっともらしい「嘘」を出力してしまう現象を指します。
本稿では、プロンプト設計の本質である「AIへの自由度のコントロール」という視点を軸に、ハルシネーションが発生する根本的なメカニズムを解き明かし、各プロンプト手法が「なぜ、どのような原理でハルシネーションを予防・抑制するのか」について、初学者向けに徹底的に解説します。
1. ハルシネーションの正体:なぜAIは「もっともらしい嘘」をつくのか?
ハルシネーションを予防するためには、まず「AIが悪意を持って嘘をついているわけではない」という前提と、その構造的な原因を理解する必要があります。
① AIは「知ったかぶりをする小説家」である
AIの学習データは、主にインターネット上にある膨大なテキストデータです。世の中にすでに知られている質問(例:「日本の富士山の高さは?」)に対しては、データ内に明確な正解が多数存在するため、正確な回答を出力することができます。
しかし、「まだ答えの見つかっていない質問」や、データに存在しない架空の事象について質問されたとき、AIの構造的な弱点が露呈します。それは、AIには「わかりません」と言って白紙を提出することを嫌う(=次の言葉を紡ぎ続けようとする)性質があるということです。
AIは「事実を検索する機械」ではなく、直前の言葉に続く「確率的に最も自然な文字」を予測して繋げる、超高度な連想ゲーム(確率計算)を行っています。そのため、データがない未知の領域に対しても、手持ちの知識を総動員して「いかにもそれらしい専門用語」や「美しい文章の流れ」を創作(クリエイト)してしまうのです。これがハルシネーションの正体であり、人間から見ると「完璧な嘘」に見える原因です。
② AIは自分の間違いに自分で気づけない(メタ認知の欠如)
AIは、自分が最初に出力した不正確な回答を、自発的に「あ、今の嘘でした、わかりません」と修正することは困難です。
AIは1文字ずつ言葉を出力しながら、自分が直前に出力した文章の「流れ」に自ら引きずられていきます(=自分の言葉に酔っぱらう状態)。AIには、自分が書いている内容を客観的に見つめ直し、「これは本当に事実か?」と疑う客観的な視点(メタ認知能力)が、1回の思考プロセスの中だけでは備わっていません。そのため、一度間違ったレール(嘘の流れ)に乗ってしまうと、その間違いを前提としたもっともらしい結論へと突き進んでしまうのです。
2. プロンプトの二大思想:手綱の「締め方」と「緩め方」
ハルシネーションのリスクを理解した上で、私たちがAIをコントロールするために持つべき強力な武器が「プロンプト(指示文)」です。プロンプトの設計思想は、その目的によって大きく以下の二つの軸に大別されます。
【プロンプトの設計思想】
├── ① 選択肢を与えないプロンプト(タスク実行型・完全管理型)
└── ② 自由を与えるプロンプト(アイデア探求型・自律思考型)
この二つの軸を使いこなすことこそが、ハルシネーションを予防し、AIの能力を最大限に引き出す鍵となります。
3. ハルシネーションを予防・制御する4つの実践的アプローチ
では、実際にプロンプトを使って、AIの「知ったかぶり(ハルシネーション)」を予防・コントロールする具体的な4つの手法と、それぞれの「予防のメカニズム」を解説します。
アプローチA:ルールで「逃げ道」を作る(制限の付与)
最もシンプルかつ効果的な方法は、プロンプト内に「嘘をつくくらいなら、ギブアップせよ」という厳格なルールをあらかじめ明記しておくことです。AIに選択肢を与えない(縛る)技術の基本と言えます。
【プロンプトに付け足す防壁文の例】
「あなたが確実に事実であると確認できる情報のみに基づいて回答してください。もし少しでも不確かな情報や、データが存在しない内容が含まれる場合は、絶対に予想や創作で答えず、潔く『わかりません』とだけ出力してください」
🛡️ なぜこれがハルシネーション予防になるのか?
AIは「次の言葉を紡ぐ確率」を計算していると説明しました。何も指定しない場合、AIの中では「わからないから、それっぽい創作話を紡ぐ確率」が跳ね上がってしまいます。
しかし、このルールを事前に与えることで、AIの脳内に「情報がないときは『わかりません』という文字を出力するのが、最も確率的に正しい(評価が高い)」という新しいレールを強制的に敷くことができます。結果として、AIの「知ったかぶりモード」のスイッチをオフにし、安全にギブアップさせることが可能になります。
アプローチB:Few-Shot(例示)で「解釈の余地」を奪い取る
言葉のルールを10個並べるよりも、1つの「完璧なお手本」を見せる方が、AIの手綱を強く握ることができます。プロンプト内に「質問と、理想的な回答のフォーマット」のペアをあらかじめ書き込んでおく手法を「Few-Shot(あるいはOne-Shot)プロンプティング」と呼びます。
🛡️ なぜこれがハルシネーション予防になるのか?
ハルシネーションは、AIに「どう答えるべきか(表現方法や内容の広がり)」の自由度(選択肢)が残されているときに発生します。言葉でどれだけ「正確に書いて」と指示しても、AIはその「正確に」という言葉の解釈に自由度を持ってしまいます。
しかし、Few-Shotでお手本を提示すると、AIの画面上にはすでに「こういう質問が来たら、このように機械的に出力された」という確定した過去の事実(ログ)が存在することになります。AIは「直前のパターンをそのまま真似る(写経する)」のが何よりも得意です。
完璧なお手本(前例)があることで、AIは「自分で新しい言葉や設定を創作する(自由を発揮する)必要が全くない」という状態になります。余計な創作の余地、つまり「ハルシネーションを起こす隙」を完全に奪い去るため、出力が驚くほど安定するのです。
⚠️ Few-Shotでハルシネーションを予防するための「絶対条件」
Few-Shotでハルシネーションを防ぐには、例示する質問と、ユーザーが実際に投入する質問の「ジャンルや構造が極めて近いこと」が絶対条件です。
- ハルシネーションを防げる「近い」例:
- 例示: 「質問:リンゴの特徴は? → 回答:【分類】果物 【色】赤」
- 本番: 「質問:バナナの特徴は?」
- AIの動き: ジャンルが同じ「果物」なので、AIは自分のデータから「バナナ」を呼び出し、例示の型にハメるだけで済みます。頭を使う(創作する)必要がないため、ハルシネーションは起きません。
- 例示: 「質問:リンゴの特徴は? → 回答:【分類】果物 【色】赤」
- ハルシネーションを引き起こす「遠い」例:
- 例示: 「質問:リンゴの特徴は? → 回答:【分類】果物 【色】赤」
- 本番: 「質問:ChatGPTの特徴は?」
- AIの動き: ジャンルが「ITツール」と遠すぎます。AIは「ChatGPTの色って何だ…? 分類は果物じゃないし…」とパニックになり、モノマネができなくなります。結果として、手綱をすり抜けて「いつもの自由な知ったかぶりモード」に戻ってしまい、もっともらしい嘘を出力し始めます。
- 例示: 「質問:リンゴの特徴は? → 回答:【分類】果物 【色】赤」
AIに完璧なモノマネをさせ、創作の自由を奪うために、「質問の距離を近づける」という設計が不可欠なのです。
アプローチC:「自由」から始めて、対話の制約で「嘘を削り落とす」(彫刻のプロセス)
答えのない、あるいは不確定な要素が多い複雑な問いに対して、AIに最初から1回のプロンプトで「ハルシネーションのない完璧な事実」を出力させることは困難です。なぜなら、複雑な問いほどAIの自由度が広がり、ハルシネーションが混ざりやすくなるからです。
そこで、最初はあえてAIに「自由」を与えて大まかな回答(たたき台)を出させ、そこから人間が対話(追加の質問)を通じて少しずつ手綱を絞っていくアプローチをとります。これを「彫刻のプロセス」と呼びます。
🛡️ なぜこれがハルシネーション予防になるのか?
AIが一発目の回答でハルシネーション(嘘)をついてしまうのは、「人間が求めている具体的な条件やコンテキスト(文脈)が足りないため、AIが足りない部分を勝手な妄想(確率計算)で埋めてしまうから」です。
人間が追加の質問(対話)を行い、条件を後から付け足していく行為は、大理石の塊から余計な部分をノミで削り落とす作業そのものです。
対話を重ねるごとに、AIの脳内では「人間が提示した厳しい制約条件」という壁がどんどん狭まっていきます。 条件が狭まれば狭まるほど、AIが「勝手な妄想で埋めてよい余白(自由度)」が消滅していきます。
例えば、AIが1回目に「一般的な、あるいは一部嘘が混ざった解決策」を出してきたとします。そこに人間が次のように手綱を絞ります。
- 1回目のAI(一般論・嘘混じり): 「この問題を解決するには、最新の〇〇システム(※実在しない架空のシステム名)を導入するか、大規模な組織改革が必要です」
- 人間の追加質問(削り出し): 「今、私の手元には予算が1円もありません。また、動かせるメンバーは私を含めて2人だけです。この『予算ゼロ・2人だけ』という条件の中で、今日からすぐに実践できる具体的なアクションだけに絞り込んで、先ほどの提案を修正してください」
🔄 対話によるハルシネーションの消滅
この追加の質問により、AIが1回目についた「架空の最新システム」というハルシネーションの選択肢は、「予算ゼロ」という強力な制約によって強制的に削り落とされます。
AIは「予算ゼロ・2人・今日から」という極狭のレールの上で、確実に自分のデータ内にある「現実的な泥臭い手法」を探索せざるを得なくなります。
一発勝負の「検索」ではなく、対話によって「AIが嘘をつくための余白(スペース)を徐々に潰していく」こと。これが、対話(アプローチC)がハルシネーションの強力な予防・修正策になるメカニズムです。
アプローチD:別人のフリをして見直させる(セルフチェックの仕組み化)
前述の通り、AIは1回きりの出力では自分の間違いに気づけません。そこで、プロンプトの中でAIの中に「作成者」と「校閲者」の二人を同時に呼び出し、疑似的なメタ認知(客観視)を行わせる手法が有効です。
【セルフチェック・プロンプトの構成例】
- まず、ユーザーの質問に対する回答(回答A)を作成してください。
- 次に、あなた自身が作成した回答Aを、『極めて厳格なファクトチェッカー(検証者)』の視点から厳しく見直してください。
- もし回答Aの中に、ネット上のエビデンス(証拠)が乏しい情報や、ハルシネーションの疑いがある記述を発見した場合は、それを指摘し、最終的な出力ではその部分を『修正中・確認不可のため削除』または『わかりません』に書き換えて提示してください。
🛡️ なぜこれがハルシネーション予防になるのか?
AIは「自分が文字を出力している最中」は間違いに気づけませんが、「すでに出力され、画面上に固定されたテキスト」を客観的なデータとして読み込ませると、その整合性をチェックする能力は非常に高いという特性を持っています。
「作った本人」から「他人の文章をチェックする批判的な検証者」へとプロンプトで役割(縛り)を強制変更することで、1回目の思考で発生してしまったハルシネーションを、2回目の思考ステップで自ら検知し、「わかりません」へと修正・排除させることができるようになります。
4. 近年の技術動向:推論型AI(o1/o3-mini等)とハルシネーション
2024年から2026年にかけて、AIの進化は新しいフェーズを迎えました。それが、ChatGPTの「o1」「o3-mini」や、DeepSeekなどに代表される「推論型AI(Reasoning Models)」の登場です。
従来のAIは、ユーザーがエンターキーを押した瞬間に、見た目の滑らかさを最優先して言葉を「即座に出力」し始めていました(これがハルシネーションの最大の温床でした)。しかし、最新の推論型AIは、ユーザーに見えない裏側で「思考のプロセス(Chain of Thought)」をじっくりと走らせます。
AIが内部で「Aという仮説を立てる → 待てよ、これは論理的におかしい → Bに修正しよう → Bの根拠も不十分だ、ならば『わかりません』と答えるのが最適だ」という、人間と同じような試行錯誤と自問自答(アプローチDの自動化)を行ってから、最終的な回答を画面に出力します。
この技術革新により、AIが自律的にハルシネーションを検知・修正する能力は劇的に向上しました。しかし、どれほどAIの性能が上がろうとも、人間側が「何を求めているのか」という手綱(プロンプト)を適切に握れなければ、AIは再び霧の中に迷い込んでしまいます。
5. まとめ:AI教育において初心者に伝えるべきマインドセット
初心者がAIの学習を始める際、プロンプトの「呪文の書き方」を丸暗記する必要はまったくありません。最も大切なのは、本稿で議論してきた以下のシンプルな設計思想を身につけることです。
💡 AIのハルシネーションを制御する黄金律
- AIは「事実を検索する機械」ではなく、「言葉を繋ぐのが天才的に上手な、知ったかぶりをしやすい部下」である。
- 実務でハルシネーションを絶対に防ぎたいときは、Few-Shot(例示)を使って、AIから創作の自由(解釈の余地)を完全に奪い取る。
- 答えのない複雑な問題に挑むときは、あえて最初に「自由」を与えてハルシネーション混じりのアイデアを出させ、そこから対話(厳しい制約の追加)によって、嘘や妄想が入り込む「余白」を徹底的に削り落としていく。
AIの「自由度」という目に見えないパラメーターを、自分のプロンプト(言葉)によって締めたり緩めたりできるようになったとき、初心者は「AIをコントロールする楽しさ」を本当の意味で理解することができます。ハルシネーションを恐れるべき敵とするのではなく、その性質を正しく理解し、コントロールする術を学ぶことこそが、これからのAI時代を生きる私たちに求められる最重要スキルです。