チャットボットの誤回答、5つの原因と切り分け手順:プロンプトは最後に疑う

チャットボットの誤回答、5つの原因と切り分け手順:プロンプトは最後に疑う

AIチャットボットの誤回答の原因は、「文脈の取り違え」「ナレッジがない」「検索で見つからない」「ナレッジが古い・矛盾」「プロンプトやモデル」の5つです。会話 → 参照された記事 → ナレッジ全体 → 記事の中身の順に調べれば、どれにあたるかを特定できます。プロンプト(AIへの指示文)を疑うのは最後です。

原因が分からないまま記事や注意書きを足しても、別の質問でまた誤回答が起きがちです。

この記事の
3つのポイント

  • 誤回答は、回答ができるまでの4つの工程のどこかで起きます。
  • 見つけたら、調べる前に影響範囲を確かめ、そのテーマを人に回します。
  • ゼロにはできないので、すぐ直せる運用を組み込みます。

AIチャットボットの誤回答・ハルシネーションはなぜ起きるのか

AIチャットボットの誤回答とは、自社の正しい情報と違う内容を、AIがお客様に答えてしまうことです。この記事は、登録した資料(FAQやマニュアル)を検索して回答を作る生成AI(RAG)型のチャットボットを前提にしています。

決めた回答を返すシナリオ型と違い、回答文をその場で作るため、もっともらしい誤りが起きることがあります。回答は「質問を理解する → ナレッジを検索する → 記事を読む → 回答を書く」の4つの工程ででき、誤回答はこのどこかでつまずいたときに起きます。

なかでも、ナレッジにない内容をAIがもっともらしく作って答えることを、ハルシネーションと呼びます。次の章の原因2・3・5による誤回答の多くがこれにあたります。

AIチャットボットが誤回答する5つの原因

型ごとに、つまずく工程と直す場所が違います。

誤回答の原因は4つの工程のどこかにある
  1. 質問を理解する
    • 原因1会話の文脈を取り違えている直す場所プロンプト・会話の設計
  2. ナレッジを検索する
    • 原因2答えになるナレッジがない直す場所ナレッジ(記事を足す)
    • 原因3記事はあるのに検索で見つからない直す場所ナレッジの書き方・検索設定
  3. 記事を読む
    • 原因4ナレッジが古い・矛盾している直す場所ナレッジ(記事を直す・整理する)
  4. 回答を書く
    • 原因5プロンプトやモデルが合っていない直す場所プロンプト・モデル設定

回答ができるまでの工程ごとに、起きる原因と直す場所

原因1:会話の文脈を取り違えている

「Aプランの料金は?」のあとの「じゃあ年払いだと?」で、どのプランの話かを取り違えるケースです。2つの質問の片方にしか答えないのも、1回の質問があいまいで意図を読み違えるのも、この型です。どの場合も、会話を最初から読まないと気づけません。

原因2:答えになるナレッジがない

ナレッジにないことを聞かれ、AIが推測で答えるパターンです。自社にはない「法人向け割引」を「ご用意があります」と答えるケースです。AIは「分かりません」と言うより、手元の情報で何とか答えようとする傾向があります。

原因3:記事はあるのに検索で見つからない

正しい記事があるのに、AIが答えに要る部分までたどり着けていないパターンです。よくあるのは次のケースです。

  • 言葉のずれ:お客様は「退会」、記事は「解約」で書かれている
  • 1記事に話題が多すぎる:料金・支払い・解約が1つの記事にまとまっている
  • 読めない形で入っている:PDFの表や画像の中にだけ情報がある
  • 似た記事が多い:別のプランの記事が上位に来て使われる
  • 例外や条件が奥にある:冒頭だけが参照され、条件が回答に入らない

原因4:ナレッジが古い・矛盾している

料金改定のあとも旧料金の記事が残っている、FAQとマニュアルで手順が違う、といったパターンです。AIは記事を正しいと見なすので、古い記事の内容はそのまま答え、矛盾する記事は混ぜて答えることもあります。

原因5:プロンプトやモデルが合っていない

正しい記事を拾えていても、指示が合っていなければ誤回答になります。「ナレッジにないときはどうするか」がなければ、AIは推測で穴を埋めます。「簡潔に」と「詳しく」のように指示がぶつかると、振る舞いが不安定になります。

モデル(AIの種類)によっても、記事の条件を拾うか省くかが変わることがあります。契約や法的な判断など、AIが答えるべきでない質問に答えてしまうのもこの型です。

誤回答を見つけたら最初にやること

誤回答に気づいたら、原因を調べる前に、被害を広げないための手当てをします。

  1. 影響範囲を確かめる。同じ誤回答がほかの会話でも起きていないか、いつからかを会話ログで探します。
  2. 必要ならお客様へ訂正する。誤った案内で手続きや購入をした可能性があるお客様に、料金・契約・返金など影響の大きいものから正しい内容を伝えます。
  3. 原因が分かるまで、そのテーマは人に回す。プロンプトに「〇〇の質問は担当者に案内する」と一時的に書きます。この指示は全問テストを待たずに入れ、そのテーマの質問と近くの質問で人へ渡ることを確かめます。全問は、原因を直して指示を外すときに流します。

社外秘や他のお客様の情報が回答に出たら、誤回答ではなく漏えいのおそれとして、調べる前に情報システム部門と法務へ連絡します。

原因を特定する切り分け手順

プロンプトを疑うのは最後です。

準備:誤回答が起きた会話の全文、AIが参照した記事、そのときのプロンプトとモデルをそろえます。

  1. 会話を最初から読む。AIが質問の意味を取り違えていれば、原因1(文脈の取り違え)です。
  2. AIが参照した記事を見る。質問に合う記事(プランや対象まで合うもの)が参照されていれば手順4へ。参照が0件、または無関係な記事や別のプランの記事ばかりなら手順3へ進みます。
  3. ナレッジ全体を自分で検索する。正しい記事がなければ原因2(ナレッジがない)、あるのに参照されていなければ原因3(検索で見つからない)です。
  4. 参照された記事の中身を読む。古い、または食い違っていれば原因4(ナレッジが古い・矛盾)です。記事は正しいのに回答が違えば、答えに要る条件や例外が奥にないかを見ます。奥にあれば原因3、冒頭にあれば原因5(プロンプト、直らなければモデル)です。
質問の解釈は正しい? 質問に合う記事を参照? 正解の記事はある? 記事の中身は正しい? 条件は冒頭にある? 原因1 文脈の取り違え 原因2 ナレッジがない 原因3 検索で見つからない 原因4 ナレッジが古い・矛盾 原因5 プロンプトやモデル はい いいえ いいえ はい ない ある いいえ はい いいえ はい 質問の解釈は正しい? 質問に合う記事を参照? 記事の中身は正しい? 条件は冒頭にある? 正解の記事はある? 原因1 文脈の取り違え 原因4 ナレッジが古い・矛盾 原因3 検索で見つからない 原因5 プロンプトやモデル 原因2 ナレッジがない いいえ はい いいえ はい いいえ はい いいえ はい ある ない

結果は次の列を作ったシートに記録します。数件たまると「うちは原因3が多い」のような傾向が見え、個別の修正より効く対策を打てます。

会話ID質問原因の型対応内容対応日
例:1024退会するには?原因3(検索で見つからない)「解約の手順」に「退会」の言い換えを追加10月6日

原因別の直し方

ナレッジを直したら、直した質問を言い回しを変えて2〜3パターンと、近くの質問で確かめるまでが1セットです。プロンプトやモデルを変えたら全問を流します。

原因1:文脈を取り違えている場合

  • 意味があいまいなときは、答える前に聞き返すように指示する
  • 1つのメッセージに複数の質問があれば、それぞれに答えるように指示する
  • 契約プランなど回答を左右する前提は、会話の最初に確かめる流れにする

原因2:ナレッジがない場合

  • 答えになる記事を足す。過去の問い合わせにある同じテーマの質問も、まとめて足す
  • プロンプトに「ナレッジにないことは推測で答えず、問い合わせ先を案内する」と入れる。記事を足しても、すべての質問には先回りできないため

原因3:検索で見つからない場合

  • タイトルをお客様が聞く形(「退会するには?」)にし、本文に言い換え(「解約(退会・キャンセル)」)を入れる
  • 話題が複数ある長い記事は、1記事1トピックに分ける
  • 結論と、対象外・期限などの条件を記事の冒頭に書く
  • PDFの表や画像にしかない情報は文章に起こす。それでも見つからず、ツールに検索の設定があれば見直す

記事の書き方は、RAGのナレッジ整備の6つの原則で詳しく解説しています。

原因4:ナレッジが古い・矛盾している場合

  • 古い記事を更新するか、不要なら削除する
  • 同じテーマの記事が複数あれば、内容を確かめて1本に統合する
  • FAQサイトとAI用のナレッジは、原本を1か所に寄せる
  • 料金など変わりやすい情報は、改定のたびに確認する記事のリストを持つ

原因5:プロンプトやモデルが合っていない場合

  • プロンプトに、次の3つが書かれているかを確かめる
    • ナレッジにないときの振る舞い
    • 断定せず担当者に案内すること(料金の例外、契約や法的な判断など)
    • 回答の形式(長さ、箇条書き、参照先の示し方)
  • ぶつかり合う指示を整理し、注意書きの「足し算」をやめる
  • モデルを変えるときは、直したい質問以外への影響も確かめる

誤回答・ハルシネーションを再発させない対策

誤回答をゼロにすることはできません。目指すのは、起きても被害が小さく、すぐに直せる状態です。

  1. 答えられないときは人に引き継ぐ。推測で答えず、担当者やフォームへ案内します。会話履歴ごと引き継げば、お客様は説明を繰り返さずに済みます。
  2. 回答に使った参考記事を示す。お客様は元の記事で条件や例外を確かめられ、運用側もどの記事をもとに答えたかが分かります。
  3. テストセットを持つ。過去に誤回答した質問と答えてはいけない質問を、期待する回答と組にしておきます。ナレッジを直したら直した質問と近くの質問を、プロンプトやモデルを変えたら全問を流します(初動の一時的な指示を除く)。作り方はチャットボットのテストは100問からで紹介しています。
  4. 見直しと変更履歴を毎週の仕事にする。つまずいた会話を週に1回切り分けにかけ、何をなぜ変えたかを残します。回し方は週次の改善サイクルで紹介しています。

よくある質問

チャットボットの誤回答は、ナレッジを足せば直りますか?

記事を足して直るのは、答えになるナレッジがない場合だけです。検索で見つからない、記事が古い、文脈を取り違えている、といった型では直す場所が違うので、先に切り分け手順で型を特定します。

AIチャットボットのハルシネーションは、プロンプトだけで防げますか?

防ぎきれません。「ナレッジにないことは推測で答えず、問い合わせ先を案内する」という指示は入れておくべきです。ただ、AIは手元の情報で何とか答えようとするため、指示だけでは推測を止めきれません。注意書きを足し続けると指示がぶつかり、かえって振る舞いが不安定になりがちです。

モデルを新しいものに変えれば、誤回答は減りますか?

減るのは、主に原因がモデルにある場合です。正しい記事の答えに要る部分を参照し、プロンプトを整えても回答が違うときがそれにあたるので、ナレッジ側とプロンプトを先に疑います。変えるときは、テストセットの全問を流して影響を確かめます。

公開中のチャットボットが誤回答したら、全体を止める必要がありますか?

まず、誤回答したテーマだけを人に回します。この一時的な指示は、全問テストを待たずに入れます。全体を止めるかは、事前に決裁者と決めた品質の下限(何件までなら続けるか、誰に報告するか)で判断します。

miibo for カスタマーサポートで誤回答をAIと直す

ここまでの手順は、会話ログ・ナレッジ・設定画面を行き来する調べ物の連続です。miibo for カスタマーサポートなら、調べ物と修正案づくりをAIに任せられます。

作業手作業の場合miibo for カスタマーサポートの場合
誤回答を見つける低評価の会話などを目で読むハルシネーション分析が、回答を「事実誤認・言い過ぎ・曖昧な断定」に自動で分類
AIが参照した記事を見るログと管理画面を行き来する検索ログで、AIの検索語とヒットした記事・スコアを確認。0件や低スコアに絞れる
原因を切り分けて直す切り分け手順で確かめて直すAIアシスタントに参照記事と検索ログの確認や修正案を頼める。書き込みは人が承認
ナレッジを足す・直す回答を記事に書き起こすAIの回答に正しい内容を入力すると修正案になる。ナレッジ提案でAIが記事案も作る
テストセットを流す1問ずつ手で流すベンチマークで複数のモデルに一括で流し、信頼性・回答品質・ガードレールで自動評価
答えられないときは人に引き継ぐ別の窓口を案内する「担当者に相談」ボタンで、会話履歴ごと有人対応に切り替え

どの記事をどう直すかを決めるのは人です。AIの修正案は、人が承認したものだけが反映されます。迷ったときは、この記事の切り分け手順が判断の物差しになります。

まとめ

AIチャットボットの誤回答は、会話から順に調べて5つの原因の型を特定し、型に合った場所を直します。ナレッジを直したら、言い回しを変えた同じ質問と近くの質問で、プロンプトやモデルを変えたら全問で確かめるまでを1セットにしましょう。

「誤回答の原因調査に手が回らない」「精度改善が特定の担当者頼みになっている」という方は、下のボタンからご相談いただけます。

この記事は、株式会社miiboのmiibo for カスタマーサポート コラム編集部が書いています(このコラムについて)。

コラム一覧へ戻る

構築も運用も精度向上も分析も
すべてAIに任せられる
AIカスタマーサポート