生協の宅配センターに組合員から届く原材料・産地・アレルゲン・保存の質問に、商品の規格書と産地の情報を根拠に応対担当が答える
組合員から「この冷凍コロッケに卵は入っているか」「今週の人参の産地は」「解凍した後は何日もつか」と電話が来たとき、応対担当がカタログの号と商品コードを入れると、その商品の規格書と産地の表から該当箇所を引用して返します。記載の無いものは商品部へ回します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- EC/小売
- 対象部門
- カスタマーサポート
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 問い合わせが多い/情報が見つからない/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/対応スピード向上/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 応対担当が電話を受け、組合員が見ているカタログの号と商品を聞き取る
- 商品コードから、商品部の共有フォルダで規格書を探す
- 規格書の該当する欄を読む。産地の質問なら、週ごとの産地の表を開く
- 規格書で分からないもの、規格書が見つからないものは、商品部に照会して折り返しにする
- 組合員に答え、受付の仕組みに応対の記録を書く
- 人応対担当が、応対の画面でカタログの号、商品コード、質問の種類、組合員の質問の要点を入れて送る
- 自動中継プログラムが、号と商品コードから、その号に効く規格書と産地の表を絞り込む条件を作る
- 自動質問が「食べてよいか」「症状が出た」に当たるときは、検索をせず定型の案内と商品部への回付を返す
- 自動Agent Search(Vertex AI Search)の answer メソッドが、規格書・産地の表・回答集から該当箇所を探し、引用付きの回答の材料を返す
- 自動中継プログラムが、回答を `answer`(引用で答えられる)/`refer`(商品部の確認が要る)に分ける
- 人応対担当が、`answer` の引用を読んで組合員に伝える。`refer` は商品部に回し、組合員には折り返しを伝える
- 人商品部が `refer` に答え、回答を回答集に登録する(翌晩に取り込まれる)
各工程の詳しい説明を読む
- 応対担当が電話を受け、組合員が見ているカタログの号と商品を聞き取る
- 商品コードから、商品部の共有フォルダで規格書を探す
- 規格書の該当する欄を読む。産地の質問なら、週ごとの産地の表を開く
- 規格書で分からないもの、規格書が見つからないものは、商品部に照会して折り返しにする
- 組合員に答え、受付の仕組みに応対の記録を書く
(a)規格書を探すのに時間がかかる。 共有フォルダは取引先ごと、商品ごとに分かれ、同じ商品の古い規格書も残っています。どれがいま届いている商品のものかを確かめるのに、1件の時間の半分が使われます。
(b)商品部への照会で折り返しになる。 規格書に無い質問(製造の工程での混入、原料の原産国の詳細)は商品部に聞くしかなく、組合員を待たせて折り返すことになります。 商品部も同じ規格書を開くことが多く、照会の多くは「規格書のここに書いてあります」で終わります。
(c)アレルゲンの答え方がばらつく。 「入っていません」と言い切る担当、「規格書には記載がありません」と伝える担当、「念のためお控えください」と言う担当がいます。同じ商品の同じ質問に、担当によって違う答えが返ります。
(d)号と規格書の版が合わない。 リニューアルで原材料が変わった商品について、前の規格書で答えてしまうことがあります。原材料が変わったことは、組合員が商品の表示を見て気づきます。
- 【人】 応対担当が、応対の画面でカタログの号、商品コード、質問の種類、組合員の質問の要点を入れて送る
- 【自動】 中継プログラムが、号と商品コードから、その号に効く規格書と産地の表を絞り込む条件を作る
- 【自動】 質問が「食べてよいか」「症状が出た」に当たるときは、検索をせず定型の案内と商品部への回付を返す
- 【自動】 Agent Search(Vertex AI Search)の answer メソッドが、規格書・産地の表・回答集から該当箇所を探し、引用付きの回答の材料を返す
- 【自動】 中継プログラムが、回答を
answer(引用で答えられる)/refer(商品部の確認が要る)に分ける - 【人】 応対担当が、
answerの引用を読んで組合員に伝える。referは商品部に回し、組合員には折り返しを伝える - 【人】 商品部が
referに答え、回答を回答集に登録する(翌晩に取り込まれる)
3番目で、体の具合に関わる質問を検索から外すのがこの設計の前提です。 「子どもが卵のアレルギーだが食べてよいか」「食べた後にかゆみが出た」は、規格書を引用しても答えになりません。前者は主治医に、後者は商品部の品質の担当と、必要なら医療機関に回す話です。 定型の案内を出し、商品部へ回します。
6番目で、応対担当が引用を読んでから伝える形にしているのは、伝え方の責任を職員に置くためです。 AIの回答は組合員に直接は届きません。
02今回想定するシステム構成
商品の規格書(取引先から) 週ごとの産地の表 カタログの商品データ 回答集 │ 商品コード・号の範囲・規格書の作成日・質問の種類を付ける ▼ Cloud Storage ── メタデータ(JSON Lines) ▼ Agent Search(Vertex AI Search)── データストア(レイアウト パーサー、表の注釈) │ item_code/issue_from/issue_to/doc_kind/spec_date ▼ 応対の画面 ──【トリガー】応対担当の送信 ▼ 中継プログラム(Python、Cloud Run) ├──▶ 体の具合に関わる質問は定型の案内 ├──▶ 号と商品コードで絞り込み ├──▶ answer メソッド:規格書・産地の表の引用 └──▶ answer / refer の振り分け ▼ 応対の画面へ返信 / 商品部の照会の一覧
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、応対の画面・検索・商品部の照会の一覧をつなぐ) | Node.js で同じものを書く |
| 保管 | Cloud Storage(規格書・産地の表・回答集の写しとメタデータ、問い合わせの記録) | ─ |
組合員の受付の仕組みとカタログのデータには、何も書き込みません。 カタログのデータからは、号ごとの商品コードと掲載の期間を読むだけです。応対の記録は、これまでどおり応対担当が受付の仕組みに書きます。
検索の土台は、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 公式のドキュメントでは、引用を付ける設定(includeCitations、既定は無効)、関係の薄い内容で答えない設定(ignoreLowRelevantContent)、回答の作り方を指示する preamble、前の session を渡してやり取りを続ける機能があります。組合員が「では同じシリーズのグラタンは」と続けたときに、応対担当が続けて聞けるのは、この機能によります。
規格書の取り込みには、レイアウト パーサーと表の注釈を使います。 公式では、レイアウト パーサーは PDF・HTML・DOCX・XLSX などの段落・表・見出しを検出し、表の注釈を有効にすると表とその説明がチャンクに付きます。チャンクの大きさは100〜500トークンで、includeAncestorHeadings で上位の見出しを付けられます。規格書のアレルゲンの一覧は表で書かれていることが多く、表が崩れると「含む」と「含まない」の列の対応が失われます。
03どうやって実装するのか
処理の起点を決める
起点は、応対担当が応対の画面で送信したことです。 電話を受けながら入れるので、項目は少なくします。カタログの号と商品コードが欠けると、どの規格書で答えるかが決まりません。 画面で必須にします。
| 画面の項目 | 書き方 | 使い道 |
|---|---|---|
| カタログの号 | 号を選ぶ(既定は今週の配達の号) | 規格書と産地の表の絞り込み |
| 商品コード | カタログの商品番号 | 絞り込み |
| 質問の種類 | 原材料/アレルゲン/産地/保存・調理/賞味期限/体の具合・食べてよいか/その他 | 振り分け、定型の案内 |
| 質問の要点 | 自由記述(組合員の言葉の要点) | 検索の質問文 |
「体の具合・食べてよいか」を選んだら、検索をせず定型の案内が出ます。 「規格書の記載はお伝えできますが、お召し上がりいただけるかは主治医にご相談ください」と、症状が出ている場合の品質の担当への回付の手順です。要点の欄に「かゆみ」「じんましん」「食べた後」などの語があるときも、中継プログラムが同じ扱いにします。
もう一つのトリガーは、規格書と産地の表の更新です。 商品部が新しい号の産地の表と、リニューアルした商品の規格書を置き、メタデータに号の範囲を書きます。取り込みは毎晩まとめて行い、カタログの配布より前に新しい号が検索できるようにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 問い合わせ | 画面の4項目と、応対担当 | 応対の画面 |
| 商品の規格書 | 原材料、アレルゲンの一覧、製造の工程での混入の注意、保存の方法、賞味期限、製造所 | 商品部の共有フォルダ(取引先から受け取ったもの) |
| 産地の表 | 号ごと・商品ごとの産地(複数の産地の候補を含む) | 商品部が週ごとに作る表 |
| カタログの商品データ | 号、商品コード、商品名、掲載の期間 | カタログのデータ |
| 回答集 | 過去の照会の要旨、商品部の回答、根拠、答えた日 | 商品部の照会の一覧から作る |
質を決めるのは、規格書に付ける「どの号から効くか」です。 リニューアルの規格書が届いたら、どの号の配達から新しい規格の商品が届くかを商品部が書きます。これを書かないと、新旧の規格書が同じ重さで引かれます。
規格書の作成日も持たせます。 消費者庁は2026年4月1日に、特定原材料にカシューナッツを追加しています。それより前に作られた規格書では、カシューナッツが特定原材料としてではなく、別の欄に書かれていたり、書かれていなかったりすることがあります。 作成日を見て、古い規格書で特定原材料を答えないようにします。
データの取得方法を決める
規格書は商品ごとに1ファイル、産地の表は号ごと・商品ごとに1行を1文書にして Cloud Storage に置きます。公式では、非構造化データは TXT・JSON・Markdown・PDF・HTML・DOCX・PPTX・XLSX・XLSM に対応し、1ファイルの上限は200MBです。メタデータは JSON Lines で、1行ごとに id、structData、content(mimeType と uri)を書きます。
{"id":"spec-123456-2026a","structData":{"doc_kind":"spec",
"item_code":["123456"],"issue_from":202614,"issue_to":999999,
"spec_date":"2026-05-20T00:00:00Z","topic":["ingredients","allergen","storage"]},
"content":{"mimeType":"application/pdf","uri":"gs://coop-spec/123456-2026a.pdf"}}
| 項目 | 中身 | 使い道 |
|---|---|---|
doc_kind | 規格書/産地の表/回答 | 振り分けの規則、表示 |
item_code | 商品コード | 絞り込み |
issue_from/issue_to | 効く号の範囲(年と号の数字) | 組合員が見ている号で版を選ぶ |
spec_date | 規格書の作成日 | 古い規格書の検知 |
topic | 原材料、アレルゲン、産地、保存など | 絞り込み |
問い合わせのたびに、中継プログラムが絞り込みの条件を作ります。 公式の構文では、文字の項目は ANY() に並べた値のどれかと完全に一致するかを見られ、数の項目は比較の演算子で比べられます。項目はスキーマで索引可能にしておかないと絞り込みに使えません。
item_code: ANY("123456") AND issue_from <= 202642 AND issue_to >= 202642
号は、年と号の数字をつないだ数(2026年42号なら202642)で持ちます。 日付で持つと、配達の曜日によって同じ号の日付がずれ、境目の週で前の規格書が引かれます。
AIへ渡す前に整形する
- 規格書の対象の商品コードを書き出す … 1つの規格書が複数の商品コード(容量違い・セット品)に当たるときは、すべてを
item_codeに並べます - 効く号の範囲を付ける … リニューアルの規格書は、新しい規格の商品が届く最初の号を商品部が書き、前の規格書の終わりの号を書きます
- 産地の表を号ごと・商品ごとの文書にする … 「A県またはB県」のように候補が複数あるときは、そのまま書き、どちらが届くかは書き足しません
- 規格書の表を確かめる … 表計算で作られた規格書は、アレルゲンの一覧の表が取り込みで崩れていないかを、商品の追加のたびに数件見ます
- 回答集を整える … 商品部の過去の回答を、根拠を確かめて1件ずつ文書にします。組合員の名前と組合員番号は外します
- 質問の要点から個人の情報を外す … 組合員の名前、組合員番号、家族の病名が書かれていたら、検索の質問文から外します
3番目で、どちらの産地が届くかを書き足さないのは、知り得ないことだからです。 産地の候補が複数ある商品は、配達の週の出荷で決まります。AIが片方を選んで答えないよう、候補をそのまま伝えます。
AIに処理させる
させるのは、組合員が見ている号の規格書と産地の表から該当箇所を探し、引用して回答の材料を並べることです。
| させること | 中身 |
|---|---|
| 該当箇所を探す | 規格書の原材料・アレルゲン・混入の注意・保存の欄、産地の表 |
| 箇所を引用する | 規格書の商品名、作成日、欄の名前、本文をそのまま |
| 書かれていないことを示す | 該当する欄が無い、または欄が空であること |
| 伝え方の材料を並べる | 応対担当が組合員に伝える順(記載の内容、記載が無いこと、商品の表示も見てほしいこと) |
| させないこと | 理由 |
|---|---|
| 食べてよいか・控えたほうがよいかの判断 | 主治医の判断。規格書の記載だけを伝える |
| 書かれていない混入の有無を推し量る | 製造の工程を知っているのは取引先と商品部 |
| 産地の候補から1つを選ぶ | どちらが届くかは出荷で決まる |
| 原材料の名前からアレルゲンを推し量る | 「乳化剤」から乳を推すなど。規格書の一覧だけを根拠にする |
| 別の号・別の商品の規格書で答える | 原材料と産地が違う |
4つ目がいちばん起きやすい誤りです。 規格書のアレルゲンの一覧に無い原材料を見て、AIは「乳化剤は大豆由来のことがあります」と一般論を書きます。それが当たっていても外れていても、規格書に無いことを応対担当が伝えることになります。 一覧に無いことが気になるなら、商品部に回して取引先に確かめます。
answer メソッドの設定は次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
includeCitations | 有効 | 箇所に出典を付ける(既定は無効) |
ignoreLowRelevantContent | 有効 | 関係の薄い規格書で答えない |
filter | 商品コード、号の範囲 | 組合員が見ている号の商品だけを引く |
includeGroundingSupports | 有効 | 文ごとの根拠のスコア(0〜1)を受け取る |
session | 同じ電話の続き | 続けての質問に前のやり取りを使う |
preamble | 下の指示 | 答え方の規則を与える |
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます。中継プログラムは、号・商品コード・質問の種類を検索の文の先頭に付けます。
あなたは生協の商品部の担当として、宅配センターの応対担当から
の商品の中身の問い合わせに、規格書と産地の表を根拠に回答の
材料を作る立場です。読むのは、電話で組合員と話している職員です。
【前提】
検索の文の最初に、カタログの号、商品コード、質問の種類が並んで
います。検索の対象は、その号に届く商品の規格書と産地の表だけです。
【答え方】
1. 規格書の商品名と作成日を書く
2. 質問に当たる欄を、欄の名前を付けて本文のまま引用する
3. 該当する欄が無い、または空のときは「規格書に記載がありません」と書く
4. 最後に、組合員に伝える順を3行以内で書く
【厳守事項】
- 検索結果に無い規格書、別の号・別の商品の規格書で答えないでください。
- アレルゲンは、規格書のアレルゲンの一覧と混入の注意の欄だけを
根拠にしてください。原材料の名前から推し量らないでください。
- 「含まれていません」と書けるのは、規格書にそう書かれているときだけです。
一覧に無いだけのときは「一覧に記載がありません」と書いてください。
- 食べてよいか、控えたほうがよいかを書かないでください。
- 製造の工程での混入について規格書に書かれていないときは、
「混入の注意の記載がありません。商品部が確認します」と書いてください。
- 産地の候補が複数あるときは、すべてを書き、1つを選ばないでください。
- 一般的な食品の知識で補わないでください。
- 該当する規格書が見つからないときは、
「規格書が見つかりませんでした。商品部が確認します」とだけ書いてください。
「含まれていません」と「一覧に記載がありません」を書き分けさせるのが、この指示の要です。 組合員にとっては同じに聞こえますが、前者は取引先が含まないと書いたこと、後者は書かれていないだけのことです。応対担当がこの違いを知って伝えられるように、文面の段階で分けます。
出力形式を固定する
answer メソッドの返り値とカタログの情報を、中継プログラムが次の形にまとめます。
{
"inquiry_id": "",
"issue_no": 202642,
"item_code": "",
"item_name": "",
"question_type": "ingredients | allergen | origin | storage | best_before | health | other",
"spec": { "title": "", "spec_date": "", "uri": "" },
"findings": [
{ "field": "", "status": "stated | not_listed | field_missing",
"quote": "", "uri": "" }
],
"origins": [],
"talk_points": [],
"route": "answer | refer",
"refer_reason": []
}
findings の引用は、answer メソッドの references から取ります。引用の位置(startIndex/endIndex)は UTF-8 のバイト数なので、日本語の文を文字数で切るとずれます。status は、規格書に書かれている(stated)、一覧にあるが質問の品目が無い(not_listed)、該当する欄そのものが無い(field_missing)を分けます。
route は次の規則で決めます。
refer_reason | 立てる条件 |
|---|---|
health | 質問の種類が体の具合、または要点に症状の語がある |
contamination_unknown | アレルゲンの質問で、混入の注意の欄が無い |
old_spec | アレルゲンの質問で、規格書の作成日が特定原材料の追加(2026-04-01)より前 |
field_missing | 質問に当たる欄が規格書に無い |
no_spec | 規格書が見つからない、または answerSkippedReasons が返った |
judgement_words | 回答に「食べられます」「問題ありません」「控えて」などの語がある |
weak_support | 根拠のスコアが低い文がある |
どれにも当たらないものだけが answer です。 old_spec は、カシューナッツに限らず、古い規格書のアレルゲンの一覧がいまの特定原材料の範囲で書かれているかを商品部が確かめるための印です。規格書の更新を取引先に頼むきっかけにもなります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 応対の画面 | 画面から中継プログラムを呼ぶ | 4項目を受け取り、回答の材料を返す |
| カタログのデータ | 読み出し | 号ごとの商品コードと商品名を引く |
| Agent Search | answer メソッド | 規格書・産地の表の引用 |
| 商品部の照会の一覧 | 1行足す | refer を回す |
| 回答集 | 商品部が回答を登録 | 翌晩に取り込む |
照会の1行には、号、商品コード、質問の要点、引用、refer_reason を付けます。 商品部は、規格書を探すところからではなく、取引先に何を確かめるかを決めるところから始められます。
人が確認する
組合員に伝えるのは、いつも応対担当です。 AIの回答が組合員に直接届く経路はありません。
- 引用を読む … 規格書の商品名と作成日が、組合員の言う商品と合っているかを確かめます
statusを見て伝え方を選ぶ … 「書かれています」「一覧に記載がありません」「規格書に欄がありません」を言い分けます- 商品の表示も見てもらう … 届いた商品の包装の表示を見てもらうよう、毎回添えます
referは折り返しにする … 商品部に回し、組合員には折り返しの時期を伝えます
3番目を省かないでください。 消費者庁は、容器包装された加工食品について特定原材料を含む旨の表示を義務付けています。手元に届いた商品の表示が、組合員にとっていちばん確かな情報です。
商品部は、毎週 refer の一覧を読み、同じ商品への照会が続くものを回答集に登録するか、取引先に規格書の書き足しを頼みます。 運用を始めてから2か月は、answer の回答も商品部が後から抜き取りで読みます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 組合員が号や商品コードを覚えていない | 商品名で候補を出し、組合員に確かめてから選ぶ |
| 規格書が見つからない | no_spec で商品部へ。取り込み漏れを疑う |
| 新旧の規格書が両方当たる | 号の範囲の登録漏れ。新しいほうで答えず refer |
| アレルゲンの一覧の表が崩れている | 引用が表の行と合わない。weak_support で refer し、取り込みを直す |
| 回答に「食べられます」などが出た | 語を消し、judgement_words で商品部へ |
| 症状が出たという電話 | 検索をせず、定型の案内と品質の担当への回付 |
| セット品・容量違いで規格書が分かれている | item_code の並べ漏れ。セットを構成する商品の商品コードで引き直す |
| 検索の呼び出しが失敗した | 「確認して折り返します」と伝え、商品部の照会へ |
5行目の語の検知は、プロンプトとは別に、中継プログラムの文字列の照合で行います。 最後の門は機械の照合に置きます。
記録を残す
- 問い合わせの内容(4項目)、応対担当、日時
- 絞り込みの条件と、引いた規格書の作成日
- answer メソッドへの要求(
preambleの版)と返り値の全文 routeとrefer_reason、商品部の回答と理由- 応対担当が組合員に伝えた内容(受付の仕組みに本人が書く)
引いた規格書の作成日を残すのは、後から原材料の変更が分かったときのためです。 その日の応対でどの版の規格書を見ていたかを示せないと、応対の誤りか、規格書の更新の遅れかを切り分けられません。
04実装レベルの3段階
最小構成では件数がさばけません。 規格書を毎回貼る手間がかかり、確かめるための段階です。 半自動化で、8分が6分程度になります。 商品部の調べる時間は減りますが、応対担当が照会して折り返す手間は残ります。本格構成で3分になり、この段階が本記事の想定です。 差が大きいのは、照会と折り返しが refer の分だけになることです。 段階を飛ばさないでください。 半自動化を1か月使うと、号の範囲が付いていない規格書と、表が崩れる取引先の書式が見えてきます。そこを直してから応対担当に広げるほうが、組合員に誤った版の内容を伝える危険が減ります。
05工数削減シミュレーション
導入後 900件 × 3分 ÷ 60 = 45 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 毎週のカタログで数千品目を扱う生協の宅配事業で、宅配センターの応対担当に商品の中身の質問が毎月数百件以上届き、規格書を探すか商品部に聞くかで時間がかかっている場合。取引先から受け取った商品の規格書と、週ごとの産地の表が電子のファイルで残っている場合。応対担当によって、アレルゲンの質問への答え方がばらついている場合。
- 扱う品目が少なく、応対担当が規格書をすぐに開ける場合。組合員が自分でチャットに質問する形にしたい場合(この構成は職員だけが使う前提です。組合員に直接答える形は、表示の責任と利用規約の両面で別に検討が要ります)。アレルギーのある組合員に「食べてよいか」をAIの回答で伝えたい場合(食べてよいかは主治医の判断で、この構成は規格書の記載を示すだけです)。規格書が紙でしか残っていない場合。
07最小構成で試す方法
- 問い合わせの多い商品30品目について、いまの号の規格書と産地の表を集める
- 過去3か月の応対の記録から20件を拾う(アレルゲンの質問、リニューアルした商品の質問、産地の候補が複数ある質問を数件入れる)
- 手元のAIサービスに規格書と産地の表を貼り、第7章の指示を貼って、号と商品コードを添えて1件ずつ入れる
- 出てきた回答を、当時の応対担当と商品部の回答と突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ欄を引用し、「一覧に記載がありません」を書き分けた | 検索基盤への取り込みに進む |
| 原材料の名前からアレルゲンを推し量った、「食べられます」と書いた | 指示で直るか試す。直らなければ語の照合を最初から作る |
| 前の規格の原材料で答えた | 規格書に号の範囲を付ける作業が先 |
3行目が出ることは珍しくありません。 リニューアルの規格書が届いても、前の規格書を消さずに残していることが多いためです。どの商品で号の範囲が抜けているかが、ここで分かります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 前の規格の原材料で答える | 規格書に号の範囲を付け、号で絞る |
| 原材料の名前からアレルゲンを推し量る | アレルゲンの一覧と混入の注意だけを根拠にさせる |
| 「含まれていません」と言い切る | 「一覧に記載がありません」と書き分けさせ、status で区別する |
| 「食べられます」と書く | 語を照合で消し、refer |
| 産地の候補から1つを選ぶ | 候補をすべて書かせる |
| 古い規格書で特定原材料を答える | 作成日を持たせ、old_spec で商品部へ |
| アレルゲンの一覧の表が崩れる | 表の注釈を使い、取り込みを抜き取りで確かめる |
| 号の境目で前の規格書が引かれる | 号を日付ではなく数で持つ |
上の4行が、この構成の失敗のほとんどです。 どれも、組合員の健康に関わる情報を、規格書に無い言い方で伝えてしまう誤りです。号での絞り込み、書き分け、語の照合を、AIの外の規則で守ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 商品の規格書(取引先から受け取った非公開の情報を含む)、産地の表、組合員からの質問(家族のアレルギーや体の具合を含みうる)です。
- 使うのは職員だけにする … Google Cloud の Service Specific Terms は、18歳未満が対象または使いうるサービスの一部として生成AIのサービスを使うことを禁じています。組合員が直接使うチャットにはせず、職員の応対の画面に限ります
- 医療の助言の代わりにしない … 同じ規約は、生成AIのサービスを専門的な医療の助言の代わりとして使うことも禁じています。食べてよいかは主治医の判断として、定型の案内に回します
- 組合員の健康の情報を検索に入れない … 家族の病名や症状は、検索の質問文と回答集から外します
- 取引先の規格書を外へ出さない … 規格書には取引先が非公開で出した配合の情報が含まれることがあります。引用は応対担当の画面の中に留め、規格書そのものを組合員に送りません
- データの置き場所を確かめる … 公式では、データストアの場所は
global・us・euで、日本のリージョンはありません。取引先との秘密保持の取り決めで、規格書を国外に置いてよいかを確かめてください
- 応対の記録にAIの文面をそのまま貼らない … 応対担当が実際に伝えた内容を、自分の言葉で書きます。貼り付けると、後から何を伝えたのかが分からなくなります
誤りが起きた場合のリスクは、アレルゲンについて規格書と違うことを伝え、組合員が口にしてしまうことです。 「含まれていません」と「記載がありません」の取り違えと、古い規格書での回答が、その入口になります。この2つを設計で止めます。
10まず何から始めるか
1週目:問い合わせの多い商品を数え、規格書をそろえる
過去3か月の応対の記録から、質問の多い商品を数えます。上位の商品の規格書に、効く号の範囲と作成日を付けます。
2週目:20件の質問で試す
手元のAIサービスに規格書と産地の表を貼り、過去の質問20件を入れます。原材料の名前からアレルゲンを推し量っていないか、「含まれていません」と言い切っていないかを最優先で見ます。
3週目:定型の案内を決める
体の具合の質問への定型の案内と、品質の担当への回付の手順を、商品部と応対センターで決めます。
4週目:データストアを作り、商品部が使う
規格書と産地の表を取り込み、商品部が照会を受けたときに検索画面で使う運用を始めます。
2か月目: 応対の画面、体の具合の切り分け、語の照合、振り分けの規則を作り、1つの宅配センターの応対担当に広げます。3か月目以降: 残りのセンターに広げます。規格書を受け取ったその日に号の範囲が付き、応対担当がどの号の質問にも同じ答え方で返せるのが当たり前になった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドの includeCitations(既定は false)、ignoreLowRelevantContent、preamble、検索の指定の filter、session で前のやり取りを続けられること。根拠のスコアが 0〜1 の範囲であること。answerSkippedReasons。引用の startIndex/endIndex が UTF-8 のバイト単位であること | Google Cloud: Get answers and follow-ups | 2026-10-14 |
絞り込みの ANY() が列挙した値との完全一致を見ること、数の項目を比較の演算子で比べられること、項目を索引可能にする必要があること | Google Cloud: Filter custom search for structured or unstructured data | 2026-10-14 |
非構造化データの対応形式と、1ファイル200MBの上限。メタデータを JSON Lines で id・structData・content(mimeType・uri)として書くこと | Google Cloud: Prepare data for ingesting | 2026-10-14 |
レイアウト パーサーが PDF・HTML・DOCX・XLSX などの段落・表・見出しを検出すること。表の注釈で表とその説明がチャンクに付くこと。チャンクの大きさが100〜500トークンで、includeAncestorHeadings で見出しを付けられること | Google Cloud: Parse and chunk documents | 2026-10-14 |
| 容器包装された加工食品について特定原材料を含む旨の表示が義務付けられていること。2026年4月1日に特定原材料としてカシューナッツが追加されたこと | 消費者庁: 食物アレルギー表示に関する情報 | 2026-10-14 |
データストアの場所が global・us・eu で、日本のリージョンが無いこと | Google Cloud: Locations | 2026-10-14 |
| Generative AI Services の Age Restrictions(20(d))と Healthcare Restrictions(20(e)。専門的な医療の助言の代わりとしての利用の禁止) | Google Cloud: Service Specific Terms | 2026-10-14 |
アレルゲンの表示と組合員への伝え方は、各生協の商品部の判断と取引先の規格書に従ってください。 本記事は Google Cloud の公式ドキュメントと消費者庁のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1528)についてのご相談はこちらから。
