Media > AI活用ユースケース > 品質管理 > 水産加工会社の品質管理が衛生管理の計画・手順書と過去の是正の記録を Vertex AI Search で検索し、現場で起きた管理基準からの逸脱に、計画で定めた改善措置と過去の対処の根拠を、製品の系列と重要管理点で絞って引く

水産加工会社の品質管理が衛生管理の計画・手順書と過去の是正の記録を Vertex AI Search で検索し、現場で起きた管理基準からの逸脱に、計画で定めた改善措置と過去の対処の根拠を、製品の系列と重要管理点で絞って引く

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

現場から管理基準からの逸脱が報告されたとき、製品の系列と重要管理点で絞って、衛生管理の計画と過去の是正の記録を検索します。計画で定めた改善措置と管理基準の原文を、引用付きでそろえます。

サマリー
生成AI
Gemini
AIサービス
Azure AI/Google Vertex AI/OpenSearch
連携・自動化
Python
対象業界
商社/小売/製造
対象部門
品質管理/生産
対象業務
情報検索/記録・議事録作成
主な課題
属人化している/情報が見つからない/確認ミスが多い
AIで行う処理
検索(RAG)
主な効果
品質標準化/対応スピード向上/属人化解消
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
RAG・個別開発(大)
人間の確認
条件付き
現在工数
30h/月
AI導入後
12h/月
想定削減
60%
年間削減
216h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 現場の班長が、逸脱の報告の用紙に製品・ライン・工程・測った値・時刻・ロットを書き、品質管理課に電話で知らせる
  2. 品質管理の担当が、その製品の系列の衛生管理の計画を開き、該当する重要管理点の管理基準と改善措置を探す
  3. 一般衛生管理の基準を外れた事象なら、手順書の該当する箇所を探す
  4. 同じ重要管理点の過去の是正の記録を表計算のファイルで探し、どう対処したか、ロットをどう扱ったかを見る
  5. 計画の改善措置に沿って、現場にロットの区分と保留、ラインの調整、測り直しを指示する
  6. ロットの扱い(出荷・加工し直し・廃棄)を、品質管理課の課長と決める
  7. 是正の記録に、逸脱の内容、行った改善措置、ロットの扱い、確認の結果を書く
導入後(After)
  1. 人現場の班長が、タブレットの逸脱の報告のフォームで、製品の系列・ライン・重要管理点(一覧から選ぶ)・測った値・時刻・ロットを送る
  2. 自動中継プログラムが、重要管理点の台帳で系列と番号から重要管理点を決め、いまの版の計画を特定する
  3. 自動重要管理点の逸脱なら、検索を待たずに社内の決まり(該当ロットの区分と保留)を画面のいちばん上に出す
  4. 自動Vertex AI Search(Agent Search)の answer メソッドで、その系列のいまの版の計画の、その重要管理点の節と手順書だけから、改善措置と確かめることを引用付きでまとめさせる
  5. 自動search メソッドで、管理基準の原文を抜き出しで取り、同じ重要管理点の過去の是正の記録を新しい順に一覧にする
  6. 人品質管理の担当が引用の原文を見て、現場に改善措置を指示する
  7. 人ロットの扱いを課長と決める
  8. 【自動/人】 逸脱の内容・引用した計画の版と節・行った改善措置・ロットの扱いを、是正の記録として残す
各工程の詳しい説明を読む
  1. 現場の班長が、逸脱の報告の用紙に製品・ライン・工程・測った値・時刻・ロットを書き、品質管理課に電話で知らせる
  2. 品質管理の担当が、その製品の系列の衛生管理の計画を開き、該当する重要管理点の管理基準と改善措置を探す
  3. 一般衛生管理の基準を外れた事象なら、手順書の該当する箇所を探す
  4. 同じ重要管理点の過去の是正の記録を表計算のファイルで探し、どう対処したか、ロットをどう扱ったかを見る
  5. 計画の改善措置に沿って、現場にロットの区分と保留、ラインの調整、測り直しを指示する
  6. ロットの扱い(出荷・加工し直し・廃棄)を、品質管理課の課長と決める
  7. 是正の記録に、逸脱の内容、行った改善措置、ロットの扱い、確認の結果を書く

(a)系列ごとの計画から該当箇所を探す。 2番で、同じ「CCP2」でも系列によって中身が違うため、どの系列の計画のどの版を開くかから始まります。 電話で「焼きのCCP2」とだけ聞くと、取り違えが起きます。

(b)古い版の計画で対処しかける。 2番で、共有フォルダに前の版の計画の写しが残っていて、検索で先に当たった古い版を開いてしまうことがあります。改善措置の中身が版で違うと、指示が変わります。

(c)過去の対処が是正の記録に埋もれている。 4番で、約3,500件の是正の記録から、同じ系列・同じ重要管理点・同じ種類の逸脱を探します。表計算のファイルの絞り込みで、自由に書かれた逸脱の内容の欄からは、似た件が拾いきれません。

(d)経験のある担当に判断が集まる。 4番で見つからないとき、過去の件を覚えている2名に聞きます。 夜勤や休日の逸脱では、その2名に電話が行きます。

  1. 【人】 現場の班長が、タブレットの逸脱の報告のフォームで、製品の系列・ライン・重要管理点(一覧から選ぶ)・測った値・時刻・ロットを送る
  2. 【自動】 中継プログラムが、重要管理点の台帳で系列と番号から重要管理点を決め、いまの版の計画を特定する
  3. 【自動】 重要管理点の逸脱なら、検索を待たずに社内の決まり(該当ロットの区分と保留)を画面のいちばん上に出す
  4. 【自動】 Vertex AI Search(Agent Search)の answer メソッドで、その系列のいまの版の計画の、その重要管理点の節と手順書だけから、改善措置と確かめることを引用付きでまとめさせる
  5. 【自動】 search メソッドで、管理基準の原文を抜き出しで取り、同じ重要管理点の過去の是正の記録を新しい順に一覧にする
  6. 【人】 品質管理の担当が引用の原文を見て、現場に改善措置を指示する
  7. 【人】 ロットの扱いを課長と決める
  8. 【自動/人】 逸脱の内容・引用した計画の版と節・行った改善措置・ロットの扱いを、是正の記録として残す

3番目を検索より先に出しているのが、この設計の要です。 重要管理点を逸脱したロットを、答えを待つ間に次の工程へ流さないための決まりは、検索ではなく社内の決まりとして固定で出します。

4番目と5番目を分けているのも、意図してのことです。 答えの文章は計画の改善措置だけから作り、管理基準の数値と過去の対処は、原文の抜き出しと一覧で見せます。

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

構成図
逸脱の報告のフォーム(系列・ライン・重要管理点・測った値・時刻・ロット)
   ▼【トリガー】フォームの送信
中継プログラム(Python。Cloud Run)
   │   重要管理点の台帳で、系列・番号・いまの計画の版を引く
   │   重要管理点の逸脱なら、ロットの区分と保留の決まりを先に出す
   ▼
Vertex AI Search(Agent Search)
   ├── answer メソッド ── 計画の改善措置・確かめること(引用つき)
   └── search メソッド ── 管理基準の原文の抜き出し、過去の是正の記録(新しい順)
   │   データストア:衛生管理の計画(版・系列・重要管理点の節ごと)、手順書、是正の記録(1件1文書)
   ▼
中継プログラム ── 引用の無い文を外す。版の確認
   ▼
品質管理の画面(保留の決まり/改善措置/管理基準の原文/過去の是正)
   ▼
【担当が改善措置を指示し、ロットの扱いを課長と決める】
役割想定する製品代替候補
検索基盤Vertex AI Search(Agent Search)の answer メソッドと search メソッドAzure AI Search、Amazon OpenSearch Service
生成AIGemini(answer メソッドの回答の生成に使うモデル)―
連携中継プログラム(Python。Cloud Run で動かし、逸脱の報告のフォーム・重要管理点の台帳・検索・品質管理の画面をつなぐ)Node.js で同じものを書く
保管Cloud Storage(計画・手順書・是正の記録の写し、メタデータ、報告と答えの記録)―

ラインの機器と温度の計測の仕組みには、つなぎません。 逸脱の報告は、いまどおり班長が値を確かめて送ります。機器の値を自動で取り込むと、計測の誤りと本当の逸脱の区別が、報告の前に消えるからです。

土台は、Vertex AI Search の answer メソッドと、search メソッドの抜き出しの機能です。 公式ページでは、answer メソッドは検索の結果から回答を作り、引用のメタデータを付けられるとされています。search メソッドの抽出型の回答(extractive answers)は、元の文書の文をそのまま返すもので、公式ページでは、正確な言い回しが要るときに要約の代わりに使えるとされています。公式ページの言語の一覧では、日本語(ja-JP)が検索の機能と回答の機能の両方で対応とされています。公式ページには、Vertex AI Search が Agent Search へ改称中である旨の記載があります。

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

Step1

処理の起点を決める

現場の班長が、逸脱の報告のフォームを送ったことを起点にします。 フォームでは、製品の系列とラインを選ばせ、重要管理点は、その系列の計画にある番号と名前の一覧から選ばせます。 「焼きのCCP2」と打たせず、「焼き魚・CCP2 加熱(中心温度)」を選ばせることで、系列の取り違えをフォームの段で止めます。

一般衛生管理の事象は、別の一覧から選ばせます。 洗浄と消毒、使用水、冷蔵庫の温度、そ族と昆虫、従業員の衛生などです。重要管理点の逸脱か一般衛生管理の事象かで、画面のいちばん上に出す決まりを変えます。

Step2

入力データを集める

データ中身取得元
報告製品の系列、ライン、重要管理点または一般衛生管理の項目、測った値、時刻、ロット、班長の所見逸脱の報告のフォーム
重要管理点の情報系列、番号、名前、いまの計画の版、重要管理点の逸脱のときの社内の決まり重要管理点の台帳
衛生管理の計画版ごと・系列ごと・重要管理点の節ごとの文。管理基準、モニタリングの方法、改善措置、検証の方法データストア
手順書一般衛生管理の項目ごとの手順と、基準を外れたときの対応データストア
是正の記録1件ごとの系列、重要管理点、逸脱の種類、行った改善措置、ロットの扱い、確認の結果、そのときの計画の版データストア

質を決めるのは、是正の記録の「そのときの計画の版」です。 過去の約3,500件には、この項目がありません。記録の日付と、計画の版の改定の日付から、中継プログラムで機械的に付けます。 改定の日をまたぐ件は、品質管理の担当が確かめます。

是正の記録からは、記録した人と現場の作業者の名前を外して入れます。 検索に要るのは逸脱と対処の中身で、誰が逸脱を起こしたかは要りません。 名前は役割(班長・品質管理)に置き換えます。

Step3

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

取るものどこから何に使うか
衛生管理の計画版の管理のフォルダの文書を、重要管理点の節ごとに分けて Cloud Storage へ写すデータストアの中身
手順書一般衛生管理の項目ごとに分けて写すデータストアの中身
是正の記録表計算のファイルの行を1件1文書にして写すデータストアの中身
重要管理点の情報重要管理点の台帳の読み取り絞り込みの条件
答えと一覧answer メソッドと search メソッドの応答品質管理の画面

計画は、重要管理点の節ごとに1つの文書に分け、メタデータに系列・重要管理点・版・効力の始まりの日を持たせます。 是正の記録は、次のように1件を1行にし、本文の文書と組にします。

{"id": "car-2026-0815-03",
 "structData": {"doc_kind": "corrective_record", "line": "grilled_fish",
                "ccp_id": "CCP2", "ccp_name": "加熱(中心温度)",
                "deviation_type": "under_temperature", "plan_ver": "v6",
                "recorded_on": "2026-08-15", "lot_disposition": "reprocessed",
                "verified": true},
 "content": {"mimeType": "text/plain", "uri": "gs://<bucket>/car/2026/0815-03.txt"}}

lot_disposition は、出荷(released)・加工し直し(reprocessed)・廃棄(discarded)・保留中(on_hold)の4つにします。 計画の節は doc_kind を haccp_plan、手順書は prp_procedure にします。

Step4

AIへ渡す前に整形する

  1. 重要管理点の引き当て … フォームの系列と番号を台帳で引き、重要管理点の名前と、いまの計画の版を決めます
  2. 社内の決まりの表示 … 重要管理点の逸脱なら、ロットの区分と保留の決まりを、検索より先に画面に出します
  3. 問い合わせ文の組み立て … 「焼き魚の加熱の工程で中心温度が管理基準に届かなかった場合の改善措置」のように、名前と逸脱の種類から文を作ります
  4. 絞り込みの条件の組み立て … 答えの側はその系列・いまの版・その重要管理点の計画の節と手順書、一覧の側はその系列・その重要管理点の是正の記録に分けます
  5. 新しい順の重み付けの準備 … 是正の記録の一覧を、記録の日付の新しいものほど上に出すよう、重み付けの設定を付けます

測った値は、問い合わせ文に入れません。 値を入れると、モデルが「〇℃なら軽微」のように値の大きさで逸脱の重さを判断し始めるからです。値は画面にそのまま出し、判断は担当が行います。

絞り込みの条件と重み付けは、たとえば次のようになります(公式ページの書き方による)。

filter(改善措置の答え):
  (doc_kind: ANY("haccp_plan") AND line: ANY("grilled_fish")
   AND plan_ver: ANY("v7") AND ccp_id: ANY("CCP2"))
  OR (doc_kind: ANY("prp_procedure") AND topics: ANY("temperature_control"))
filter(過去の是正の一覧):
  doc_kind: ANY("corrective_record") AND line: ANY("grilled_fish")
  AND ccp_id: ANY("CCP2")
boostSpec(過去の是正の一覧):
  conditionBoostSpecs: [{ condition: "doc_kind: ANY(\"corrective_record\")",
    boostControlSpec: { fieldName: "recorded_on", attributeType: "FRESHNESS",
      interpolationType: "LINEAR",
      controlPoints: [{ attributeValue: "30D", boostAmount: 0.1 },
                      { attributeValue: "730D", boostAmount: 0.0 }] } }]

公式ページでは、ANY は指定した値のどれかに完全に一致するときに真になり、AND・OR と括弧で組み合わせられ、絞り込みに使う項目はスキーマの画面でインデックス可能にしておく必要があるとされています。重み付けは、FRESHNESS の型で日付の項目と ISO 8601 の期間(30D など)を使い、重みの値は -1 から 1 の範囲で、0.1 以下のような小さい値から始めることが勧められています。

Step5

AIに処理させる

answer メソッドにさせるのは、その系列のいまの版の計画の、その重要管理点の節と手順書から、改善措置と確かめることを、計画の言葉と順番のまま引用付きでまとめることです。 ロットの扱いは書かせません。

返させるもの中身返せないときの扱い
改善措置計画に定めた、逸脱が分かったときに行うことと順番見つからなければ「改善措置の記載なし」
確かめること原因の確かめ方、測り直しの方法、ラインの調整の方法見つからなければ「記載なし」
記録すること計画が逸脱のときに記録するよう定めている項目見つからなければ「記載なし」
連絡する先計画や手順書が定める連絡の先と順番原文のまま引用する

search メソッドにさせるのは、管理基準の原文の抜き出しと、過去の是正の記録の一覧です。 抽出型の回答は最大5件と公式ページにあり、その重要管理点の管理基準の文を、計画の原文のまま見せます。

させないこと理由
ロットを出荷してよいか、廃棄すべきかを書くロットの扱いは品質管理の課長が決める
食品として安全か、問題ないかを書く食品の安全の判断は、計画と検証の結果に基づいて人が行う
管理基準の数値を文章で書く丸めや言い換えで、守る値が書き換わる
過去の是正の対処を、改善措置として書く計画の改定で外したやり方が戻る
別の系列や古い版の計画の記載を書く重要管理点の番号と改善措置が系列と版で違う

4行目がいちばん起きやすい失敗です。 過去の是正の記録には「再加熱して出荷」のような具体的な対処が書かれており、モデルはそれを計画の改善措置より分かりやすい手順として答えに取り込みがちです。答えの側の絞り込みから是正の記録を外し、計画と手順書だけにします。

Step6

指示内容を固定する

answer メソッドでは、回答の口調や詳しさをプロンプトの前置き(preamble)で指定できます。前置きを次のようにします。

あなたは水産加工の工場の品質管理課のための、衛生管理の計画の資料係です。
検索で見つかった衛生管理の計画と一般衛生管理の手順書だけを根拠に、次の順で答えてください。

1. 改善措置(計画に定めた、逸脱が分かったときに行うことと順番)
2. 確かめること(原因の確かめ方、測り直しの方法、ラインの調整の方法)
3. 記録すること
4. 連絡する先と順番

守ること:
- 計画の言葉と順番のまま書いてください。言い換えないでください。
- 温度、時間、回数などの数値を書かないでください。数値は「管理基準の原文を参照」と書いてください。
- ロットを出荷してよいか、廃棄すべきかを書かないでください。
- 食品として安全か、問題ないかを書かないでください。
- 重要管理点の番号と名前、機器の名前は原文の表記のまま写してください。
- 見つからない項目は「記載なし」と書いてください。
- 検索結果に無いことを書かないでください。

「安全か、問題ないかを書かない」を入れるのは、逸脱の報告への答えの結びに、モデルが「軽微な逸脱のため品質への影響は限定的と考えられます」と書きがちだからです。 その一文は、ロットの扱いの判断のように読まれます。

あわせて、answer メソッドの設定を次のようにします。

設定値理由
引用(includeCitations)有効文ごとに出典を示させる。既定は無効
関連性の低い内容の無視(ignoreLowRelevantContent)有効関係の薄い節から無理に答えさせない
根拠の支持による絞り込み(groundingSpec の filteringLevel)FILTERING_LEVEL_HIGH から試す支えの弱い答えを外す。未設定だと絞り込みが掛からない
回答の言語(answerLanguageCode)ja日本語で答えさせる
絞り込み(filter)前処理で組み立てた答えの側の条件その系列・いまの版・その重要管理点

公式ページでは、基準に届かない答えは返されず、LOW_GROUNDED_CONTENT が理由として返る例があります。引用の位置は UTF-8 のバイト単位なので、日本語の答えに印を差し込むときは文字の位置に直します。

Step7

出力形式を固定する

中継プログラムが、応答と台帳・フォームの値を次の形にそろえて品質管理の画面に渡します。

{
  "report_id": "",
  "line": "",
  "ccp_id": "",
  "ccp_name": "",
  "plan_ver": "",
  "is_ccp_deviation": true,
  "hold_rule": "",
  "measured": { "value": "", "unit": "", "time": "", "lot": "" },
  "corrective_answer": "",
  "skipped_reason": "",
  "citations": [
    { "sentence": "", "doc_id": "", "plan_ver": "", "section": "", "quote": "" }
  ],
  "critical_limit_extracts": [ { "doc_id": "", "plan_ver": "", "text": "" } ],
  "past_records": [
    { "record_id": "", "recorded_on": "", "deviation_type": "",
      "plan_ver_then": "", "older_plan": false, "lot_disposition": "", "verified": true }
  ]
}

1つ目の理由は、hold_rule を答えと別に、社内の決まりのまま持てることです。 重要管理点の逸脱なら、画面のいちばん上に、答えより先に出ます。

2つ目は、critical_limit_extracts で管理基準を原文のまま持てることです。 測った値の measured と、計画の原文の管理基準が、画面の同じ枠に並び、担当が見比べられます。 どちらも生成された文ではありません。

3つ目は、older_plan で古い版のときの是正を見分けられることです。 plan_ver_then がいまの版と違えば真にし、一覧で灰色にして「計画の版が古い」と出します。 そのときの対処は、いまの改善措置と違う可能性があります。

Step8

システムへ連携する

つなぎ先方式内容
逸脱の報告のフォームフォームの送信の通知報告の受け取り
重要管理点の台帳系列と番号での引き当て(読み取りのみ)名前・いまの版・保留の決まり
Vertex AI Searchanswer メソッドと search メソッドの API改善措置、管理基準の原文、過去の是正
Cloud Storage文書の写し引用した箇所の原文の表示
是正の記録品質管理の画面からの書き出し逸脱・改善措置・ロットの扱い・引用した版と節

現場への指示は、いまどおり品質管理の担当が電話か現場で行います。 画面の内容を現場のタブレットに送ることもできますが、指示の主体は担当のままにします。 計画の原文を読んだ人が、現場の状況を聞いたうえで指示します。

Step9

人が確認する

  1. 系列と版を見る … 画面の上に出る系列・重要管理点・計画の版が、報告と合っているかを確かめます
  2. 管理基準の原文と測った値を見比べる … 抜き出しの原文と報告の値を並べて読みます
  3. 改善措置の引用を読む … 答えの文ごとに、計画の原文の節を開いて確かめます
  4. ロットの扱いを決める … 過去の是正の一覧を見たうえで、課長と決めます
  5. 記録を書く … 行った改善措置と、引用した計画の版と節を、是正の記録に書きます

2番目と4番目を省かないでください。 測った値と管理基準を見比べるのは、報告の誤りを見つける最後の機会です。 ロットの扱いは、過去にどう扱ったかではなく、いまの計画と検証の結果で決めます。

目標は、90件をならして1件8分です。 原文を読み、指示し、記録する時間です。過去の件を覚えている2名は、毎週、答えと実際の改善措置を見比べます。 「改善措置の記載なし」が同じ重要管理点で続けば、計画の節の分け方か、計画そのものに改善措置の書き漏れがあります。

Step10

例外に対処する

起きること対応
重要管理点が台帳に無い検索に回さず、報告をそのまま担当に出す
重要管理点の逸脱検索を待たず、ロットの区分と保留の決まりを出す
いまの版の計画にその重要管理点が無い(改定で外れた)答えを出さず、計画の改定の記録を担当に出す
改善措置の記載が無い「記載なし」と出し、課長に連絡する
答えが作られなかった(支持が低い)答えを出さず、管理基準の原文と過去の是正の一覧だけを出す
同じロットの逸脱が続けて届く同じ件として束ね、答えを作り直さない
異物の混入が疑われる報告検索を待たず、社内の異物の対応の手順を出す
検索が応答しないいまどおり計画の文書を開いて探す

2行目と7行目の「検索を待たない」は、常に残しておきます。 この構成は、計画を探す時間を縮めるためのもので、ロットを止める判断を遅らせるものであってはなりません。

Step11

記録を残す

  • 報告の内容(系列、ライン、重要管理点、測った値、時刻、ロット)
  • 特定した重要管理点と計画の版、出した保留の決まり
  • 絞り込みの条件、answer メソッドと search メソッドの応答の全文
  • 担当が行った指示、ロットの扱いと決めた人
  • 是正の記録として書いた内容と、引用した計画の版と節

最後の行が、計画の検証の材料になります。 別表第十八は、措置の効果を定期的に検証する手順を定めることと、措置の内容に関する書面と実施の記録を作成することを求めています。どの版のどの節に沿って改善措置を行ったかが残れば、検証のときに、改善措置が効いているかを版ごとに見られます。

04実装レベルの3段階

最小構成:30件の系列の計画と是正の記録だけのデータストアを作り、短いスクリプトで問い合わせる / 改善措置と過去の是正の検索
半自動化:上記+全系列の計画と5年分の是正の記録を取り込み、担当が系列と重要管理点を選んで問い合わせる / 全系列の検索
本格構成:上記+逸脱の報告のフォームから自動で問い合わせ、保留の決まりの表示、管理基準の抜き出し、古い版の印、是正の記録への書き出しまでつなぐ / 報告から是正の記録まで

半自動化で、1件20分が13分ほどになります。 計画を探す時間は減りますが、電話で系列と重要管理点を聞き取ることと、是正の記録を一から書くことが残ります。本格構成で8分になり、この段階が本記事の想定です。 段階を進める前に、重要管理点の台帳を作ってください。 系列ごとの番号と名前、いまの版、保留の決まりが一覧になっていないと、フォームで選ばせる一覧も、検索の絞り込みも作れません。

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

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

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

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

AI活用について相談する

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

向いている
  1. 冷凍の切り身、干物、焼き魚・煮魚などの加熱の加工品といった複数の製品の系列を持ち、製品の系列ごとに HACCP に沿った衛生管理の計画を作っている水産加工の会社。現場から管理基準の逸脱の報告が月に数十件以上あり、計画の改善措置と過去の是正の記録を品質管理の担当が探している場合。計画の版の改定が年に何度かあり、どれがいまの版かを現場が取り違えやすい場合。Google Cloud を使っている、または使い始められる場合。
向いていない
  1. 製品の系列が1つで、重要管理点も数か所に限られ、改善措置を紙の1枚で済ませられる場合。衛生管理の計画が文書になっておらず、改善措置が担当者の経験の中にしか無い場合。取引先との契約で、衛生管理の計画と是正の記録を外部のクラウドに置けない場合。なお、逸脱したロットを出荷するか、廃棄するか、加工し直すかの判断と、食品の安全についての判断は、この構成では代替できません。

07最小構成で試す方法

  1. 過去1年の是正の記録から、30件の逸脱を選ぶ(重要管理点の逸脱と一般衛生管理の事象、計画の改定の前と後の件を混ぜる)
  2. その30件の系列の計画を、いまの版と1つ前の版の両方とも重要管理点の節ごとに分け、系列・版・重要管理点を付けて、Vertex AI Search のデータストアを作る
  3. 手順書と、同じ系列の過去の是正の記録を取り込み、そのときの計画の版を付ける
  4. 30件の報告から絞り込みの条件と問い合わせ文を作り、answer メソッドと search メソッドを短いスクリプトで呼んで、答えと抜き出しを見る
  5. 答えの改善措置が、いまの版の計画と合うかを、過去の件を覚えている2名が突き合わせる

30件のうち、答えに管理基準の数値や過去の対処が入った件数と、古い版の記載が答えに出た件数を最初に数えます。 どちらか1件でもあれば、前置きと絞り込みの条件を直してから先へ進みます。

出てきた内容判断
いまの版の改善措置が引用付きで出た報告のフォームと台帳の連携に進む
答えに数値や過去の対処が入った前置きと答えの側の絞り込みを直す
古い版の記載が出た版のメタデータと台帳の版を直す

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

問題対策
過去の対処が改善措置として答えに入る答えの側を計画と手順書だけに絞り、是正の記録は一覧に分ける
管理基準の数値が丸められる前置きで数値を禁じ、抽出型の回答で原文を見せる
系列の違う「CCP2」を取り違えるフォームで系列と名前の一覧から選ばせ、台帳で引き当てる
古い版の計画が答えに出る答えの側をいまの版に絞り、是正の記録に当時の版を付ける
答えが「影響は限定的」と結ぶ前置きで安全の判断を書かせない
測った値から逸脱の重さを判断する問い合わせ文に値を入れない
過去の是正が古いものから並ぶ記録の日付で新しいものに小さく重みを付ける
作業者の名前が検索に入る書き出しの段で名前を役割に置き換える

上の2行が、この構成の失敗のほとんどです。 どちらも、計画が定めたことと、計画の外にある情報が、答えの中で混ざる問題です。

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

この構成で扱うデータ: 衛生管理の計画、手順書、是正の記録、逸脱の報告です。逸脱の記録は、取引先の監査や行政の確認で見られる記録です。

  1. 改善措置を計画から外さない … 食品衛生法施行規則の別表第十八は、危害要因の分析、重要管理点の決定、管理基準の設定、モニタリングの方法の設定に続けて、管理基準を逸脱したことが判明した場合の改善措置を設定すること、効果を定期的に検証する手順を定めること、措置の内容に関する書面とその実施の記録を作成することを挙げています。答えは計画が定めた改善措置だけから作り、計画を変えるのはいまどおり品質管理課の手続によります
  2. ロットの扱いを人に残す … 出荷・加工し直し・廃棄の判断は、課長が計画と検証の結果で決めます。 答えにも画面にも、扱いの推奨を出しません
  3. 作業者の名前を入れない … 是正の記録を取り込むときに、名前を役割に置き換えます。逸脱を起こした人を探す道具にしません
  4. データの置き場所を確かめる … 公式ページでは、データストアの場所は global のほか us、eu のマルチリージョンで、日本のリージョンは載っていません。 取引先との契約と社内の決まりに照らして決めます
  5. ロットを止める判断を遅らせない … 重要管理点の逸脱と異物の疑いでは、検索を待たずに社内の決まりを出します

誤りが起きた場合のリスクは、計画の外のやり方で改善措置を行うことと、管理基準の値を取り違えることの2つです。 前者は答えの側の絞り込みで、後者は数値を答えから外して原文の抜き出しで見せることで防ぎます。

10まず何から始めるか

1週目:重要管理点の台帳を作る

品質管理課で、系列ごとの重要管理点の番号と名前、いまの計画の版、重要管理点の逸脱のときの保留の決まりを一覧にします。

2週目:30件の系列の計画を節に分ける

第8章の30件に出てくる系列の計画を、いまの版と1つ前の版とも重要管理点の節ごとに分け、メタデータを付けます。過去の是正の記録に、そのときの計画の版を付けます。

3週目:30件で試す

第8章の手順でデータストアを作り、30件の報告で答えと抜き出しを確かめます。答えに数値や過去の対処が入っていないかと、古い版の記載が出ていないかを最優先で見ます。

4週目:報告のフォームを作る

系列・ライン・重要管理点を一覧から選び、測った値・時刻・ロットを入れるフォームを作り、現場の班長に試してもらいます。

2か月目: 全系列の計画と5年分の是正の記録を取り込み、担当が系列と重要管理点を選んで使い始めます。3か月目以降: 報告のフォームからの自動の問い合わせ、保留の決まりの表示、古い版の印、是正の記録への書き出しを足し、1件20分が何分になったかを実測します。過去の件を覚えている2名に聞かなくても、いまの版の改善措置と管理基準の原文をそろえて現場に指示できるようになった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-29/最終更新:2026-10-29
確認した内容情報源確認日
answer メソッドが検索結果から回答を作り、引用のメタデータを付けられること(includeCitations の既定は無効)。前置き(preamble)で回答の口調・詳しさを指定できること。filteringLevel の値と、未設定なら絞り込みが掛からないこと。基準に届かない答えが返されず LOW_GROUNDED_CONTENT が返る例。引用の位置が UTF-8 のバイト単位であること。Vertex AI Search が Agent Search へ改称中であることGoogle Cloud: Get answers and follow-ups2026-10-29
抽出型の回答が元の文書の文をそのまま返し、正確な言い回しが要るときに要約の代わりに使えること。抽出型の回答が最大5件であること。非構造のデータでは Enterprise エディションの機能が要ることGoogle Cloud: Get snippets and extracted content2026-10-29
boostSpec の conditionBoostSpecs・boostControlSpec(FRESHNESS・LINEAR・controlPoints)の書き方。期間を ISO 8601(30D など)で書くこと。重みの値が -1 から 1 で、0.1 以下から始めるのが勧められていることGoogle Cloud: Boost search results2026-10-29
絞り込みに使う項目をインデックス可能にすること。ANY が完全一致であること。AND・OR と括弧で組み合わせられることGoogle Cloud: Filter search for structured or unstructured data2026-10-29
データストアの場所が global と、us・eu のマルチリージョンで、日本のリージョンの記載が無いことGoogle Cloud: Agent Search locations2026-10-29
日本語(ja-JP)が検索の機能と回答の機能で対応とされていることGoogle Cloud: Languages and locales2026-10-29
別表第十八が、危害要因の分析、重要管理点の決定、管理基準の設定、モニタリングの方法の設定、管理基準を逸脱した場合の改善措置の設定、検証の手順、措置の内容に関する書面と実施の記録の作成を挙げていること(2026-04-01 施行の版)e-Gov 法令API: 食品衛生法施行規則2026-10-29

ロットの扱いと食品の安全の判断は、自社の衛生管理の計画と検証の結果、品質管理の責任者の判断で行ってください。 本記事は、上記の公開情報で確認できた範囲だけを扱っています。

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

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

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

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