納品先ごとに違う納品条件を、出荷現場の質問に根拠付きで答える窓口を作る
納品先ごとの覚書・納品指示書・過去のやり取りを検索できる形にし、出荷現場からの質問に、どの文書の何行目に書かれているかを添えて答えます。担当者の作業は、探して伝えることから、返ってきた答えを確かめることに変わります。
- 利用ツール
- Amazon Kendra/Azure AI/ChatGPT/Claude/Gemini/Make/n8n/OpenSearch/Power Automate
- 対象業界
- EC/小売/物流/製造
- 対象部門
- カスタマーサポート/物流
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 属人化している/引き継ぎができていない/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 属人化解消/工数削減/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 出荷現場から電話またはチャットで質問が来る
- 担当者が、まず物流部の一覧表を開く
- 載っていなければ、共有フォルダで取引先名を検索する
- 覚書のPDFを開き、該当箇所を探す
- 見つからなければ、営業に「先方に確認して」と依頼する
- 分かった内容を現場に伝える
- 一覧表に追記する(忘れることが多い)
- 出荷現場が、チャットの窓口に納品先名と質問を入れる
- 自動納品先を特定する(表記ゆれを吸収する)
- 自動その納品先に関する文書だけに絞って検索する
- 自動該当箇所を引用し、出典(文書名・日付・箇所)付きで答える
- 自動文書間で内容が食い違う場合は、両方を日付付きで並べて示す
- 人答えが出なかった質問、食い違いがあった質問だけが物流部に回る
- 人物流部が確認し、確定した内容を正の文書に反映する
- 自動反映された文書が索引に取り込まれ、次回から答えられるようになる
各工程の詳しい説明を読む
- 出荷現場から電話またはチャットで質問が来る
- 担当者が、まず物流部の一覧表を開く
- 載っていなければ、共有フォルダで取引先名を検索する
- 覚書のPDFを開き、該当箇所を探す
- 見つからなければ、営業に「先方に確認して」と依頼する
- 分かった内容を現場に伝える
- 一覧表に追記する(忘れることが多い)
問題は4つあります。
(a)どれが最新か分からない。 覚書、メール、一覧表のどれが生きているかを判断できるのは、経緯を知っている人だけです。
(b)文書の中の探し方が分からない。 共有フォルダの検索はファイル名にしか当たらず、PDFの中身は探せません。
(c)聞かれる側が1人に偏る。 4名のうち、実質的に答えられるのは1名です。その人が休むと、現場が止まります。
(d)追記が続かない。 分かった内容を一覧表に戻す作業が、電話が終わった時点で忘れられます。だから同じ質問がまた来ます。
- 出荷現場が、チャットの窓口に納品先名と質問を入れる
- 【自動】 納品先を特定する(表記ゆれを吸収する)
- 【自動】 その納品先に関する文書だけに絞って検索する
- 【自動】 該当箇所を引用し、出典(文書名・日付・箇所)付きで答える
- 【自動】 文書間で内容が食い違う場合は、両方を日付付きで並べて示す
- 【人】 答えが出なかった質問、食い違いがあった質問だけが物流部に回る
- 【人】 物流部が確認し、確定した内容を正の文書に反映する
- 【自動】 反映された文書が索引に取り込まれ、次回から答えられるようになる
自動化されるのは「特定する」「探す」「引用する」の3つです。残るのは「出てこなかったもの」と「食い違ったもの」だけになります。
5の「食い違いを隠さない」が、この構成の肝です。 最新の1件だけを返す設計にすると、古い条件を自信満々に答える窓口ができあがります。
02今回想定するシステム構成
取引先ごとの覚書 / 納品指示書 / メール / 一覧表 │ ▼【定期】インデクサーで取り込み Azure AI Search(納品先IDでフィルタできる索引) │ └─ 文書の分割 / ベクトル化 / メタデータ(納品先・文書種別・日付・版) │ ▼ Microsoft Teams の問い合わせ窓口 │ ▼【トリガー】質問が投稿されたとき Power Automate │ ├──▶ 納品先の特定(基幹システムの取引先マスタで名寄せ) │ ├──▶ Azure AI Search ── 納品先で絞ったハイブリッド検索 │ └──▶ LLM API ── 引用付きの回答生成(引用元の提示を必須にする) │ ▼ 回答(本文 + 出典の文書名・日付・該当箇所) │ ├─ 答えが出た → 現場へ └─ 出なかった / 食い違い → 物流部へ ──【人が確認して文書を更新】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Azure AI Search | Amazon Kendra、OpenSearch |
| 生成AI | Claude API | ChatGPT、Gemini |
| 連携 | Power Automate | Make、n8n |
「検索の結果を、生成AIにそのまま答えさせない」構成にします。 引用元を必ず添えさせ、引用できない場合は「分かりません」と返させます。
03どうやって実装するのか
処理の起点を決める
チャットの窓口に質問が投稿されたことを起点にします。電話をやめてチャットに寄せるのが、この構成の前提です。
電話のまま運用すると、担当者が代わりに入力することになり、工数が減りません。窓口の移行は、仕組みより先に決めてください。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 取引基本契約・覚書 | 納品条件、検収の条件、費用の負担 | 共有フォルダ(PDF) |
| 納品指示書 | 納品時間、荷受け場所、伝票の様式、パレットの指定 | 共有フォルダ、メール添付 |
| 先方からのメール | 条件の変更、臨時の指示 | 共有メールボックス |
| 物流部の一覧表 | 納品先ごとの条件(現在の正) | Excel |
| 取引先マスタ | 取引先コード、正式名称、略称、店舗コード | 基幹システム |
| 過去の問い合わせ記録 | 質問と、確定した回答 | 窓口の履歴 |
データの取得方法を決める
文書の取り込み: Azure AI Search のインデクサーを使うと、Azure Blob Storage、SharePoint、OneLake などのデータ ソースからデータを取得して索引に取り込めます。取り込みの際に、文書の分割、ベクトルの生成、構造化といった変換を行うことができます。
PDFの読み取り: 覚書はPDFです。文字が埋め込まれたPDFであれば、そのまま取り込めます。スキャンした画像のPDFは、文字が取れません。 この場合は文字認識を挟むか、その文書だけは人が転記すると割り切ってください。全部を自動化しようとすると、ここで止まります。
メタデータの付与が、この構成のほぼすべてです。 取り込むときに、次を必ず付けます。
| メタデータ | なぜ必要か |
|---|---|
| 納品先コード | これで絞らないと、他社の条件が混ざる |
| 文書の種別 | 覚書・指示書・メールで、重みが違う |
| 日付 | 新旧の判断に使う |
| 有効・無効 | 差し替えられた文書を検索から外す |
| 出典のURL | 回答に添えて、原本を開けるようにする |
納品先コードが付いていない文書は、索引に入れないでください。 入れると、A社の質問にB社の条件を返します。これはこの構成で最悪の事故です。
AIへ渡す前に整形する
- 納品先の名寄せ … 「◯◯ストア」「(株)◯◯ストア」「マルマルストア中央店」を、取引先マスタの1コードに対応づけます
- 文書の分割 … 条項や見出しの単位で分けます。ページで機械的に切ると、条件が途中で切れます
- 有効・無効の判定 … 同じ納品先の同じ種別で新しい文書があれば、古いほうに無効の印を付けます。削除はしません(経緯を追えなくなるため)
- メールの整形 … 署名、引用、日程調整のやり取りを落とします
- スキャン文書の切り分け … 文字が取れない文書は、索引に入れず、別の一覧に出して人が転記します
AIに処理させる
検索と回答を分けます。
検索基盤にさせること: 納品先での絞り込みと、該当しそうな箇所の取り出し。Azure AI Search は、全文検索・ベクトル検索・両者を組み合わせたハイブリッド検索に対応しています。ハイブリッドにするのは、「時間指定」のような業務用語は全文検索が強く、「いつまでに着けばいい?」のような言い回しはベクトル検索が強いためです。
LLMにさせること:
| 処理 | 内容 |
|---|---|
| 質問の整理 | 「いつまでに着けばいい?」を「納品時間の指定」に言い換える |
| 回答の組み立て | 取り出された箇所から、現場が読める短文にする |
| 引用の提示 | どの文書の、どの記述に基づくかを示す |
| 食い違いの提示 | 複数の文書で内容が違う場合、両方を日付付きで並べる |
| 答えられない判定 | 該当箇所がなければ「分かりません」と返す |
引用の提示は、機能として組みます。 Claude APIのCitations機能は、文書に引用を有効にして渡すと、回答の各主張にその根拠となった箇所を返します。平文とPDFは自動的に文単位に分割され、引用の粒度を自分で決めたい場合は、分割済みの内容をそのまま渡す形も選べます。 検索基盤から取り出した箇所を渡す用途では、この形が合います。
指示内容を固定する
あなたは、納品条件について社内からの質問に答える窓口の担当者です。
【厳守事項】
- 渡された文書に書かれていないことを答えないでください。
該当する記述がなければ「この条件は文書に見当たりません」と答え、
推測で補わないでください。
- 一般的な商慣習を持ち出さないでください。
「通常は午前中納品が多い」のような一般論を書かないでください。
- 回答には、必ず出典(文書名・日付・該当箇所)を添えてください。
- 複数の文書で内容が食い違う場合は、
どちらかを選ばず、両方を日付付きで並べてください。
- 渡された文書以外の納品先の条件に触れないでください。
- 金額、違約、責任の所在に関する判断を書かないでください。
該当する記述がある場合は、引用して示すだけにしてください。
【質問】
{question}
【この納品先に関する文書(検索結果)】
{retrieved_chunks}
【納品先】
{customer_name}(コード: {customer_code})
「両方を日付付きで並べる」の指示が重要です。 食い違いを隠して1つに決めると、その決め方が誰にも見えません。 並べて出せば、現場が「これは古いほうだ」と気づけます。
出力形式を固定する
{
"answer": "",
"found": true,
"citations": [
{
"document_name": "",
"document_type": "agreement | instruction | email | list",
"document_date": "",
"quoted_text": "",
"source_url": ""
}
],
"conflict": false,
"conflicting_sources": [],
"escalate_reason": ""
}
found が偽、または conflict が真の場合は、現場に返さず物流部に回します。 ここを自動で返すと、間違った条件が現場に流れます。
システムへ連携する
| つなぎ先 | 何をするか |
|---|---|
| チャット | 質問の受け付けと回答の返却 |
| 基幹システム | 取引先マスタで納品先を特定する |
| 文書の保管先 | 索引の元になる文書を置く。回答の出典リンク先になる |
| 物流部の一覧表 | 確定した回答を反映する。索引にも取り込む |
| 窓口の履歴 | 質問と回答を残し、よくある質問の集計に使う |
一覧表への反映を、人の善意に任せないでください。 物流部が回答を確定したら、その場で一覧表に書き込む画面を用意します。書き込まれた内容は、次の取り込みで索引に入ります。これがないと、同じ質問が永久に繰り返されます。
人が確認する
条件付きで人が確認します。 全件ではありません。
自動で返してよいのは、引用が取れ、食い違いがなく、質問の種類が「時間・場所・伝票・荷姿」のいずれかである場合に限ります。
物流部に回すのは、次の場合です。
| 場合 | 理由 |
|---|---|
| 引用が取れなかった | 文書にない条件。先方への確認が要る |
| 文書間で食い違った | どちらが生きているかは人しか判断できない |
| 費用の負担・違約に関する質問 | 契約の解釈になる |
| 臨時の変更に関する質問 | 最新の連絡を人が確かめる必要がある |
| 新規の納品先 | 文書がそろっていない |
この線引きを最初に決めてください。 「とりあえず全部自動で返す」と、事故が起きるまで問題が見えません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 納品先が特定できない | 候補を並べて聞き返す。推測で1社に決めない |
| 同じ企業の店舗違いを取り違える | 店舗コードまで含めて絞る。名称だけで絞らない |
| 該当する記述がない | 「見当たりません」と返し、物流部へ回す |
| 覚書とメールで内容が違う | 両方を日付付きで並べ、物流部へ回す |
| スキャン画像で文字が取れない | 索引に入れず、転記待ちの一覧に出す |
| 文書に納品先コードが付いていない | 索引に入れない。他社の条件を返す事故になる |
| 質問が複数の納品先にまたがる | 納品先ごとに分けて答える |
| 差し替えられた古い文書が検索に出る | 有効・無効の印でフィルタする |
| 回答に出典が付かなかった | 返さずに物流部へ回す。出典なしの回答を出さない |
記録を残す
- 質問、特定された納品先、検索で取り出された箇所
- 返した回答と、添えた出典
- 物流部へ回した件と、その理由
- 確定した回答と、一覧表への反映日
- 現場が「役に立たなかった」と押した件
最後から2番目が、この構成の資産になります。確定した回答は、次から索引の一部になります。 月420件のうち、文書にない条件は最初の3か月で洗い出され、そのあとは減っていきます。
最後の項目も省かないでください。正しい引用が出ていても、現場が知りたかったことと違うことがあります。
04実装レベルの3段階
半自動化の時点で、12分が6分程度になります。 探す8分が大きく減るためです。本格構成にすると4分程度になりますが、チャット窓口と一覧表への反映の実装が必要です。
05工数削減シミュレーション
導入後 420件 × 4分 ÷ 60 = 28 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 納品先が100社以上あり、納品先ごとに時間指定・伝票様式・荷姿・立ち入り手順などの条件が異なる企業。条件が取引先ごとの覚書やメールに散らばっていて、ベテランの記憶に頼っている場合。
- 納品先が数十社で、条件が1枚の表に収まっている場合。自社便を使わず全量を運送会社に任せていて、条件を運送会社側が管理している場合。納品条件が文書として存在せず、口頭でしか伝わっていない場合(先に文書化が必要)。
07最小構成で試す方法
- 過去1か月の問い合わせ記録から30件を選ぶ
- そのうち上位10社の納品先について、覚書・指示書・メールを集める
- 集めた文書を生成AIに渡し、30件の質問に答えさせる
- 物流部のベテランが、答えと出典が正しいかを見る
- 30件のうち、文書から答えられたのが何件かを数える
5の数字が、この構成の上限です。 文書に書かれていない条件は、AIでは答えられません。
判断の目安は次のとおりです。
| 文書から答えられた割合 | 判断 |
|---|---|
| 7割以上 | 自動化する価値がある |
| 4〜7割 | 先に文書化を進める。 答えられない条件を洗い出して書き起こす |
| 4割未満 | 条件が文書になっていない。この構成より、文書化のほうが効く |
4割未満だった場合でも、無駄にはなりません。 「何が文書になっていないか」の一覧が手に入ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 他社の条件が混ざって返る | 納品先コードでフィルタする。コードのない文書は索引に入れない |
| 同じ企業の店舗を取り違える | 店舗コードまで含めて絞る |
| 古い覚書の条件を返す | 有効・無効のメタデータで除外する。日付だけに頼らない |
| 食い違いが隠れる | 複数の出典で内容が違う場合の分岐を必ず作る |
| 回答に出典が付かない | 出典なしの回答を返さない分岐を作る |
| スキャンPDFが取り込めない | 文字が取れない文書を一覧に出し、転記の対象にする |
| 文書の分割位置が悪く条件が切れる | 条項や見出しの単位で分ける。ページで切らない |
| 一覧表が更新されない | 回答を確定する画面から、そのまま書き込めるようにする |
| 現場が使わず電話してくる | 窓口をチャットへ移す運用を先に決める。仕組みだけでは変わらない |
| 「分かりません」が多くて信用されない | 答えられなかった質問を集計し、文書化の優先順位に使う |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 取引先ごとの納品条件、覚書の記載、先方担当者とのやり取り。取引条件そのものが含まれます。
- 取引先ごとの条件は秘密保持の対象になりうる … 覚書には、費用の負担や取引条件が書かれていることがあります。外部サービスへの入力可否を、情報管理規程と取引基本契約で確認してください
- 他社の条件を返さない設計 … これがこの構成で最大のリスクです。 A社の質問にB社の覚書を引用して返せば、取引条件の漏えいになります。納品先コードでのフィルタを、プロンプトではなく検索の条件として組んでください
- アクセス範囲 … 窓口を使える人を、出荷に関わる社員に限定します。全社に開かないでください
- 先方担当者の氏名・連絡先 … 回答に出す必要はありません。索引から落とすか、回答での提示を禁止してください
- 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
- 回答の根拠 … 出典のない回答を返さない設計にしてください。「AIがそう言った」は、先方への説明になりません
- 契約解釈の切り離し … 費用の負担、違約、責任の所在に関する質問は、引用を示すだけにとどめ、判断は人に回してください
- 自動実行してよい範囲 … 検索、引用付きの回答、食い違いの検知までです。文書の更新と、条件そのものの確定は、必ず人が行います
誤りが起きた場合のリスクは、間違った条件で納品し、荷受けを断られることです。再配達の費用が発生するだけでなく、取引先との関係にも響きます。出典を必ず添え、現場が原本を確かめられる状態にしてください。
10まず何から始めるか
1週目:問い合わせを数える
過去1か月の問い合わせを、納品先と質問の種類で集計してください。上位20社で何割を占めるかを見ます。多くの場合、6割前後が上位20社に集中します。
2週目:上位20社の文書を集める
覚書、指示書、メール、一覧表を、納品先ごとのフォルダにまとめます。この段階で、「どこにもない条件」が見つかります。 それを一覧にしてください。
3〜4週目:30件で試す
集めた文書を生成AIに渡し、実際の質問30件に答えさせます。答えられた割合と、出典の正しさを見ます。
2か月目:索引を作る
上位20社だけで索引を作り、納品先で絞った検索を組みます。フィルタが効いているかを、他社の条件が混ざらないかで必ず確かめてください。
3か月目以降: チャット窓口につなぎ、対象を340社に広げます。あわせて、答えられなかった質問を月次で集計してください。 これが、文書化すべき条件の一覧になります。
半年後には、「文書にない条件」がほぼなくなっているはずです。 この構成の本当の効果は、検索が速くなることより、条件が文書として残るようになることかもしれません。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Azure AI Search が、フルテキスト検索・ベクトル検索・ハイブリッド検索・マルチモーダル検索に対応していること。インデクサーによって Azure Blob Storage、SharePoint、OneLake などのデータ ソースからデータを取得し、取り込み時にチャンク分割・ベクトル生成などの変換を適用できること。索引に入れられるのはJSONドキュメントで、直接アップロードするプッシュ方式と、インデクサーで取得するプル方式があること | Microsoft Learn:Azure AI 検索の概要 | 2026-09-21 |
| Claude APIのCitations機能が、文書に基づく回答の各主張に対して根拠となった箇所を返すこと。平文とPDFは既定で文単位に分割され、引用の粒度を自分で決めたい場合はカスタムコンテンツとして分割済みの内容をそのまま渡せること。PDFからの画像の引用には対応しておらず、文字が取り出せないスキャンPDFは引用できないこと | Claude Docs: Citations | 2026-09-21 |
| Claude APIのPDF対応が、1リクエストあたり最大32MB・最大600ページ(コンテキストウィンドウが100万トークン未満の場合は100ページ)であること。パスワードや暗号化のない標準PDFであることが条件で、各ページはテキストと画像の両方として処理されること | Claude Docs: PDF support | 2026-09-21 |
取引先ごとの納品条件は、取引条件の一部として秘密保持の対象になることがあります。 外部の生成AIサービスや検索サービスへ文書を預けてよいかを、自社の情報管理規程と取引基本契約の条項で確認してください。とくに、納品先ごとのフィルタが効かず他社の条件を引用して返す事故は、取引条件の漏えいにあたります。 絞り込みをプロンプトの指示ではなく、検索の条件として組み込んでください。費用の負担・違約・責任の所在に関する質問は契約の解釈にあたるため、引用を示すにとどめ、判断は人が行ってください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。文字が埋め込まれていないスキャンPDFの扱いは、自社の文書の状態に応じて個別の検討が必要です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0133)についてのご相談はこちらから。
