品質担当と製造現場から出る「この顧客の品質要求はどうなっているか」の質問に、顧客ごとの品質保証協定書・図面の特記・要求事項を根拠にチャットで答える
品質担当や製造現場が「この顧客は変更の届出が要るか」「記録を何年残すか」をチャットで聞くと、品番から顧客と図面の版を引き、その顧客の協定書・図面の特記・要求事項から根拠付きで答えます。食い違いや判断の要るものは品質保証課へ回します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- 商社/物流/製造
- 対象部門
- 品質管理/生産
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 問い合わせが多い/属人化している/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/対応スピード向上/属人化解消
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 現場か営業の担当者が、品番かお客様の名前を伝えて、品質保証課に電話か社内メールで聞く
- 品質保証課の担当者が、品番の台帳で顧客と現行の図面の版を確かめる
- 顧客別のフォルダから協定書と要求の文書を開き、図面管理の仕組みで図面の特記を開いて、該当する箇所を探す
- 文書の間で書いてあることが違えば、どれを優先するかを協定書の条項で確かめる
- 答えと根拠の文書の名前を伝える
- 協定書に無いことや、すでに起きた不良の話は、課長と相談して答え、必要なら顧客に問い合わせる
- やり取りを、問い合わせの記録の表に書く
- 人現場・営業・品質の担当者が、社内ポータルの品質要求チャットに質問する(例:「品番 72-1045 の金型を補修する。顧客への届出は要るか」)
- 自動中継プログラムが、ログインした人の ID と所属を受け取る
- 自動品番の台帳から、顧客、協定書の区分(顧客の事業部)、現行の図面の版を引く
- 自動質問を「変更の届出」「記録と表示」「不適合の連絡」「その他」に分け、足りない条件(何を変えるか、すでに起きたことか)を選択肢で聞き返す
- 自動回す条件(すでに出荷した不良、特別採用の申し出、協定書に無い変更、顧客から届いた新しい要求)に当たれば、答えを作らずに品質保証課へ回す
- 自動顧客・図面の版・文書の種類で絞り込み、Agent Search(旧 Vertex AI Search)の answer メソッドが、質問した人が見られる文書だけから根拠付きで答える
- 自動回答に出た数字(日数・年数・時間)が、根拠の断片の中にそのまま書かれているかを照らし、無ければ回答を出さずに回す
- 自動根拠が二つ以上の文書にまたがり、書いてあることが違えば、回答を出さずに回す
- 人質問した人は、根拠の協定書の条項と図面の特記を開いてから作業に入る
- 人品質保証課の担当者は、回ってきた質問だけを、聞き取り済みの条件を見て判断する
各工程の詳しい説明を読む
- 現場か営業の担当者が、品番かお客様の名前を伝えて、品質保証課に電話か社内メールで聞く
- 品質保証課の担当者が、品番の台帳で顧客と現行の図面の版を確かめる
- 顧客別のフォルダから協定書と要求の文書を開き、図面管理の仕組みで図面の特記を開いて、該当する箇所を探す
- 文書の間で書いてあることが違えば、どれを優先するかを協定書の条項で確かめる
- 答えと根拠の文書の名前を伝える
- 協定書に無いことや、すでに起きた不良の話は、課長と相談して答え、必要なら顧客に問い合わせる
- やり取りを、問い合わせの記録の表に書く
(a)顧客を名前で言われる。 「A社さん向けのブラケット」と言われても、同じ顧客の中で事業部ごとに協定書が分かれていることがあります。担当者は品番を聞き直して台帳を引き、ここで数分かかります。
(b)図面の古い版で答える。 図面の特記は改訂で変わります。手元に印刷してある図面が古い版のままだと、もう無い特記で答えてしまいます。
(c)三つの文書を行き来する。 協定書に「別に定める」とあり、要求の文書を開くと「図面の指示による」とあり、図面を開く。一つの質問に、文書を三つ開くことが珍しくありません。
(d)判断の要る話が、普通の質問に混ざる。 「昨日出荷したロットに外観の不良があった。連絡の期限は」は期限の質問ではなく、顧客への連絡がすでに始まっていなければならない事態です。 電話の山に埋もれると、連絡が遅れます。
- 【人】 現場・営業・品質の担当者が、社内ポータルの品質要求チャットに質問する(例:「品番 72-1045 の金型を補修する。顧客への届出は要るか」)
- 【自動】 中継プログラムが、ログインした人の ID と所属を受け取る
- 【自動】 品番の台帳から、顧客、協定書の区分(顧客の事業部)、現行の図面の版を引く
- 【自動】 質問を「変更の届出」「記録と表示」「不適合の連絡」「その他」に分け、足りない条件(何を変えるか、すでに起きたことか)を選択肢で聞き返す
- 【自動】 回す条件(すでに出荷した不良、特別採用の申し出、協定書に無い変更、顧客から届いた新しい要求)に当たれば、答えを作らずに品質保証課へ回す
- 【自動】 顧客・図面の版・文書の種類で絞り込み、Agent Search(旧 Vertex AI Search)の answer メソッドが、質問した人が見られる文書だけから根拠付きで答える
- 【自動】 回答に出た数字(日数・年数・時間)が、根拠の断片の中にそのまま書かれているかを照らし、無ければ回答を出さずに回す
- 【自動】 根拠が二つ以上の文書にまたがり、書いてあることが違えば、回答を出さずに回す
- 【人】 質問した人は、根拠の協定書の条項と図面の特記を開いてから作業に入る
- 【人】 品質保証課の担当者は、回ってきた質問だけを、聞き取り済みの条件を見て判断する
3番目が、この設計の分かれ目です。 顧客と図面の版は台帳の値で決まり、AIの判断は入りません。 顧客の名前を質問の文から読ませると、似た名前の顧客や、同じ顧客の別の事業部の協定書を引きます。
7番目と8番目を後段に置いているのも、意図してのことです。 届出の期限や保存の年数は、数字が一つ違うだけで協定違反になります。 モデルが数字を言い換えたり、二つの文書の数字を混ぜたりしたものは、文の読み方に頼らずに止めます。
02今回想定するシステム構成
品質要求チャット(現場・営業・品質の担当。社内ポータル) ▼【トリガー】質問の送信(社員の ID 付き) 中継プログラム(Python、Cloud Run) ├──▶ 品番の台帳:品番 → 顧客・協定書の区分・現行の図面の版 ├──▶ 質問の種類の判定 → 聞き返しの選択肢 ├──▶ 回す条件 → 品質保証課の待ち行列(顧客の担当別) ▼ Agent Search(Vertex AI Search)── answer メソッド │ データストア:品質保証協定書+顧客の品質要求の文書 │ +図面の特記の一覧(版ごと)+過去の回答 │ アクセス制御:顧客ごとに見てよいグループ │ 絞り込み:customer/agreement_unit/drawing_rev/doc_type ▼ 中継プログラム ── 回答の数字が根拠の断片にあるか/文書の間で違わないかを確かめる ├──▶ 回答・根拠を返す └──▶ 数字が無い・食い違う・答えられない → 品質保証課の待ち行列
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、チャット・品番の台帳・検索・待ち行列をつなぐ) | Node.js で同じものを書く |
| 認証 | 社内の ID 基盤(Google の ID と同期) | Workforce Identity Federation で外部の ID を使う |
| 保管 | Cloud Storage(協定書・要求の文書・特記の一覧の原本とメタデータ) | ─ |
品番の台帳と図面管理の仕組みは、新しく足すものではありません。 中継プログラムは品番から顧客と現行の版を読むだけで、どちらにも書き込みません。最初の準備は、品番の台帳に「協定書の区分」の列を足すことです。 同じ顧客でも事業部ごとに協定書が違う場合、品番から区分を引けないと絞り込めません。
検索の土台は、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 検索の結果から回答を作り、出典を付けられます。前のセッションの ID を渡すとやり取りを続けられ、質問の言い換えは既定で有効です。回答の文ごとに根拠の強さのスコアを返す設定と、スコアの低い回答を落とす設定があり、応答の references には根拠にした断片の中身が入ります。
アクセス制御は、検索した人が元の文書を見られる範囲に結果を絞る機能です。 Cloud Storage の文書なら、メタデータの acl_info に見てよい人とグループを書きます。設定はデータストアの作成時にしか選べず、あとから有効にも無効にもできません。 1つの文書に付けられる読み手は3,000までで、グループも1つと数えます。なお、この機能はプレビューの扱いです。
03どうやって実装するのか
処理の起点を決める
起点は、担当者が品質要求チャットに質問を送ったことです。 チャットは社員番号でログインした人が使え、質問した人の所属と、品番から引いた顧客で、回したときにどの担当者の待ち行列に載せるかを決めます。
品番を必須にします。 品番が分からない営業の質問もあるので、顧客と事業部を選ばせる道も残しますが、その場合は図面の特記を答えに使いません。 図面の版が決まらないからです。
1件の質問は、1つのセッションで最後まで続けます。 「では材料の購入先を変える場合は」のような続けての質問も同じセッションでつなぎ、別の品番の話は新しいセッションで始めます。 前の品番の顧客が言い換えの中に残るからです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | 担当者が打った質問の文、選んだ聞き返しの値 | チャット |
| 質問した人の情報 | 所属、入っている顧客の担当のグループ | 社内の ID 基盤 |
| 品番の台帳 | 品番、顧客、協定書の区分、現行の図面の版 | 生産管理の仕組み |
| 品質保証協定書 | 変更の届出、記録の保存、不適合の連絡、文書の優先の条項 | 文書管理の顧客別フォルダ |
| 顧客の品質要求の文書 | サプライヤー向けの品質マニュアル、個別の取り決め | 文書管理の顧客別フォルダ |
| 図面の特記の一覧 | 品番・版ごとの特記の文、特別な特性の記号 | 図面から品質保証課が起こした表 |
| 過去の回答 | 質問、答え、顧客、文書の版、置き換えの有無 | 問い合わせの記録の表を整えたもの |
| 回す条件の表 | 回す値(すでに出荷した不良、特別採用、協定に無い変更) | 品質保証課が作る表 |
質を決めるのは、図面の特記の一覧です。 図面はスキャンした画像や CAD から出したPDFが多く、特記は図面の枠の隅に小さく書かれています。 図面そのものを取り込まず、品質保証課が品番と版ごとに特記の文を表に起こし、特別な特性の記号もその表に書きます。
協定書の「文書の優先」の条項は、表にもします。 協定書と図面と個別の取り決めが違うときどれが優先するかは、顧客ごとに協定書に書かれています。 中継プログラムが食い違いを見つけたとき、どの条項を担当者に示すかに使います。
データの取得方法を決める
協定書・要求の文書・特記の一覧・過去の回答は、Cloud Storage に置いてデータストアに取り込みます。 文書ごとのメタデータに、顧客、協定書の区分、文書の種類、図面の版、改訂日、見てよいグループを持たせます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 顧客と協定書の区分 | メタデータ | 台帳で決めた顧客の文書だけに絞る |
| 図面の版 | メタデータ | 現行の版の特記だけに絞る |
| 文書の種類(協定書/要求/特記/回答) | メタデータ | 根拠の表示の順 |
| 見てよいグループ | acl_info | 担当の外の顧客の文書を結果に出さない |
絞り込みの式は、顧客と区分と版で書きます。 項目を索引可能にしておけば、customer: ANY("C023") AND agreement_unit: ANY("C023-AUTO") AND drawing_rev: ANY("72-1045-E", "NONE") AND superseded: ANY("false") のように、その顧客のその事業部の協定書と、現行の版の特記と、置き換えられていない回答だけを引けます。NONE は図面に関係しない協定書と要求の文書に付けます。
見てよいグループは、顧客の担当ごとに作ります。 品質保証課の全員と、その顧客の品番を作るラインの職長、その顧客の営業を入れます。文書ごとに人を書くと、異動のたびに3,000品番分の書き直しになります。
AIへ渡す前に整形する
- 協定書を条項ごとに分ける … 条の見出しが付いた形で取り込み、顧客と区分を付けます
- 要求の文書を章ごとに分ける … 変更の管理、記録、不適合、表示の章の見出しを残します
- 図面の特記を起こす … 品番と版ごとに、特記の文と特別な特性の記号を表にします
- 古い版に印を付ける … 協定書と要求の文書の改訂、図面の改訂のたびに、古い版に置き換えの印を付けます
- 過去の回答を整える … 顧客、文書の版、置き換えの有無を付けます
- 見てよいグループを付ける … 顧客ごとに、担当のグループを
acl_infoに書きます - 見出しを断片に含める … データストアの作成時に分割を有効にし、
includeAncestorHeadingsを有効にします
3番目が、この構成でいちばん手間がかかり、いちばん効きます。 量産品番3,000の特記を一度に起こすのは現実的でないので、質問の多い顧客の品番から始め、図面の改訂のたびに足していきます。
6番目と7番目は、データストアを作る前に決めます。 アクセス制御も分割も、作成のあとでは有効にも無効にもできません。 見出しを含める設定は既定では無効で、協定書の条項は見出しが無いとどの顧客のどの章か分かりません。 分割の大きさは100〜500トークンで、既定は500です。
AIに処理させる
させるのは、台帳で決めた顧客と版の協定書・要求の文書・特記から、質問に当たる決まりを見つけ、何をすればよいかを根拠を付けて短く返すことです。 顧客と版を決めること、数字と食い違いを確かめること、回すかどうかは、中継プログラムが行います。
| 要素 | 中身 | 根拠 |
|---|---|---|
| 決まり | 届出の要否、保存の年数、連絡の期限 | 協定書、要求の文書 |
| 品番に固有の指示 | 特別な特性、表示、検査の指示 | 図面の特記 |
| すること | 誰が、どの書式で、いつまでに | 協定書、要求の文書 |
| 根拠の場所 | 協定書の条、要求の文書の章、特記の番号 | 全部 |
answer メソッドの設定は次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
session | 質問ごとのセッション | 聞き返しと続けての質問をつなぐ |
includeCitations | 有効 | 協定書の条と特記の番号を付ける |
ignoreLowRelevantContent | 有効 | 協定に無い話に答えない |
ignoreNonAnswerSeekingQuery | 有効 | あいさつや雑談で検索しない |
groundingSpec の filteringLevel | FILTERING_LEVEL_HIGH | 根拠の弱い回答を出さない |
filter | 顧客、協定書の区分、図面の版、置き換えの有無 | 別の顧客や古い版を混ぜない |
preamble | 下の指示 | 答え方の規則を与える |
| させないこと | 理由 |
|---|---|
| 顧客と図面の版を決める | 台帳の値で決める |
| 数字を言い換える・丸める | 期限と年数は文書のとおりでなければならない |
| 文書の間の食い違いを解く | 協定書の優先の条項を見て品質保証課が決める |
| 顧客へ届け出るかの結論 | 品質保証課が決める |
| 業界の一般的な要求で補う | その顧客の協定と違いうる |
3行目がいちばん起きやすい失敗です。 協定書に「記録は15年」、要求の文書に「品番の生産終了後10年」とあると、モデルは二つを一つの文にまとめ、どちらとも違う答えを作ります。 食い違いは解かせず、後段で見つけて人へ回します。
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます。
あなたは部品メーカーの品質保証課の担当者として、
製造現場・営業・品質の担当者から、顧客の品質要求の質問に答えます。
読むのは、作業を始める前にチャットを見ている担当者です。短く答えてください。
【前提】
検索の文の最初に、品番、顧客、協定書の区分、現行の図面の版、
質問の種類が並んでいます。
顧客と版はすでに決まっています。その顧客とその版の文書だけを使って答えてください。
【答え方】
1. 最初に、質問に当たる決まりを、文書の文言のとおりに書いてください。
2. 次に、誰が、何を、いつまでにするかを書いてください。
3. 図面の特記に関係する指示があれば、特記の番号と文を書いてください。
4. 根拠にした協定書の条、要求の文書の章、特記の番号を書いてください。
【厳守事項】
- 検索結果の文書に書かれていることだけで答えてください。
業界の一般的な要求や他の顧客の決まりで補わないでください。
- 日数・年数・時間などの数字は、文書に書かれたとおりに写してください。
言い換えたり、丸めたり、換算したりしないでください。
- 二つの文書で書いてあることが違うときは、まとめずに両方をそのまま書き、
「文書の間で記載が異なります」と書いてください。
- 顧客へ届け出るべきか、届け出なくてよいかの結論を書かないでください。
- 該当する記載が見つからないときは、
「協定書と要求の文書に該当する記載が見つかりません。品質保証課へ回します」
とだけ書いてください。
「数字は写す」「違うときはまとめない」が、この指示の要です。 何も言わなければ、モデルは「10営業日」を「約2週間」と言い換え、二つの年数を「10年以上」とまとめます。読みやすくするつもりの言い換えが、そのまま協定違反の元になります。
検索の文は、中継プログラムが組み立てます。 例えば「品番:72-1045、顧客:C023(自動車事業部)、図面:72-1045-E、種類:変更の届出、変えるもの:金型の補修。顧客への届出は要るか」のように、条件を先に並べ、担当者の質問の文を最後に足します。 顧客は社名ではなく、台帳のコードで渡します。
出力形式を固定する
answer メソッドの応答を、中継プログラムが次の形に整えて、チャットと記録に渡します。
{
"inquiry_id": "",
"session_id": "",
"part_no": "72-1045",
"customer": "C023",
"agreement_unit": "C023-AUTO",
"drawing_rev": "72-1045-E",
"category": "change_notice | records_labeling | nonconformity | other",
"conditions": { "change_item": "", "already_happened": false },
"status": "answered | escalated | skipped",
"escalate_reason": "shipped_defect | concession | change_not_in_agreement | new_requirement | number_not_in_source | conflict | part_unknown | not_in_docs | skipped | user_request | none",
"answer_text": "",
"numbers": [ { "text": "10営業日", "found_in_ref": true } ],
"refs": [ { "doc_type": "agreement | requirement | drawing_note | qa", "title": "", "section": "", "revision": "", "uri": "" } ],
"feedback": "resolved | escalated_after | wrong | none"
}
1つ目の理由は、numbers を回答の文と別に持てることです。 中継プログラムが回答の文から日数・年数・時間を拾い、応答の references に入っている断片の中身に同じ文字列があるかを照らします。1つでも false があれば、回答を出さずに number_not_in_source で回します。
2つ目は、refs の文書の種類ごとに根拠を並べられることです。 協定書と特記が両方根拠になっていれば、担当者は両方を開いて確かめるべきだと画面で分かります。回答の文に「文書の間で記載が異なります」があれば、conflict で回します。
3つ目は、escalate_reason で回った理由を数えられることです。 not_in_docs が多い顧客は協定書の取り決めが足りない、part_unknown が多ければ台帳の協定書の区分が埋まっていないことが分かります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 品質要求チャット | 社内ポータルの画面 | 質問を受け、聞き返しと回答を表示する |
| 社内の ID 基盤 | ログインとグループ | 所属と顧客の担当のグループを決める |
| 品番の台帳 | 読み取り(品番で照会) | 顧客・協定書の区分・現行の版を引く |
| Agent Search | answer メソッドの呼び出し | 見てよい文書だけから回答を作る |
| 品質保証課の待ち行列 | 書き込み | 回す質問を、条件と一緒に顧客の担当別に載せる |
| 問い合わせの記録 | 書き込み | 質問・条件・回答・評価を残す |
品番の台帳と図面管理の仕組みには、書き込みません。 台帳の顧客や版が違っていると分かっても、チャットからは直しません。台帳の訂正は、生産管理の手順で行います。 品番の顧客を現場の申告で書き換えると、別の顧客の協定で答える回答が残ります。
人が確認する
質問した人は、回答を読んだあと、根拠の協定書の条と図面の特記を開いてから作業に入ります。 回答の上には、台帳から引いた顧客と図面の版を並べて表示します。
- 品番と版が合っているかを見る … 現場にある図面の版と、画面の版が同じかを確かめます
- 根拠を開く … 協定書の条と特記を開き、数字が回答と同じかを見ます
- 評価を付ける … 解決した/品質保証課へ回した/誤りを選びます
1番目を軽く見ないでください。 図面の改訂が現場に届くまでに日数がかかると、画面の版のほうが新しいことがあります。 違っていたら、現場の図面の差し替えが先です。
品質保証課の担当者は、回ってきた質問だけを見ます。 shipped_defect はその日のうちに顧客への連絡の要否を決め、協定書の連絡の期限から逆算して動きます。
目標は、240件をならして1件7分です。 チャットで解決した質問の記録の確認と、回ってきた質問を担当者が判断する時間の平均です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 品番が台帳に無い | 打ち直しを促し、見つからなければ part_unknown で回す |
| 台帳に協定書の区分が無い | 答えを作らず part_unknown で回し、台帳の記入を頼む |
| 「すでに出荷した」が選ばれる | 答えを作らず shipped_defect で回し、担当者へ即時に通知する |
| 特別採用を申し出たい | 答えを作らず concession で回す |
| 協定書に無い変更 | 答えを作らず change_not_in_agreement で回す |
| 回答の数字が根拠の断片に無い | 回答を出さず number_not_in_source で回す |
| 文書の間で記載が違う | 回答を出さず conflict で回し、優先の条項を添える |
| 検索の呼び出しが失敗する | 「回答を作れませんでした」と表示し、品質保証課の内線を示す |
3行目は、運用の約束として現場に伝えておきます。 すでに出荷した不良を相談できる窓口だと分かっていないと、現場は「これから出たら」という形で聞き、連絡の期限を過ぎてから品質保証課が知ることになります。
記録を残す
- 質問の文、選んだ聞き返しの値、日時、所属
- 台帳から引いた顧客・協定書の区分・図面の版と、そのときの台帳の更新日
- 中継プログラムが組み立てた検索の文と、使った絞り込みの式
- answer メソッドの応答の全文(回答、出典、根拠の断片、根拠のスコア、回答しなかった理由)
- 数字の照合と食い違いの判定の結果
- 回す・回さないの判定と、その理由、品質保証課が最終的に答えた内容
- そのとき効いていた協定書・要求の文書・図面の版
最後の行は、顧客の監査で効きます。 協定書が改訂されたあとで、当時なぜその答えで変更を進めたかを並べて見られるようにしておきます。
記録は、顧客ごとに見られる人を分けます。 問い合わせの記録にも協定書の文言と特記が写るので、記録の閲覧の権限も、データストアと同じ顧客の担当のグループで付けます。 全社で見られる表に残すと、アクセス制御で守った範囲がそこから漏れます。
04実装レベルの3段階
半自動化で、1件20分が12分程度になります。 探す時間は縮みますが、品番の確認と台帳を開く手間、回答を伝える手間が残ります。本格構成で7分になり、この段階が本記事の想定です。 差が大きいのは、品番から顧客と版が最初に決まり、数字の照合まで自動で済むからです。 段階を飛ばさないでください。 半自動化の1か月で、どの顧客の特記が足りないか、どの質問を回すべきかが見えます。そこを埋めてから現場に開くほうが、not_in_docs で回る件が減り、現場がチャットを使い続けます。 最初の週に「答えられません」が続くと、現場は電話に戻ります。
05工数削減シミュレーション
導入後 240件 × 7分 ÷ 60 = 28 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車・電機・産業機械などの顧客を数十社持ち、顧客ごとに品質保証協定書とサプライヤー向けの品質要求の文書を受け取っている部品メーカー。品番ごとに顧客の図面と特記があり、工程や材料の変更の届出、記録の保存期間、不適合の連絡の期限が顧客ごとに違う場合。品質保証課に製造現場や営業から「この顧客はどうなっているか」という質問が毎月届いている場合。
- 顧客が数社で、品質保証の担当者が全顧客の協定の中身を覚えている場合。協定書や顧客の要求の文書が紙のまま散らばり、どれが最新の版か分からない場合(根拠にする文書がそろっていないので、まず文書の台帳を整えるのが先です)。顧客へ変更を届け出るか、特別採用を申し出るかの判断をAIに任せたい場合(この構成は協定と要求の該当箇所を示すだけで、届け出るかどうかは品質保証課が決めます)。
07最小構成で試す方法
- 過去半年に品質保証課に届いた質問から30件を選ぶ(顧客によって答えが違った質問と、図面の改訂で特記が変わった品番の質問を数件ずつ入れる)
- その30件について、担当者がどの協定書の条と特記を見てどう答えたかを記録から拾う
- 該当する顧客の協定書、要求の文書、品番の特記を、手元のAIサービスに資料として読み込ませる
- 品番と顧客と版を条件として貼り、「添付の資料だけを根拠に答えてください。数字は資料のとおりに写し、文書の間で違うときはまとめずに両方を書いてください」と指示する
- 出てきた回答を、当時の担当者の回答と突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ根拠で同じ答えが出た | データストアの構築に進む |
| 数字を言い換えた・まとめた | 指示の書き方と数字の照合で直る。構成は有効 |
| 該当する記載が協定書に無い | 顧客との取り決めの確認が先。 検索の問題ではない |
3行目が出たら、 その質問を顧客との次の協定書の見直しの議題に入れ、同じ30件で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 二つの文書の数字をまとめる | まとめることを禁じ、食い違いは人へ回す |
| 数字を言い換える・丸める | 写すよう指示し、根拠の断片と照らす |
| 別の顧客や別の事業部の協定書で答える | 品番から顧客と区分を引いて絞り込む |
| 図面の古い版の特記で答える | 現行の版で絞り、古い版に置き換えの印を付ける |
| 担当の外の顧客の文書が出る | 作成時にアクセス制御を有効にし、顧客の担当のグループで書く |
| 図面そのものを取り込んで特記が拾えない | 特記を表に起こして取り込む |
| 協定書の条項がどの章か分からない | 作成時に includeAncestorHeadings を有効にする。後から変えられない |
| すでに出荷した不良がチャットで終わる | 回す条件に入れ、即時に担当者へ通知する |
上の2行が、この構成の失敗のほとんどです。 どちらも、正しい文書を引いているのに、読みやすくしようとして数字が変わるという失敗です。
3行目と4行目は、台帳の整備で防ぎます。 品番の台帳の顧客と協定書の区分、図面の版が正しければ、絞り込みが外れることはありません。逆に、台帳の区分が空の品番が多いうちは、part_unknown で回る件が増えます。 回った品番の一覧を毎週生産管理に渡し、埋めてもらいます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧客との品質保証協定書、顧客の品質要求の文書、図面の特記、品番の台帳の顧客と版です。協定書と図面は、顧客との秘密保持契約の対象です。
- 顧客の文書を担当の外に出さない …
acl_infoを顧客の担当のグループで書き、別の顧客の担当者の検索に出ないようにします - 秘密保持契約と照らす … 協定書と図面をクラウドの検索に置くことが、顧客との秘密保持契約で認められている範囲かを先に確かめます。認められない顧客の文書は取り込みません
- 届け出るか、特別採用を申し出るかをAIに決めさせない … チャットが示すのは協定書の条と特記までで、顧客への届出と申し出は品質保証課が決めます
- すでに起きたことの相談を止めない …
shipped_defectは即時に人へ回し、チャットの中で手続きの案内に流しません - 改訂の反映の責任者を決める … 協定書と図面の改訂を受け取った人が、古い版に置き換えの印を付けるところまでを担当します
誤りが起きた場合のリスクは、届出が要るのに要らないと受け取られることと、期限や年数を取り違えることの2つです。 前者は届け出るかの結論を書かせないことと回す条件で、後者は数字の照合と食い違いの検知で防ぎます。
10まず何から始めるか
1週目:台帳に協定書の区分を足す
品番の台帳に、協定書の区分(顧客の事業部)の列を足します。あわせて、顧客ごとに協定書と要求の文書の最新の版を一覧にし、秘密保持契約でクラウドに置けるかを確かめます。
2週目:30件で試す
過去の質問から30件を選び、手元のAIサービスに協定書と特記を読み込ませて聞きます。数字を言い換えていないか、二つの文書をまとめていないかを最優先で見ます。
3週目:特記の一覧を起こし、回す条件を決める
質問の多い顧客から、品番と版ごとの特記の一覧を起こします。「すでに出荷した不良」「特別採用」「協定書に無い変更」を中心に回す条件の表を作ります。
4週目:データストアを作る
アクセス制御・分割・見出しの設定を決めて、協定書・要求の文書・特記・回答を取り込みます。品質保証課の担当者が検索画面で使い、自分の回答と比べます。
2か月目: 中継プログラムとチャットを作り、顧客を5社に絞って試します。回った理由を毎週数えます。3か月目以降: 顧客を広げ、1件20分が何分になったかを実測します。品質保証課に届く質問が、すでに起きたことと協定に無いことだけになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドが前のセッションの ID でやり取りを続けられ、質問の言い換えが既定で有効なこと。includeCitations、ignoreLowRelevantContent、ignoreNonAnswerSeekingQuery、preamble、filter。groundingSpec の filteringLevel(FILTERING_LEVEL_LOW/HIGH)で根拠のスコアの低い回答を落とせること、文ごとに根拠のスコアが付くこと、references に根拠の断片の中身が入ること | Google Cloud: Get answers and follow-ups | 2026-10-08 |
絞り込みの ANY()、比較の演算子、AND/OR、項目を索引可能にする必要があること | Google Cloud: Filter search for structured or unstructured data | 2026-10-08 |
レイアウトパーサーが表と見出しを検出すること。分割の大きさが100〜500トークン(既定500)、includeAncestorHeadings が既定で無効、分割は作成後に切り替えられないこと | Google Cloud: Parse and chunk documents | 2026-10-08 |
アクセス制御が検索した人の見られる文書に結果を絞ること、Cloud Storage の非構造化データではメタデータの acl_info の readers に user_id/group_id を書くこと、データストアの作成時にしか選べないこと、1文書の読み手が3,000まででグループも1と数えること、ID 基盤の設定が要ること、プレビューであること | Google Cloud: Set up data source access control | 2026-10-08 |
顧客へ届け出るか、どの文書を優先するかは、顧客との品質保証協定書と自社の品質保証課の判断に従ってください。 本記事は Google Cloud の公式ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0960)についてのご相談はこちらから。
