ハルシネーションを抑えるプロンプト、6つの組み立て方

2026.07.27

ハルシネーションを抑えるプロンプト、6つの組み立て方

ハルシネーションを抑えるためのプロンプトの組み立て方

大規模言語モデル(LLM)は、自然言語処理の分野で重要な技術であるが、その応答において時折「ハルシネーション」と呼ばれる現象が発生する。このハルシネーションとは、事実に基づかないもっともらしい回答をすることを指す。ハルシネーションが起きる理由は、モデルがトレーニングデータから学習を行う際に、不完全または矛盾した情報を取得することや、文脈を正確に理解できないことに起因する。

ハルシネーションを抑制するためには、プロンプトの組み立て方が重要な要素となる。以下に、ハルシネーションを抑えるための具体的な手法を紹介する。

役割・文脈の明確化

まず、プロンプトにおいて「あなたは誰で、どのような目的でこの作業をしているのか」といった役割と文脈を明確にすることが効果的である。この手法を用いることで、モデルが参照する知識の範囲を絞り込み、一貫性のない回答を抑えることができる。例えば、以下のようにプロンプトを構成する。

あなたは歴史の専門家です。以下の質問に答えてください。

このように、役割を明示することで、モデルが特定の視点から回答するよう促す。

出典の明示を要求する

次に、回答の根拠となる情報源を示すように指示することが重要である。これは、モデルが学習データだけに頼らず、与えた資料や検索結果に基づいて答えを形成する手助けをする。具体的には以下のようなプロンプトが考えられる。

次の質問に答えるにあたり、情報源を明示してください。」

これにより、モデルは具体的な情報源を参考にしながら回答するため、根拠の薄い主張が減少する。

フォールバックを明示的に指示する

プロンプトにおいて、必要な情報が与えられた文脈に無い場合の振る舞いを明示的に指示することも有効である。「与えられた情報の中には記載がありません」と答えるように促すことで、モデルが空白を推測で埋める行動を防ぐことができる。例えば、以下のようなプロンプトを使用する。

情報が不足している場合は、無理に推測せずにその旨を伝えてください。

段階的な推論を促す(Chain-of-Thought)

次に、段階的な推論を促す手法が考えられる。これは、結論に至る過程を提示するように指示することで、論理の飛躍を防ぎ、誤った結論を減少させるための方法である。具体的には次のようにプロンプトを構成する。

結果に到達するための論理的なステップを示してください。

このようにすることで、モデルは根拠を示しながら考え、信頼性の高い回答を生成しやすくなる。

対立的な役割を与える

さらに、一つの回答案に対して別の役割を与えて自己検証させる手法がある。批判者や査読者の役割を与えることで、モデル内で自己対話を促し、矛盾点や根拠の薄い部分を指摘させる。このアプローチにより、モデル自体の回答精度を高めることが可能になる。具体的なプロンプトは以下の通りである。

あなたの回答に対する批判的な視点を持つ役割を演じ、矛盾点を指摘してください。

RAG(検索拡張生成)との組み合わせ

さらに、RAG(検索拡張生成)を活用することも有効である。外部の文書や検索結果をプロンプトに組み込み、「与えられた文脈の範囲内でのみ回答すること」と指示することで、根拠のある回答に近づける。これにより、モデルが学習データの範囲を越えて不要な推測をすることを防ぐことができる。以下のような構成でプロンプトを作成する。

次の情報を参照し、与えられた文脈の範囲内で回答してください。

生成後の検証ステップ

最後に、生成した回答の各主張について、根拠となる情報と照合する検証ステップを設けることも一案である。生成後に情報の確認を行い、確認済み・部分的に確認済み・未確認といった形で分類させるプロンプトを追加することで、モデルの応答の信用性を高めることができる。以下のような指示文が考えられる。

生成した回答の各主張について情報源と照合し、確認状況を示してください。

まとめ

ハルシネーションを防ぐためのプロンプトの組み立て方には、役割・文脈の明確化、出典の明示要求、フォールバックの明示的指示、段階的な推論の促進、対立的な役割の導入、RAGとの組み合わせ、生成後の検証ステップの設置といった具体的手法が存在する。これらの手法を駆使することで、LLMによる応答の精度を高めることができ、より信頼性の高い結果を得ることが可能となる。正確なプロンプト設計は、LLMのパフォーマンスを向上させ、ハルシネーションの発生を抑えるために不可欠である。