Media > AI活用ユースケース > カスタマーサポート > 過去の対応履歴とFAQから回答案を作成する

過去の対応履歴とFAQから回答案を作成する

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

問い合わせ内容を入力に、社内のFAQ、製品マニュアル、過去の対応履歴から根拠となる情報を検索し、出典を明示した回答案を作ります。

サマリー
利用ツール
Amazon Kendra/Azure AI/ChatGPT/Claude/Gemini/Google Vertex AI/OpenSearch
対象業界
EC/IT・SaaS/小売/金融
対象部門
カスタマーサポート
対象業務
問い合わせ対応/情報検索
主な課題
問い合わせが多い/属人化している/情報が見つからない
AIで行う処理
検索(RAG)
主な効果
品質標準化/対応スピード向上/工数削減
導入難易度
★★★★☆
実装レベル
本格構成
費用感
個別開発(大)
人間の確認
必須
現在工数
880h/月
AI導入後
366.7h/月
想定削減
58%
年間削減
6,160h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 割り当てられたチケットを開く
  2. 内容を読み、何を答えるべきかを考える
  3. FAQを検索する。見つからない
  4. 操作マニュアルを開いて該当箇所を探す
  5. 過去に似た問い合わせがなかったか、チケット管理システムを検索する
  6. キーワードが一致せず、見つからない
  7. 詳しい先輩に聞く
  8. 回答文を書く
  9. 送信する
導入後(After)
  1. チケットが担当者に割り当てられる(UC-0018 の振り分けを前提)
  2. 自動FAQ・マニュアル・過去チケットから根拠を検索する
  3. 自動根拠が見つかれば、出典つきの回答案を作る
  4. 自動根拠が見つからなければ、「該当情報なし」と返す
  5. 担当者が回答案と出典を確認する
  6. 出典を開いて内容を確かめ、回答文を仕上げる
  7. 送信する
  8. 自動送信された回答を、次回の検索対象に加える
各工程の詳しい説明を読む
  1. 割り当てられたチケットを開く
  2. 内容を読み、何を答えるべきかを考える
  3. FAQを検索する。見つからない
  4. 操作マニュアルを開いて該当箇所を探す
  5. 過去に似た問い合わせがなかったか、チケット管理システムを検索する
  6. キーワードが一致せず、見つからない
  7. 詳しい先輩に聞く
  8. 回答文を書く
  9. 送信する

問題は4つあります。

(a)検索が当たらない。 顧客は「ログインできない」と書きますが、マニュアルには「認証エラー」と書かれています。キーワード検索では一致しません。

(b)過去チケット8万件が死蔵している。 同じ質問に過去に何度も答えているのに、探せないので毎回ゼロから書いています。

(c)新任の立ち上がりに時間がかかる。 製品知識が必要なため、独り立ちまで3か月かかります。その間、先輩の時間も取られます。

(d)回答の質が担当者で違う。 ベテランは「なぜそうなるか」まで説明しますが、新任は手順だけを書きます。顧客が再度問い合わせてきます。

  1. チケットが担当者に割り当てられる(UC-0018 の振り分けを前提)
  2. 【自動】 FAQ・マニュアル・過去チケットから根拠を検索する
  3. 【自動】 根拠が見つかれば、出典つきの回答案を作る
  4. 【自動】 根拠が見つからなければ、「該当情報なし」と返す
  5. 【人】 担当者が回答案と出典を確認する
  6. 【人】 出典を開いて内容を確かめ、回答文を仕上げる
  7. 【人】 送信する
  8. 【自動】 送信された回答を、次回の検索対象に加える

自動化されるのは「探す」と「下書きを作る」の2つです。送信は必ず人が行います。

8の学習ループが、この構成を時間とともに強くします。 送信された回答が検索対象に加わることで、同じ質問への回答が次第に安定します。

02今回想定するシステム構成

構成図
【準備フェーズ】
FAQ 300件 / マニュアル 15冊 / 過去チケット 8万件
   │
   ▼
分割(FAQ:1件単位 / マニュアル:節単位 / チケット:質問と回答のペア)
   │
   ▼
メタデータ付与(製品 / バージョン / 最終更新日 / 情報源の種別)
   │
   ▼
埋め込みベクトル化 → 検索インデックス(Azure AI Search など)

【利用フェーズ】
チケットが割り当てられる
   │
   ▼
ハイブリッド検索(ベクトル+キーワード)
   + 製品・バージョンでのフィルタ
   + 最終更新日での重みづけ
   │
   ▼
上位5件を取得
   │
   ├──【根拠あり】→ LLM API で回答案を生成
   └──【根拠なし】→「該当情報なし」を返す
   │
   ▼
担当者の画面(回答案+出典へのリンク)──【人が確認・送信】
   │
   ▼
送信された回答を検索対象に追加
役割想定する製品代替候補
検索基盤Azure AI SearchVertex AI Search、Amazon Kendra、OpenSearch
生成AIClaude APIOpenAI API、Gemini API
問い合わせ管理各社のチケット管理SaaSkintone
情報源社内Wiki、SharePointConfluence、Notion

問い合わせ管理SaaSに、AI回答支援機能が搭載されている製品が増えています。まずそれを確認してください。 自社のFAQを読み込ませるだけで動く製品もあります。自前で組む価値があるのは、過去チケット8万件を活用したい場合や、独自のマニュアル体系がある場合です。

03どうやって実装するのか

Step1

処理の起点を決める

チケットが担当者に割り当てられたときを起点にします。UC-0018 の振り分け直後です。

担当者がチケットを開いた時点では遅すぎます。開いたときには既に回答案が用意されている状態にすることで、待ち時間がゼロになります。

Step2

入力データを集める

データ中身取得元
問い合わせ本文件名と本文チケット
顧客の契約情報プラン、利用している製品とバージョン顧客マスタ
検索された根拠FAQ / マニュアル / 過去チケット検索インデックス
回答の文体ルール敬語、禁止表現、署名サポート部が整備

顧客が使っている製品バージョンを渡すことが重要です。 バージョンによって操作手順が違う場合、古いマニュアルを根拠にした回答は誤りになります。

Step3

データの取得方法を決める

準備フェーズの分割が、この構成の成否を決めます。 情報源ごとに分け方が違います。

情報源分割の単位注意点
FAQ1件(質問と回答のペア)そのまま使える。最も精度が高い
操作マニュアル節単位(「3-2-4 通知設定の変更」)章単位では大きすぎ、段落単位では文脈が失われる
過去チケット顧客の質問と、送信された回答のペア1チケット内の全やり取りをまとめない。 質問と回答の対応が崩れる

過去チケットの扱いには、追加の処理が必要です。

  1. 顧客情報のマスキング … 社名、氏名、メールアドレス、契約番号を伏せます。これを省くと、A社への回答がB社への回答案に混入します
  2. 解決したチケットのみを対象にする … 「対応中」「エスカレーション」で終わったチケットの回答は、正しいとは限りません
  3. 古いチケットの除外または重みづけ … 製品仕様は変わります。2年以上前のチケットは、既定で除外するか、大きく重みを下げてください
  4. 誤回答の除外 … 「先ほどの回答を訂正します」というやり取りがあるチケットは、除外します

この前処理を省いて8万件をそのまま入れると、古い誤った回答が根拠として出てきます。

Step4

AIへ渡す前に整形する

  1. 問い合わせからの検索クエリ生成 … 顧客の文章をそのまま検索すると、挨拶や背景説明がノイズになります。質問の核心部分を抽出してから検索します
  2. 製品・バージョンでのフィルタ … 顧客の契約情報でフィルタします
  3. 検索の実行 … ハイブリッド検索(ベクトル検索とキーワード検索の併用)を使います。製品名や機能名は表記の一致が重要なので、キーワード検索を併用しないと取りこぼします
  4. 根拠の有無の判定 … 検索スコアが一定を下回る場合、根拠なしとして扱います
Step5

AIに処理させる

させることさせないこと
検索された根拠から回答案を組み立てる根拠のない内容を回答する
出典を明示する一般的なIT知識で補う
根拠が不十分なことを申告する曖昧な回答でごまかす
文体を社内ルールに揃える補償、返金、契約変更の約束をする
Step6

指示内容を固定する

あなたはカスタマーサポートの担当者を支援する担当者です。
以下の検索結果だけを根拠に、問い合わせへの回答案を作成してください。

【厳守事項】
- 検索結果に書かれていない内容を回答に含めないでください。
  一般的な知識やIT分野の常識で補わないでください。
- 回答の各段落について、根拠となる出典を必ず示してください。
  出典を示せない内容は書かないでください。
- 検索結果が問い合わせに答えていない場合、
  answerable を false にし、回答案を作らないでください。
  無理に関連づけた回答を作らないでください。
- 顧客が使用している製品バージョンは {version} です。
  異なるバージョンの手順を根拠にする場合、その旨を必ず注記してください。
- 返金、補償、契約内容の変更、値引き、納期の約束をしないでください。
  これらに関する問い合わせは needs_escalation を true にしてください。
- 障害・不具合の原因を断定しないでください。
  検索結果に既知の不具合として記載がある場合のみ、
  それを出典つきで示してください。
- 謝罪の文言を過剰に入れないでください。
  事実として自社に起因する事象が確認できる場合のみ、簡潔に記載します。

【顧客情報】
契約プラン: {plan} / 製品: {product} / バージョン: {version}

【問い合わせ】
{inquiry}

【検索結果】
{retrieved_documents}

「返金、補償、契約内容の変更、値引き、納期の約束をしない」の1行が、この構成でもっとも重要です。

AIが「今回は特別に返金いたします」と書いた回答案を、忙しい担当者が確認せずに送信すると、それは会社の意思表示になります。 撤回は困難です。これらの話題は、必ず人の判断とエスカレーションを経る設計にします。

「障害の原因を断定しない」も同様です。 「サーバー側の問題です」と回答してしまうと、後で顧客側の設定が原因だったと分かっても、既に伝えた内容は覆せません。

「謝罪を過剰に入れない」は、意外に重要です。 LLMは謝罪を多用する傾向があります。自社に非がない事象で謝罪すると、責任を認めたと受け取られることがあります。

Step7

出力形式を固定する

{
  "answerable": true,
  "draft_reply": "",
  "citations": [
    {
      "paragraph": 1,
      "source_type": "FAQ | マニュアル | 過去チケット",
      "source_id": "",
      "source_title": "",
      "source_url": "",
      "last_updated": "",
      "excerpt": ""
    }
  ],
  "version_mismatch": false,
  "needs_escalation": false,
  "escalation_reason": "",
  "uncovered_points": [],
  "confidence": "high | medium | low"
}
  • citationslast_updated出典の最終更新日を必ず表示します。 3年前のマニュアルを根拠にした回答であることが、担当者に分かる必要があります
  • uncovered_points … 問い合わせのうち、回答できていない部分。1件の問い合わせに3つの質問があり、2つしか答えられていない場合、これがないと担当者が気づきません
Step8

システムへ連携する

担当者の画面: 問い合わせ管理システムのチケット画面に、回答案と出典を表示します。出典は必ずリンクにして、元の文書を開けるようにします。

この構成では、回答案より出典のほうが重要です。 担当者が出典を開いて確認し、自分の言葉で回答を書くだけでも、検索の5分が削減されます。回答案は補助です。

学習ループ: 送信された回答を、翌日のバッチで検索インデックスに追加します。マスキング処理を経てから追加してください。

この部分は、問い合わせ管理システムの拡張性に依存します。画面へのカスタム表示ができない場合、別画面またはブラウザ拡張として提供する方法もあります。利用環境に応じた個別確認が必要です。

Step9

人が確認する

全件、人が確認して送信します。段階的な自動化もしません。

理由は、顧客へ直接届く文章だからです。誤った回答は、顧客の業務に影響を与え、信頼を損ないます。送信後の撤回はできません。

確認を実効的にするための設計が重要です。

  1. 出典を必ずリンクで表示する … 出典を開けない回答案は、確認のしようがありません
  2. confidence: low を目立たせる … 担当者が注意すべき案件を分かるようにします
  3. uncovered_points を表示する … 答え漏れを防ぎます
  4. ワンクリック送信を作らない … 回答案をそのまま送れるボタンを作ると、確認せずに送る運用が生まれます。必ず編集を経る設計にしてください
Step10

例外に対処する

起きること対応
根拠が見つからないanswerable: false。回答案を作らない。無理に作らない
検索結果が古いバージョンのものversion_mismatch: true として警告する
返金・補償・契約変更の話題needs_escalation: true。回答案を作らず、上長へ
1件に複数の質問答えられたものだけ回答案を作り、uncovered_points に残りを記載する
障害・不具合の報告既知の不具合として記録がある場合のみ、出典つきで示す。原因を断定しない
感情的な内容を含む問い合わせAIに回答案を作らせず、上長へエスカレーションする分岐を入れる
過去チケットに誤った回答が含まれる前処理で「訂正します」を含むチケットを除外する。発見したら個別にインデックスから削除する
検索インデックスが古いマニュアル改訂時に更新する運用を組み込む。更新されないと誤回答の原因になる
顧客情報がマスキングされずに混入前処理を必ず通す。出力チェックで社名・メールアドレスのパターンを検出する
Step11

記録を残す

  • 問い合わせ内容
  • 検索された根拠と、そのスコア
  • AIの回答案と citations
  • 実際に送信された回答
  • 回答案と送信内容の差分
  • 担当者が出典を開いたか

「回答案と送信内容の差分」が、この構成の唯一の実測指標です。 差分が小さいほど回答案が役立っています。差分が大きい状態が続くなら、検索の作り方かプロンプトに問題があります。

「出典を開いたか」の記録も重要です。 開かずに送信している状態が続くなら、それは確認が形骸化している兆候です。

04実装レベルの3段階

最小構成:FAQをチャットAIに読み込ませて回答案を作る / 検索の有効性の検証
半自動化:FAQ+マニュアルをインデックス化。担当者が別画面で検索する / 情報検索の時間短縮
本格構成:上記+過去チケット8万件+チケット画面への統合+学習ループ / 回答作成の支援

半自動化(FAQ+マニュアル)を先に必ず通してください。 過去チケット8万件の前処理(マスキング、古いものの除外、誤回答の除外)は重い作業です。FAQとマニュアルだけで効果が出るなら、チケットは後回しでも構いません。 段階を飛ばすと、「8万件を入れたが精度が上がらない」という結果になりがちです。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
18 名
月間件数
4,400 件
1件あたり現在時間
12 分
1件あたり導入後時間
5 分
現在  4,400件 × 12分 ÷ 60 = 880 時間/月
導入後 4,400件 × 5分 ÷ 60 = 366.7 時間/月
月間削減時間
513.3h
削減率
58%
年間削減時間
6,160h
年間金額換算(時間単価3,000円)
1,848万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 問い合わせが月2,000件以上あり、FAQ・マニュアルが一定整備されている組織。過去の対応履歴が蓄積されている場合。
向いていない
  1. FAQ・マニュアルが未整備の組織(先に整備が必要)。問い合わせ内容が個別性が高く定型化できない場合。

07最小構成で試す方法

RAGの基盤を作る前に、検索が成立するかを確かめてください。

  1. FAQ 300件をテキストファイルにまとめる(マニュアルとチケットはまだ使わない)
  2. 過去の問い合わせ30件を選ぶ
  3. ChatGPT、Claude、Gemini などのファイル添付機能でFAQを読み込ませる
  4. 上のプロンプトを貼り、30件の問い合わせを順に投げる
  5. 実際に送信した回答と比較する

評価の観点は4つです。

  • answerable: false が適切に返るか … FAQにない質問に、無理に回答を作っていないか。ここが最重要です
  • 出典が正しいか … 示されたFAQが実際にその内容を含んでいるか
  • 一般知識での補完がないか … FAQに書かれていない内容が混ざっていないか
  • 返金・補償の約束がないか

FAQ 300件だけで何割の問い合わせに答えられるかを測ってください。 これが、この構成の効果の下限になります。マニュアルと過去チケットを加えれば上がりますが、まずFAQで測ります。

08実装時につまずきやすいポイント

問題対策
根拠がないのに回答案が作られるanswerable: false を返させる。検索スコアの下限を設ける。出典のない段落を出力チェックで検出する
他社への回答が根拠として混入する過去チケットのマスキングを必ず行う。出力チェックで社名・メールアドレスのパターンを検出する
古い仕様の回答が出る2年以上前のチケットを除外する。出典の最終更新日を必ず表示する
バージョン違いの手順を案内する顧客のバージョンでフィルタする。異なる場合は警告する
AIが返金や補償を約束する明示的に禁止し、needs_escalation に回す。最優先で作り込む
過剰な謝罪が入るプロンプトで抑制する
障害の原因を断定する既知の不具合の記録がある場合のみ示す。それ以外は断定させない
担当者が出典を開かずに送信するワンクリック送信を作らない。出典の閲覧率を記録する
1件に複数の質問があり答え漏れるuncovered_points を表示する
マニュアル改訂がインデックスに反映されない改訂時の更新を運用に組み込む。更新漏れは誤回答の直接原因になる
8万件を入れたが精度が上がらないFAQ+マニュアルで先に測る。段階を飛ばさない

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 顧客の氏名・所属・連絡先、問い合わせ内容、過去の対応履歴。この20件の中で、外部AIへ渡すデータ量がもっとも多い構成です。

  1. 過去チケットのマスキングこれがこの構成で最大のリスクです。 マスキングを省くと、A社の対応履歴がB社への回答案の根拠として提示され、担当者がそれを引用して送信する可能性があります。他社の情報を顧客に開示することは、重大な情報漏洩です。 マスキング処理と、出力段階での検出の両方を実装してください
  2. 個人情報の外部送信 … 問い合わせ本文と過去チケットには個人情報が含まれます。自社のプライバシーポリシーの利用目的の範囲内かを確認し、委託先の監督義務を果たしてください
  3. 顧客の機密情報 … BtoBの場合、問い合わせに顧客のシステム構成や業務内容が含まれます。顧客との契約で情報の取り扱いが定められている場合があります
  4. インデックスのアクセス制御 … 検索インデックスに8万件の対応履歴が入ります。このインデックスへのアクセス権限を、サポート部門に限定してください
  5. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
  6. 自動実行してよい範囲 … 回答案の生成までです。顧客への自動返信をしないでください。 これは運用が安定しても変えません
  7. 意思表示の防止 … §7に書いたとおり、返金・補償・契約変更の約束をさせません。これらが顧客に届くと、会社の意思表示として扱われます

10まず何から始めるか

1週目:FAQ 300件で答えられる割合を測る

最小構成(§8)で、過去の問い合わせ30件を試します。FAQだけで何割に答えられるかが、この構成の効果を決めます。

同時に、answerable: false が適切に返るかを確認します。根拠がないのに回答を作る挙動があれば、そこを直すまで先に進まないでください。

2〜3週目:マニュアルを分割する

操作マニュアル15冊を節単位に分割し、メタデータ(製品、バージョン、最終更新日)を付けます。この作業の過程で、更新されていないマニュアルが見つかります。 それは先に直します。

4〜6週目:FAQ+マニュアルで半自動化する

インデックス化し、担当者が別画面で検索できる形にします。チケット画面への統合はまだしません。 担当者5名で2週間使い、検索の5分が減るかを実測します。

2〜3か月目:過去チケットの前処理

マスキング、古いものの除外、誤回答の除外を行います。まず直近1年分(約2万件)から始めてください。 8万件を一度に処理しようとすると止まります。

4か月目以降: チケット画面への統合と、学習ループを実装します。回答案と送信内容の差分を継続的に測り、改善してください。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-09-02/最終更新:2026-09-08
確認した内容情報源確認日
Azure AI Search のハイブリッド検索(ベクトル検索とキーワード検索の併用)Microsoft Learn: ハイブリッド検索2026-09-02
Azure AI Search のベクトル検索・RAG用途での利用Microsoft Learn: Azure AI Search とは2026-09-02
Claude APIのStructured OutputsAnthropic: Structured outputs2026-09-02

問い合わせ管理システムのAPI、およびチケット画面へのカスタム表示の可否は製品によって異なります。この部分は利用環境に応じた個別確認が必要です。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0019)についてのご相談はこちらから。

AI活用について相談する
目次