ChatGPTやClaude、Geminiなどの生成AIは驚異的な能力を持つ一方で、事実とは異なる情報を、もっともらしく生成してしまうという問題を抱えている。
この現象は「AIハルシネーション(AI Hallucination)」または「幻覚」と呼ばれ、ビジネスや教育現場でAIを活用する上で、最も注意すべきリスクの一つとなっている。
本記事では、AIハルシネーションとは何か、なぜ起きるのか、実際の事例、そしてRAGやプロンプトエンジニアリングを使った対策方法まで、初心者にもわかりやすく解説する。
AIハルシネーション(幻覚)とは
AIハルシネーションとは、生成AIが事実と異なる情報を、自信を持って(かつもっともらしく)生成する現象を指す。
実例:ChatGPTのハルシネーション
質問:「アインシュタインの兄弟について教えてください」
ChatGPTの回答(ハルシネーション例):
「アインシュタインには、兄のヘルマン・アインシュタインと妹のマリア・アインシュタインがいました。ヘルマンは物理学者として知られ、相対性理論の初期研究に協力しました。」
事実:
アインシュタインには妹のマヤ(マリアではない)がいたが、兄のヘルマンは存在しない(父親の名前がヘルマン)。また、妹は物理学者ではない。
このように、部分的に正しい情報(妹がいた)と、完全に誤った情報(架空の兄)を混ぜて、一見正しそうな回答を生成するのがハルシネーションの特徴だ。
ハルシネーションの分類
AIハルシネーションは、以下のように分類される。
| 種類 | 説明 | 例 |
|---|---|---|
| 事実の捏造 | 存在しない人物、出来事、論文などを創作 | 「2023年にノーベル賞を受賞した田中太郎博士」 |
| 情報の混同 | 異なる事実を混ぜ合わせる | 「夏目漱石が書いた『蜘蛛の糸』」(実際は芥川龍之介) |
| 過度な確信 | 不確実な情報を断定的に述べる | 「○○は確実に効果があります」 |
| ソースの捏造 | 存在しない引用元を提示 | 「Journal of AI Research, 2024」(架空の論文) |
なぜAIハルシネーションは起きるのか
AIハルシネーションが発生する主な原因は、生成AIの「仕組み」にある。
1. 確率的な文章生成
ChatGPTなどの大規模言語モデル(LLM)は、「次に来る単語の確率」を計算して文章を生成している。
例:「夏目漱石の代表作は」の次の単語
- 「吾輩は」: 60%
- 「坊っちゃん」: 25%
- 「こころ」: 10%
- 「蜘蛛の糸」: 5% ← 誤った候補も確率に含まれる
このとき、低確率でも「もっともらしい」誤った情報が選ばれることがある。
2. 学習データの偏りと不完全性
LLMは膨大なWeb上のテキストで学習されているが、以下のような問題がある。
- 誤情報の学習:Web上には誤った情報も多数存在し、それも学習してしまう
- 情報の欠落:すべてのトピックを網羅しているわけではない
- 古い情報:学習データのカットオフ日以降の情報は知らない
3. 「わからない」と言えない設計
多くのLLMは、知らない情報に対しても、何かしら回答を生成しようとする設計になっている。
これは「ユーザーの質問に必ず答える」という設計思想による副作用で、結果として「存在しない情報」を創作してしまう。
4. 文脈の誤解釈
複雑な質問や曖昧な表現を誤って解釈し、誤った前提で回答を生成することがある。
例:
– 質問:「日本で最も高い山は?」→ 正解:富士山
– 質問:「日本で2番目に高い山は?」→ 正解:北岳
– 質問:「日本で3番目に高い山は?」→ ハルシネーション:奥穂高岳(実際は間ノ岳)
5. Temperatureパラメータの影響
Temperature(温度パラメータ)が高いほど、低確率の単語も選ばれやすくなり、ハルシネーションのリスクが増加する。
詳細は以下の記事で解説している。
– Temperature(温度パラメータ)とは?AIの出力を制御する重要設定
実際のハルシネーション事例
事例1:法律業界での誤引用
2023年、アメリカの弁護士がChatGPTに法律判例を調査させたところ、存在しない判例を6件も「引用」してしまい、裁判所に提出。後に発覚し、弁護士が制裁を受けた。
教訓:専門性が高い情報ほど、ファクトチェックが必須。
事例2:学術論文の架空引用
ChatGPTに論文のサマリーを依頼したところ、存在しない論文や著者名を含む「参考文献リスト」を生成した。
対策:論文検索はGoogle ScholarやPubMedなど専門データベースを使用。
事例3:医療情報の誤り
「○○の病気の治療法は?」という質問に対し、医学的根拠のない治療法や、副作用の記載が不正確な情報を提示。
対策:医療情報は必ず医師や信頼できる医療機関に確認。
事例4:歴史的事実の混同
「第二次世界大戦の原因は?」という質問に対し、第一次世界大戦の情報と混同した回答を生成。
対策:重要な事実確認は複数の信頼できるソースで検証。
ハルシネーションを防ぐ対策
1. プロンプトエンジニアリング
適切なプロンプト設計で、ハルシネーションを減らすことができる。
✅ 良いプロンプト例
あなたは正確性を重視するAIアシスタントです。
以下のルールに従ってください:
1. わからない情報は「わかりません」と答える
2. 推測する場合は「推測ですが」と明記する
3. 情報源がある場合は明示する
質問:アインシュタインの兄弟について教えてください
❌ 悪いプロンプト例
アインシュタインの兄弟について詳しく教えてください。
ポイント:
– 「わからない場合は正直に答える」よう指示
– 「推測」と「事実」を区別させる
– 情報源の明記を求める
2. RAG(検索拡張生成)の活用
RAGは、信頼できるデータソースから情報を検索し、それに基づいて回答を生成する手法だ。
RAGの仕組み
ユーザー質問:「2024年の売上は?」
↓
[ベクトルデータベースで社内文書を検索]
↓
検索結果:「2024年Q4決算報告書:売上120億円」
↓
[LLMに「検索結果に基づいて回答せよ」と指示]
↓
回答:「2024年の売上は120億円です(出典:Q4決算報告書)」
メリット:
– 最新情報に基づく回答が可能
– ハルシネーションが大幅に減少
– 情報源が明確になる
実装例:
from langchain.chains import RetrievalQA
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.embeddings.openai import OpenAIEmbeddings
# ベクトルDBに信頼できる情報を保存
vectorstore = Chroma.from_texts(
texts=["2024年の売上は120億円でした(出典:決算報告書)"],
embedding=OpenAIEmbeddings()
)
# RAGチェーンを構築
llm = ChatOpenAI(model="gpt-4o", temperature=0.0) # 温度を低く設定
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectorstore.as_retriever(),
return_source_documents=True # 情報源も返す
)
result = qa_chain("2024年の売上はいくらですか?")
print(result["result"])
print(result["source_documents"]) # 情報源を確認
詳細は以下の記事で解説している。
– ベクトルデータベースとは?AI検索を支える次世代DB技術を解説
3. Temperature設定の最適化
Temperature = 0.0-0.3に設定することで、最も確率の高い(= 確実性の高い)出力のみを生成する。
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "あなたは正確性を重視するアシスタントです。わからないことは「わかりません」と答えてください。"},
{"role": "user", "content": "アインシュタインの兄弟について教えてください"}
],
temperature=0.0 # ハルシネーション低減
)
4. Few-Shot Prompting(例示)
正しい回答例を事前に示すことで、回答の精度を向上させる。
以下の例に従って回答してください。
例1:
質問:「徳川家康の兄弟は?」
回答:「徳川家康には異母兄弟が複数いましたが、詳細な記録が不完全なため、確実な情報は限られています。」
例2:
質問:「織田信長の兄弟は?」
回答:「織田信長には、弟の織田信行(信勝)や織田信包などがいました。」
質問:「アインシュタインの兄弟は?」
5. ファクトチェック機能の追加
生成後に別のAIモデルまたは外部APIで事実確認を行う。
# ステップ1: 回答を生成
answer = llm.generate("アインシュタインの兄弟は?")
# ステップ2: 事実確認
fact_check_prompt = f"""
以下の情報が事実かどうか確認してください。
不確実な部分があれば指摘してください。
情報:{answer}
"""
fact_check_result = llm.generate(fact_check_prompt, temperature=0.0)
# ステップ3: 修正版を生成
6. 複数モデルの併用
ChatGPT、Claude、Geminiなど複数のモデルで同じ質問をし、一致する情報のみを採用する。
7. ユーザー検証の促進
「この情報は正しいですか?」といったフィードバック機能を設け、ユーザーに検証を促す。
ビジネスでの実践ガイドライン
高リスク領域での使用禁止
以下の領域では、AI単独の判断を避ける。
- 法律相談、契約書作成
- 医療診断、治療法提案
- 金融アドバイス、投資判断
- 安全性に関わる工学計算
必ずヒューマン・イン・ザ・ループ
重要な意思決定では、必ず人間が最終確認を行う。
情報源の明記を義務化
AIが生成した情報には、必ず「AI生成である」旨を明記する。
※この情報はAIによって生成されたものです。
重要な判断をする前に、専門家にご相談ください。
定期的な検証とフィードバック
AIの回答精度を定期的に検証し、問題があればプロンプトやシステムを改善する。
今後の展望:ハルシネーション対策の進化
1. Retrieval-Augmented Generation(RAG)の標準化
OpenAI、Anthropic、Googleなどが、RAG機能を標準搭載する動きが加速している。
2. 引用元の自動表示
Claude 3.5やGemini 1.5 Proでは、回答に「引用元」を自動付与する機能が実装されている。
3. 不確実性の明示
「この情報は60%の確信度です」といった、確率的な信頼度を表示する機能の研究が進んでいる。
4. 専門特化型モデル
医療、法律、金融など、特定分野に特化したモデルが登場し、ハルシネーションが減少する見込みだ。
よくある質問
Q1. ハルシネーションは完全になくせますか?
現時点では完全になくすことは困難です。LLMの「確率的な文章生成」という仕組み自体がハルシネーションを生む原因であり、ゼロにはできません。ただし、RAGやプロンプト設計、Temperature調整により、大幅に減らすことは可能です。
Q2. 有料版のChatGPT Plusでもハルシネーションは起きますか?
はい。無料版も有料版(GPT-4o)も、ハルシネーションのリスクは存在します。ただし、GPT-4oの方がGPT-3.5よりもハルシネーションは少ない傾向があります。
Q3. ハルシネーションを見抜く方法はありますか?
以下のような兆候に注意してください。
– 情報源が明記されていない
– 固有名詞(人名、論文名、企業名)が不自然
– 数字が曖昧または根拠不明
– 専門用語の使い方が不正確
重要な情報は、必ず公式サイトや専門家に確認しましょう。
Q4. ハルシネーションが多いAIと少ないAIはありますか?
一般的に、モデルが大きいほど(パラメータ数が多い)ハルシネーションは少ない傾向があります。GPT-4o、Claude 3.5 Sonnet、Gemini 1.5 Proなどの最新モデルは、旧世代より精度が向上しています。
まとめ
AIハルシネーションは、生成AIが抱える本質的な課題だが、適切な対策により大幅にリスクを減らすことができる。
ポイント:
– ハルシネーションは「事実と異なる情報をもっともらしく生成する現象」
– 原因は確率的文章生成、学習データの偏り、「わからない」と言えない設計
– 対策:RAG、Temperature=0.0-0.3、プロンプト設計、ファクトチェック
– 高リスク領域(法律・医療・金融)では必ず人間が確認
– 完全にゼロにはできないが、減らすことは可能
ChatGPTやClaudeをビジネスで活用する際は、ハルシネーションのリスクを理解し、適切な対策を講じることが重要だ。
関連記事
- 【2026年最新】ChatGPT使い方ガイド|初心者向けに始め方から活用術まで解説
- ベクトルデータベースとは?AI検索を支える次世代DB技術を解説
- Temperature(温度パラメータ)とは?AIの出力を制御する重要設定
参考リンク
- OpenAI: Mitigating Hallucinations: platform.openai.com/docs/guides/safety-best-practices
- Anthropic: Claude Safety: docs.anthropic.com/claude/docs/safety-best-practices


コメント