Skip to main content
PromptQuorumPromptQuorum
ホーム/プロンプトエンジニアリング/AIハルシネーション:AIがなぜ物を作り出すのか — そしてそれを止める方法
Fundamentals

AIハルシネーション:AIがなぜ物を作り出すのか — そしてそれを止める方法

·12分で読める·Hans Kuepper 著 · PromptQuorumの創設者、マルチモデルAIディスパッチツール · PromptQuorum

大規模言語モデルは誤った情報を自信を持って生成します。これらのエラー(ハルシネーションと呼ばれる)は、架空の引用から完全な権威で提示された捏造された事実までの範囲です。それらが発生する理由、検出方法、および削減方法を理解することは、実際の作業でLLMを使用する誰にとってっても重要です。

重要なポイント

  • ハルシネーションとは何か: LLMによって生成された自信を持った偽のステートメントは、現実に違反し、架空の出典、偽の事実、捏造された詳細—流暢に提示されているかのように正確
  • なぜ発生するのか: LLMはテキストパターンを予測し、事実を検索しない。確認するデータベースがなく、不確実性を通知する内部信頼メカニズムがない
  • 検出方法: コンセンサススコアリング(複数のモデルに同じ質問をする;同意は信頼性の信号)、引用を事実確認、請求を独立して確認
  • コンセンサススコアリング: 同じプロンプトを5以上の独立モデルにディスパッチする;1つまたは2つの応答にのみ表示される請求は非常に疑わしく、検証を保証する
  • 緩和戦略: RAG(検証済みドキュメントでの接地)、明示的な出典、制約の設定(「このドキュメントからの情報のみを使用」)、マルチモデルコンセンサス、高リスク請求の人的レビュー

ビジュアルサマリー: AIハルシネーション:AIがなぜ物を作り出すのか — そしてそれを止める方法

読むよりスライドを好みますか?すべての主要概念、設定、ユースケースをカバーするこのインタラクティブなプレゼンテーションをクリックして — PDFとして保存。

以下のスライドデッキは次をカバーします:LLMが幻覚を見る理由(確率的トークン予測、理解ではない)、検出パターン付き7つの幻覚タイプ、幻覚を減らすプロンプト技術、モデル動作の比較。PDFを幻覚削減リファレンスカードとしてダウンロードしてください。

Download AIハルシネーション:AIがなぜ物を作り出すのか — そしてそれを止める方法 Reference Card (PDF)

AIハルシネーションとは何ですか?

AIハルシネーションは、見かけの確信を持ってLLMによって生成された事実上の偽りまたは捏造されたステートメントです。モデルは、不正な名前、架空の出典、不可能な日付、架空のURL—正確な情報と同じ流暢な言語を使用して、現実に違反するテキストを生成します。

これは、モデルが不確実性を表現することとは根本的に異なります。ハルシネーションは、存在しないこと、または決して起こらなかったイベントについての自信を持った詳細な主張が特徴です。モデルは、存在しないジャーナルに掲載されたペーパーを引用したり、伝記の詳細を捏造したり、歴史的な日付を数世紀ずれて述べたり、構築されたことのない製品機能を説明したりする可能性があります。ユーザーはそれを読んで、明確な言語が正確性を示していると仮定し、それに基づいて作用します—その情報が製造されていることを発見するためだけです。

一文で:ハルシネーションは、言語モデルが信頼できるストアから事実を検索するのではなく、テキストパターンを予測するために生成する流暢な虚偽のステートメントです。

言語モデルがハルシネーションを起こす理由

LLMは、シーケンス内の次の単語を予測することで機能します。データベースを参照したり、事実を根拠となる真実に対して検証したりしません。トレーニングデータのパターンに基づいて確率を計算します。この基本的な設計—言語タスクに非常に効果的—は本質的にハルシネーションへの圧力を生み出します。

コアメカニズム

  • トークン予測、事実検索ではない。 モデルのアーキテクチャは言語生成用に最適化され、事実検証用には最適化されていません。プロンプトが質問をすると、モデルの目標は、テキストの首尾一貫した、もっともらしい継続を生成することです。一貫性と真実は同じではありません。虚偽のステートメントは、不確実性の承認よりも首尾一貫している可能性があります。
  • トレーニングデータの隙間と有効期限。 モデルは、特定の終了日付を持つデータでトレーニングされています。情報ギャップ—トレーニング中にモデルが遭遇したことのないトピック、トレーニングカットオフ後の最近のイベント、狭い領域の専門知識—は空白を生み出します。これらのギャップについて聞かれた場合、モデルは予測する真実のパターンがありません。「この情報を持っていない」と言う代わりに、もっともらしく聞こえる詳細を発明します。
  • 明示的な信頼メカニズムがない。 モデルは各出力の横に信頼スコアを生成しません。彼らは、「この主張について30%確実です」と言う内部信号なしでテキストを生成します。出力でページを埋める圧力は、疑いを通知するか、リクエストを拒否するオプションを上回ります。
  • 回答を要求するプロンプトからの圧力。トピックについて説明する」や「理由ステートメントのすべての理由をリストする」のようなプロンプトは、暗黙的に伝えます:*あなたが不確かであっても、あなたは答える必要があります*。モデルはリクエストを満たすために詳細を発明することによって応答します。有用であることへの圧力を、不正確である危険よりも重要として扱います。
  • コンテキストウィンドウの制限と情報喪失。 LLMは、メモリ内に有限の量のコンテキストのみを保持できます。長いドキュメントまたは会話により、以前の詳細がフェードします。モデルは、前のセクションで何が言われたかを忘れたり、それを発明したり、誤ったり、以前のコンテキストと一貫しているかのように自信を持ってそのでっち上げを主張したりする可能性があります。コンテキストウィンドウに関するガイドを参照して、これが発生する理由と、トークン制限が出力信頼性に影響を与える方法を確認してください。
  • 多段階の推論での混乱。 複数の推論ステップを必要とする問題の場合、モデルは中間結果を失う可能性があります。結論を正当化するためにサポートステップを発明したり、ステップをスキップして虚偽の結論にジャンプしたり、論理的に正しく聞こえるテキストを生成したりする可能性があります。長い推論チェーンでトークンとコストがどのようにスケーリングするかを理解すると、精度と効率のバランスを取るのに役立ちます。

ハルシネーションの一般的なタイプ

ハルシネーションは認識可能なパターンで来ます。タイプを識別することは、緩和戦略をターゲットするのに役立ちます。

TypeExampleWhy It HappensSeverity
架空の出典ピアレビュー済みのペーパーへの引用が存在しない;偽の著者名と公開年モデルは数百万の引用でトレーニングされ、引用のようなパターンを学習し、新しい引用を発明非常に高い
誤った事実(日付、数字、名前)歴史的なイベントを誤った年に述べ;不正確な伝記の詳細トレーニングデータは不完全または矛盾している;モデルはもっともらしく聞こえる数字を選択非常に高い
偽造URL および電子メールリンクまたはメールアドレスを提供し、解決しないか、請求された組織に属していないモデルはURLとメールのパターンを学習し、現実的だが架空の新しいパターンを生成高い
コンテキスト損失モデルが以前のコンテキストを理解しているかのように質問に答え、実際には失われたコンテキストウィンドウは有限です;長いドキュメントは以前の詳細をモデルの注意から減退させます高い
役割ドリフト1つの役割(アナリスト)で始まり、徐々に別の(ストーリーテラー)に移行し、ギャップを埋めるために詳細を発明モデルは最初の指示の追跡を失い、テキストのみにパターンマッチングに戻る中程度
過信の一般化特定のトレーニング例のみが示す場合、「すべてのXがYを行う」と述べるモデルは限られたトレーニングデータから広すぎて一般化し、信頼チェックなし中程度
内部矛盾同じ応答内で対立する事実を述べるモデルは複数の文を超えて一貫性を追跡するメカニズムがない中程度

ハルシネーションの7つのタイプは:架空の出典、誤った事実、偽造URL および電子メール、コンテキスト損失、役割ドリフト、過信の一般化、および内部矛盾。

プロンプト設計がハルシネーションリスクに影響を与える方法

あなたのプロンプトはハルシネーションを奨励または落胆させます。違いは測定可能です。

ハルシネーションリスクを増加させるプロンプト:

  • トピックについてすべてを教えてください」—制限なし、「わかりません」と言う許可なし
  • 多くの詳細を含めることを確認してください」—発明された情報でスペースを埋めるための明示的な圧力
  • 「あたかも一流の専門家であるかのように書く」—不確かな請求でさえ、自信を持った主張を促す
  • 「確実でなくても答えてください」—ハルシネーションのブレーキを削除

ハルシネーションリスクを減らすプロンプト:

  • 「確実でない場合は、「わかりません」と言うことができます」—知識ギャップを認める明示的な許可
  • 「以下のコンテキストからの情報のみを使用してください」—応答を提供されたデータに制限し、発明された知識ではない
  • 「事実を意見から分離してください。不確かな請求に不確かなマークを付けてください」—モデルを区別するように強制
  • 「任意の事実上の主張について、あなたのソースを引用してください」—発明されたサイテーションを明らかに見える
  • 「この請求を確認できない場合は、それを含めないでください」—未検証のステートメントに明示的な制約

プロンプトの良い構造

優れたプロンプトは、4つの要素を組み合わせます:a 明確な役割またはコンテキスト(モデルはどのフレームを採用すべきですか?)、a 特定のタスク(どの出力が必要ですか?)、実際の入力データ(どの情報が提供されますか?)、および明示的な制約(モデルがしてはいけないことは何ですか?)。この構造は、モデルが何をすべきかについての曖昧さを除去することにより、ハルシネーションへの圧力を軽減します。すべてのプロンプトが必要とする5つの構成要素に関するガイドは、例を使用してそれぞれの要素をカバーします。

プロンプトエンジニアリングの基礎の完全な定義を参照して、構造が出力信頼性に影響を与える方法についてさらに詳しく説明してください。

ハルシネーションを減らすためのテクニック

3つの相補的なアプローチはハルシネーションを減らします: - プロンプトレベル:プロンプトの不確実性を認める制約と許可を追加 - システムレベル: RAG、関数の呼び出し、または検索を使用して、実際のデータの回答を接地 - モデルレベル:複数の独立したモデルで同じプロンプトを実行して、コンセンサスによるハルシネーションを検出

1. 「わかりません」と言う明示的な許可

モデルに伝えます:「確実でない場合、または情報を持っていない場合は、そう言ってください。推測しないでください。」

これは、回答を発明する圧力を取り除きます。多くのモデルは役立つようにトレーニングされており、完全に不確実であっても回答しようとします。彼らにその期待から明示的に解放されることを与えることは、彼らに拒否する許可を与えます。

2. ソースまたは証拠を求める

リクエスト:「事実上の主張について出典を引用するか、各参照のURLと発表日を提供します。」

これは発明されたサイテーションを明らかに(それらは解決されたり、存在しないソースを指します)、モデルをファクトアサーションに関する慎重さを強制します。また、出力を検証する方法を提供します:各リンクをクリックし、各ソースを確認します。

3. 自己批判と矛盾チェック

モデルに独自の出力を確認するように求めます:

> 「回答を終了した後、矛盾または以前に言ったことと矛盾する請求について確認してください。見つけた矛盾を指摘してください。」

モデルは、反映するよう求められたときに独自のエラーをキャッチすることがよくあります。その後、モデルはあなたがそれを見る前に答えを改正できます。

4. 否定的な指示を使用する

モデルがしてはいけないことを明示的に述べます:

  • 「いかなる状況下でも、ソース、URL、または著者名を発明しないでください」
  • 「確実でない場合は日付を推測しないでください—推測する代わりに日付を空白にしてください」
  • 「提供されたコンテキストに含まれていない情報を追加しないでください」

否定的なフレーミングは、特定のエラーを防ぐために肯定的なフレーミングよりも優れた場合があります。

5. 検証による段階的な推論

複雑なタスクの場合、質問:

> 「これをステップバイステップで作成します。各ステップの後、前のステップが正しいことを確認してから、次のステップに進みます。」

タスクをより小さなチャンクに分割し、検証ステップを使用すると、矛盾が化合する前にモデルをキャッチするチャンスをキャッチします。

6. 証拠セクションを備えた構造化出力形式

モデルに、応答推論証拠を異なるセクションに分離するよう依頼します:

``` 応答:直接応答

推論:この回答に到達した方法

証拠:これをサポートするソース、事実、または引用

信頼:あなたはどの程度確実で、なぜか? ```

この構造により、ハルシネーションは簡単に見えます:サポートされていない請求は、空のまたは曖昧な証拠セクションと低い信頼値があります。

プロンプト設計以外のシステムレベル戦略

プロンプトだけは高リスク作業には不十分です。これらのツールとワークフローを追加します。

  • Retrieval-Augmented Generation(RAG)。 モデルに特定のドキュメント、ナレッジベース、またはデータセットを提供し、そのコンテンツのみを使用して回答するよう依頼します。これにより、モデルのトレーニングデータの代わりに実データにアンカーされた応答を接地し、欠落情報についてのハルシネーションを排除します。LangChain、Anthropic'sプロンプトキャッシング、ベクトルデータベースなどのツールはこのパターンを実装しています。RAG:実データの回答をアンカーする方法に関する完全なガイドを参照してください。
  • ツール呼び出しと関数の使用。 モデルが計算、データベースルックアップ、または事実確認のための外部関数を呼び出すことを許可します。統計を発明する代わりに、モデルはそれを取得するために関数を呼び出します。これは特定のドメインに対してハルシネーションする誘惑を完全に排除します。
  • 人間のレビューと専門家検証。 重大な決定—医療、法律、財務、安全クリティカル—については、常に人間(理想的には専門家)がAIで生成された回答を確認させてください。プロンプト技術はエキスパートジャッジメントの代わりになりません。
  • 自動ファクトチェックワークフロー。 自動システム(ファクトチェックAPI、URL検証、引用検証)を通じてモデル出力を実行してから、ユーザーに表示します。これは、すべての出力の手動レビューなしにハルシネーションを大規模に検出します。

複数のモデルとコンセンサス検出

単一のモデルは自信を持ってハルシネーションできます。しかし、複数の独立したモデルに同じ質問をする場合、彼らはしばしば幻想的な請求について意見が異なります。

5つのモデルが独立して質問への類似した回答を生成する場合、その答えは単一のモデルが回答するよりもはるかに正確である可能性があります。1つのモデルのみが何かを主張し、4つのモデルは言及しない場合、その請求は非常に疑わしく、検証を正当化します。

これはコンセンサススコアリングの背後にある原則です:同じプロンプトを多くのモデル(GPT-5.5、Claude Opus 4.8、Gemini 3.5 Pro、Mistral Large、Llama 3、DeepSeekなど)に送信し、彼らが同意する場所と同意しないかを分析します。

PromptQuorum コンセンサステスト

PromptQuorumでテスト—15ハルシネーション傾向プロンプトをGPT-5.5、Claude Opus 4.8、およびGemini 3.5 Proに送信: GPT-5.5は完全に1つの引用を作成しました。Claude Opus 4.8は未検証のペーパーを引用することを拒否しました。Gemini 3.5 Proは3つの実際のペーパーを引用しましたが、1つは年が正しくありません。1つの引用のみが3つすべてのモデル応答に表示されました。このテストは、モデル全体のコンセンサスが信頼性の有意な信号である—そして、単一モデル応答がより多くの製造を含む可能性があることを実証しています。

PromptQuorumはこれを自動化します:25 +のAIモデルに同時に1つのプロンプトを送信し、すべての回答全体でコンセンサス分析を実行し、どの請求が高い合意を持っているか(おそらく信頼できる)と低い合意(さらに調査する価値がある)についての判決を得ます。ツールは、どの請求が矛盾するかを正確に標識し、1つまたは2つの応答にのみ表示される請求を表示し、機能別にモデル応答を重み付け—ハルシネーション検出を根拠のない推測から構造化された、データドリブン分析に変換します。

マルチモデルAIがハルシネーションを減らす方法を参照して、より深い技術的説明を行うことを参照してください。

ハルシネーションガバナンスのグローバルパースペクティブ

ハルシネーションリスクと軽減戦略は地域と規制の文脈によって異なります。ヨーロッパでは、EU AI Actは高リスクAIシステムの透明性とエラー報告を強調し、ハルシネーション文書を義務的にします。Mistral AI(フランス)は、EUコンプライアント性のアプリケーションでハルシネーション削減に特定の焦点を持つモデルを構築しています。中国では、Qwen 3やDeepSeekなどのモデルは、トレーニングデータ構成とCJK言語(中国語、日本語、韓国語)のためのトークン化効率によるハルシネーションパターンが異なります—これらのモデルは、英語最適化モデルとは異なるトークン-to-information比を処理します。日本では、METI(経済産業省)データガバナンスガイドラインの下で動作する企業は、データ居住権とコンプライアンスを確保するために、ハルシネーション傾向のタスクのためにモデルをローカルに展開ます。

地域に関係なく、コアテクニック(RAG、コンセンサスチェック、人的レビュー)は普遍的に適用可能です。規制の文脈と言語要件に基づいてモデルを選択して検証してください。

ハルシネーションが最も危険な場合

ハルシネーションは特定のドメインで重大な害のリスクがあります。特に注意してください:

  • 医療および健康決定 —誤った薬物名、用量、または症状の解釈は患者に害を及ぼす可能性があります
  • 法律およびコンプライアンス —作成された判例法、規制要件、または前例は、高額なエラーまたは違反につながる可能性があります
  • 財務アドバイス —誤った市場データ、不正確な税情報、または製造されたパフォーマンスメトリックは、高リスク決定を誤ったります
  • 安全クリティカルシステム —コードレビュー、建築決定、またはセキュリティ分析のハルシネーションは、脆弱性またはバグを導入できます
  • パブリック帰属 —あなたの名前またはブランドの下で公開されたもの、幻想は信頼性を傷つけることが確認する必要があります

重要な原則:完全なプロンプトとコンセンサスチェックであっても、人的検証は高リスク決定に不可欠です。AIを時間節約とファーストパスツール使用し、エキスパートジャッジメントまたはプライマリソース検証の交換ではなく。

自己批評技術が複雑な推論タスクでエラーをさらに削減する方法を学びます。

実践的なチェックリスト:重大なプロンプトを送信する前に

重大なプロンプトに依存する決定または公開出力を送信する前に、このチェックリストを使用します:

  • プロンプトは明示的に「わかりません」を許可しますか?追加:「確実でない場合は「わかりません」と言えます」
  • プロンプトに実際のコンテキストまたはデータはありますか?曖昧なプロンプトは発明を招待します。具体的なドキュメント、例、または入力データを提供します。
  • 制約は明示的ですか?モデルがしてはいけないことを述べ、特に:「出典、URL、または引用を発明しないでください。」
  • 出力形式は構造化されていますか?応答/推論/証拠/信頼を分離します。これにより、サポートされていない請求が明らかになります。
  • ソースを要求していますか? 事実上の請求については、次を要求します:「この事実について出典を引用してください。」
  • タスクは具体的で、未ではありませんか? 「*金融の専門家をターゲットにするB2Bスタートアップ用に5つのマーケティング戦略をリストしてください*」は「マーケティングについて教えてください。」より優れています
  • モデルに自己確認を求めましたか?追加:「提出する前に矛盾について回答を確認します。」
  • 高リスク決定の場合は、交差チェックしていますか? 複数のモデルに同じプロンプトを送信し、回答を比較してください。

プロンプトの例の前/後

悪いプロンプト

これが失敗する理由:オープンエンド、制約なし、不確実性を認める許可なし。モデルは日付を発明し、進歩を誤信し、時代遅れの情報を自信を持って述べ、おそらく存在しないペーパーを引用します。

人工知能の歴史について教えてください。大きな進歩と重要な研究者を含めてください。

良いプロンプト

以下の時間線のみを使用して、1950年から1990年のAIの大きな進歩を要約します: {TIMELINE DATA INSERTED} あなたの答えを次のようにフォーマット: 進歩: {名前} 年: {年—時間線に記載されている場合のみ} 重要性: {何を有効にしたか} ソース: {時間線のどのドキュメントがこれを言及していますか?} 時間線にない情報を追加しないでください。何かが時間線にあるかどうか確実でない場合は、推測するのではなくスキップしてください。

これが機能する理由:

  • 発明ではなく実データ:モデルは提供されたコンテキストから動作し、トレーニングデータギャップからではない
  • 構造化出力:形式により、欠落しているソースが即座に明らかになります
  • 否定的指示: "時間線にない情報を追加しないでください"は明示的です
  • 省略する許可: "確実でない場合はスキップしてください"は詳細を発明する圧力を削除
  • ソース責任: すべての請求は、どのドキュメントがそれから来たかを引用することが必要です

よくある質問

ハルシネーションは完全に排除できますか?

いいえ。ハルシネーションはどの言語モデルが機能するか固有—彼らは検証済みストアから事実を取得するのではなくテキストパターンを予測します。優れたプロンプト設計、RAGなどのツール、マルチモデルコンセンサスを大幅に削減できますが、現在のLLMアーキテクチャを考えると完全な除去は不可能です。人的検証は高リスク決定のために必要なままです。

モデルが間違っている場合、なぜそんなに自信を持っているようですか?

言語モデルは流暢で一貫したテキストを生成するようにトレーニングされています。自信は言語的一貫性の副作用です。虚偽のステートメントは、不確実性の正直な認識よりもはるかに一貫していて、よくまとまっている可能性があります。モデルは疑いを表現する組み込みメカニズムを持っていません—正確性に関係なく、同じ流暢な自信でテキストを生成します。

より新しく、より大きなモデルはハルシネーションが少ないですか?

より大きなモデルは、もっともらしく聞こえるテキストを生成するのが優れているため、いくつかのタスクでより多くハルシネーションします。これにより、虚偽の主張が検出しにくくなります。しかし、より新しいモデルはいくつかの事実タスク(より最近のトレーニングデータと強い指示フォロー)でより良く実行します。モデルサイズとハルシネーション間の関係はタスク依存であり、単調ではありません。

モデルをインターネットに接続すると、ハルシネーションが削除されますか?

一部。リアルタイムWebアクセスは現在のイベントと最近のファクトに役立ちますが、コアの問題を解決しません:モデルはまだ詳細を発明し、検索結果を誤ったり、実際に取得しなかったコンテンツについてハルシネーション。インターネットアクセスはハルシネーションの1つのクラスを削減するツールであり、治療法ではありません。

回答がハルシネーションであるかどうかを素早く確認するにはどうすればよいですか?

ソースを確認する:URLをクリックするか、引用されたペーパーを検索します。存在しない場合、回答はハルシネーションです。事実を確認する:信頼できるソースに対して日付、名前、数字を確認します。複数のモデルを比較する:異なるモデルに同じ質問をしてください。鋭い意見の不一致は、少なくとも1つがハルシネーションしていることを示唆しています。ドメインの専門知識を適用する:フィールドを知っているなら、微妙な不可能について批判的に読む—ハルシネーションはしばしば専門家の読者にとって暴露のしるしを持っています。

ハルシネーションする場合、AIの使用を停止する必要があります?

いいえ。検証でAIを戦略的に使用してください。ブレーンストーミング、ドラフト作成、探検的な작업については、ハルシネーションは軽微な不便です。事実クリティカルな作業(研究、コンプライアンス、医療決定、財務アドバイス)については、AIを開始点として使用し、その後、信頼できるソースまたは専門家のレビューですべてを確認します。

ハルシネーション真の誤りの違いは何ですか?

ハルシネーションは自信を持ち、間違いです。モデルが"確実ではありませんが、それはXかもしれません"と言う場合、それは正直な不確実性であり、ハルシネーションではなく。 "フランスの首都はベルリンです"と完全な自信を言う場合、それはハルシネーション—モデルが事実であるかのように何か偽りを述べました。ハルマークは何かが真実ではない自信を持った主張です。

関連読書

ソース

  • Wei, J., Wang, X., Schuurmans, D., et al. (2022). "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models." ArXiv —段階的な推論が数学およびロジックタスクのハルシネーションを削減することを実証する基礎論文。
  • Maynez, J., Narayan, S., Hashimoto, B., & Hardt, D. (2021). "On Faithfulness and Factuality in Abstractive Summarization." ACL Proceedings —神経テキスト生成のハルシネーション率とメカニズムの経験的研究。
  • Anthropic (2024). "Constitutional AI." https://www.anthropic.com/constitutional-ai —原則ベースの訓練を通じて有害な出力とハルシネーション削減するためのAnthropicのアプローチ。

これらのテクニックをローカルLLMまたは独自のAPIキーで適用しましょう — PromptQuorumはあらゆるバックエンドに対応します。

PromptQuorumを無料で試す →

← プロンプトエンジニアリングに戻る