飲食チェーンの店長・調理担当から出る「この食材の保管温度と期限は」「この工程で何を確かめるか」の質問に、HACCPの衛生管理計画と本部の手順書を根拠にチャットで答える
店長や調理担当が「この食材の保管温度と開封後の期限は」「この工程で何を確かめるか」をチャットで聞くと、食材マスタの値を並べ、その業態の衛生管理計画と本部の手順書から根拠付きで答えます。温度の逸脱や体調不良は品質管理課へ回します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- 介護/宿泊/小売/飲食
- 対象部門
- 品質管理/生産
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 人手が足りない/問い合わせが多い/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/対応スピード向上/教育コスト削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 店長か調理担当が、食材の名前や工程を言葉で伝えて、本部の品質管理課に電話かメッセージで聞く
- 担当者が、どの店舗か、どの業態か、食材の品番か商品名かを聞き返す
- 食材マスタで保管温度と開封後の期限を引き、業態の衛生管理計画と手順書を開いて、確かめることを探す
- 保管と期限、確かめること、記録のつけ方を伝える
- 温度が外れていた、期限が過ぎたものを使ったなどの話は、課長と相談して店長に指示する
- やり取りを、問い合わせの記録の表に書く
- 人店長か調理担当が、店舗のタブレットの衛生管理チャットに質問する(例:「新しく入ったデミグラスソース、開けたら何日もつか。保管はどこか」)
- 自動中継プログラムが、ログインした店舗のコードから業態と衛生管理計画の版を引く
- 自動質問を「保管と期限」「工程の確認」「記録」「その他」に分け、足りない条件(食材の品番、工程の名前)を選択肢で聞き返す。品番は納品の伝票か食材のラベルのバーコードから読み取れるようにする
- 自動回す条件(温度や期限が外れていた、すでに提供した、従業員の体調不良、お客様の健康被害の申し出、アレルギーの質問)に当たれば、答えを作らずに品質管理課へ回す
- 自動食材の品番から食材マスタを引き、保管区分・保管温度・開封後の期限を取り出す
- 自動業態と計画の版で絞り込み、Agent Search(旧 Vertex AI Search)の answer メソッドが衛生管理計画と手順書から、確かめることと外れたときの対応を根拠付きで答える
- 自動回答の上に、食材マスタの値をAIを通さずに並べる。回答の文に温度や日数の数字があれば、マスタの値と同じかを照らし、違えば回答を出さずに回す
- 人店長と調理担当は、マスタの値と根拠の計画の頁を確かめてから作業する
- 人品質管理課の担当者は、回ってきた質問だけを判断する
各工程の詳しい説明を読む
- 店長か調理担当が、食材の名前や工程を言葉で伝えて、本部の品質管理課に電話かメッセージで聞く
- 担当者が、どの店舗か、どの業態か、食材の品番か商品名かを聞き返す
- 食材マスタで保管温度と開封後の期限を引き、業態の衛生管理計画と手順書を開いて、確かめることを探す
- 保管と期限、確かめること、記録のつけ方を伝える
- 温度が外れていた、期限が過ぎたものを使ったなどの話は、課長と相談して店長に指示する
- やり取りを、問い合わせの記録の表に書く
(a)食材を商品名で言われる。 「新しいデミグラス」と言われても、業務用の缶と、セントラルキッチンで作った冷蔵の袋とでは保管も期限も違います。担当者は品番を聞き直して食材マスタを引き、ここで数分かかります。
(b)業態の違う計画で答える。 担当者は二つの業態の計画を頭に入れていますが、店内で仕込む業態の確かめ方を、温めて出すだけの業態の店に伝えてしまうことがあります。店舗は書いていない記録を求められて困ります。
(c)計画に書いてあるのに、電話が来る。 冷蔵庫の温度の確かめ方や、記録を書き忘れたときのつけ方など、計画と手順書にそのまま書いてある内容を伝える電話が、全体のかなりを占めます。それでも店舗が書類を開かないのは、営業中にPDFの何ページ目を見ればよいかが分からないからです。
(d)判断の要る話が、普通の質問に混ざる。 「朝来たら冷蔵庫が10度を超えていた。中の食材は使えるか」は保管の質問ではなく、管理の基準を外れたときの改善措置の話です。 電話の山に埋もれると、店舗が自分の判断で使ってしまいます。
- 【人】 店長か調理担当が、店舗のタブレットの衛生管理チャットに質問する(例:「新しく入ったデミグラスソース、開けたら何日もつか。保管はどこか」)
- 【自動】 中継プログラムが、ログインした店舗のコードから業態と衛生管理計画の版を引く
- 【自動】 質問を「保管と期限」「工程の確認」「記録」「その他」に分け、足りない条件(食材の品番、工程の名前)を選択肢で聞き返す。品番は納品の伝票か食材のラベルのバーコードから読み取れるようにする
- 【自動】 回す条件(温度や期限が外れていた、すでに提供した、従業員の体調不良、お客様の健康被害の申し出、アレルギーの質問)に当たれば、答えを作らずに品質管理課へ回す
- 【自動】 食材の品番から食材マスタを引き、保管区分・保管温度・開封後の期限を取り出す
- 【自動】 業態と計画の版で絞り込み、Agent Search(旧 Vertex AI Search)の answer メソッドが衛生管理計画と手順書から、確かめることと外れたときの対応を根拠付きで答える
- 【自動】 回答の上に、食材マスタの値をAIを通さずに並べる。回答の文に温度や日数の数字があれば、マスタの値と同じかを照らし、違えば回答を出さずに回す
- 【人】 店長と調理担当は、マスタの値と根拠の計画の頁を確かめてから作業する
- 【人】 品質管理課の担当者は、回ってきた質問だけを判断する
5番目と7番目が、この設計の分かれ目です。 保管温度と期限は食材マスタの値そのもので、AIの判断は入りません。 AIに任せると、計画の一般的な記載(「冷蔵品は冷蔵庫で保管」)と食材の値を混ぜ、それらしい日数を書くことがあります。
4番目で、温度や期限が外れた話を先に分けているのも、意図してのことです。 外れたときに何をするかは計画に書いてありますが、その食材を使うか捨てるかは、店長と品質管理課が状況を聞いて決めます。 チャットが計画の文を返すだけだと、店舗は「書いてあるとおりにやった」と自分で判断を閉じてしまいます。
02今回想定するシステム構成
衛生管理チャット(店長・調理担当。店舗のタブレット) ▼【トリガー】質問の送信(店舗のコード付き) 中継プログラム(Python、Cloud Run) ├──▶ 店舗の台帳:店舗 → 業態・計画の版 ├──▶ 質問の種類の判定 → 聞き返しの選択肢 ├──▶ 回す条件 → 品質管理課の待ち行列 ├──▶ 食材マスタ:品番 → 保管区分・保管温度・開封後の期限 ▼ Agent Search(Vertex AI Search)── answer メソッド │ データストア:衛生管理計画(業態ごと・版ごと)+本部の手順書 │ +記録のつけ方の手引き+過去の回答 │ 絞り込み:business_type/plan_version/doc_type ▼ 中継プログラム ── 回答の数字が食材マスタの値と合うかを確かめる ├──▶ マスタの値・回答・根拠を返す └──▶ 数字が合わない・答えられない → 品質管理課の待ち行列
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、チャット・店舗の台帳・食材マスタ・検索・待ち行列をつなぐ) | Node.js で同じものを書く |
| 認証 | 店舗ごとのログイン(店舗のコードと担当者の社員番号) | Google の ID |
| 保管 | Cloud Storage(計画・手順書・手引きの原本とメタデータ) | ─ |
食材マスタは、新しく足すものではありません。 購買の仕組みにある食材マスタの保管区分・保管温度・開封後の期限の列を、中継プログラムが読むだけで、書き込みません。最初の準備は、その列が全部の食材で埋まっているかを確かめることです。 期限の列が空の食材は、答えを作らずに回します。
検索の土台は、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 検索の結果から回答を作り、出典を付けられます。前のセッションの ID を渡すとやり取りを続けられ、質問の言い換えは既定で有効です。回答の文ごとに根拠の強さのスコアを返す設定と、スコアの低い回答を落とす設定があります。
計画の作り方の根拠は、食品衛生法施行規則にあります。 第66条の2第3項は、営業者が衛生管理計画を作って従業者に周知し、必要に応じて手順書を作り、実施の状況を記録して保存し、効果を検証して見直すことを求めています。別表第十八は危害要因の分析から記録の作成までの7つを並べ、施行令第34条の2第2号に挙がる飲食店営業などの営業者は、取り扱う食品の特性や営業の規模に応じて簡略化できるとしています。業界団体の手引書は、この簡略化した取組みのためのものです。
03どうやって実装するのか
処理の起点を決める
起点は、店長か調理担当が衛生管理チャットに質問を送ったことです。 タブレットは店舗ごとにログインしてあり、店舗のコードから業態と計画の版を決めます。 担当者の社員番号も入れてもらい、回したときに品質管理課から誰に折り返すかを決めます。
保管と期限の質問では、食材の品番を必須にします。 厨房で品番を打つのは手間なので、食材のラベルか納品の伝票のバーコードをタブレットのカメラで読み取れるようにします。品番が分からなければ、商品名で食材マスタを引いた候補から選ばせます。
1件の質問は、1つのセッションで最後まで続けます。 「では冷凍してあったものを戻した場合は」のような続けての質問も同じセッションでつなぎ、別の食材の話は新しいセッションで始めます。 前の食材の期限が言い換えの中に残るからです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | 店舗が打った質問の文、選んだ聞き返しの値 | チャット |
| 店舗の情報 | 店舗のコード、業態、計画の版 | 本部の店舗の台帳 |
| 食材マスタ | 品番、商品名、保管区分、保管温度、開封後の期限、解凍の方法 | 本部の購買の仕組み |
| 衛生管理計画 | 業態ごとの一般的な衛生管理と重要な工程、確かめ方、外れたときの対応 | 品質管理課のPDF(業態・版ごと) |
| 本部の手順書 | 仕込み、加熱、冷却、解凍、洗浄の手順 | 品質管理課のPDF |
| 記録のつけ方の手引き | 記録表の書き方、書き忘れたときの扱い、振り返りの手順 | 品質管理課のPDF |
| 過去の回答 | 質問、答え、業態、計画の版、置き換えの有無 | 問い合わせの記録の表を整えたもの |
| 回す条件の表 | 回す値(逸脱、提供済み、体調不良、健康被害、アレルギー) | 品質管理課が作る表 |
質を決めるのは、食材マスタの期限の列です。 「開封後の期限」が「冷蔵で3日」のように文で入っていると、照合に使えません。 保管区分、温度の範囲、日数をそれぞれ別の列に分けます。
アレルギーの質問は、この構成では答えません。 「このメニューに卵は入っているか」は衛生管理計画ではなく、メニューのアレルゲン表と本部の確認の手順の話で、誤れば健康被害に直結します。回す条件に入れ、決まった窓口に回します。
データの取得方法を決める
衛生管理計画・手順書・手引き・過去の回答は、Cloud Storage に置いてデータストアに取り込みます。 文書ごとのメタデータに、業態、計画の版、文書の種類、工程の名前を持たせます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 業態 | メタデータ | 店舗の業態の計画だけに絞る |
| 計画の版 | メタデータ | 店舗が使っている版だけに絞る |
| 文書の種類(計画/手順書/手引き/回答) | メタデータ | 根拠の表示の順 |
| 工程の名前(受入れ/保管/加熱/冷却/提供) | メタデータ | 聞き取った工程の記載だけに絞る |
絞り込みの式は、業態と版と工程で書きます。 項目を索引可能にしておけば、business_type: ANY("WASHOKU", "COMMON") AND plan_version: ANY("2026-04", "ALL") AND process: ANY("storage") のように、その業態のその版の計画と、全業態に共通の手順書と、聞き取った工程の記載だけを引けます。
食材マスタは、中継プログラムが品番で照会します。 購買の仕組みの照会のしかたは製品によって違い、この部分は個別の実装が必要です。 毎朝、食材マスタの一覧を書き出して読む形でも足ります。
AIへ渡す前に整形する
- 計画を業態と版ごとに分ける … 業態ごとの計画を、版の番号を付けて別の文書にします
- 計画を工程ごとに分ける … 受入れ・保管・加熱・冷却・提供の見出しで分け、工程の名前を付けます
- 表を見出し付きで残す … 確かめ方と外れたときの対応の表は、表のまま取り込みます
- 手順書と手引きを章ごとに分ける … 章の見出しが付いた形で取り込みます
- 過去の回答を整える … 業態と版、置き換えの有無を付け、店舗の従業員の名前と体調の話を消します
- 食材マスタの列を分ける … 保管区分、温度の範囲、日数を別の列にし、空の食材を一覧にします
- 見出しを断片に含める … データストアの作成時に分割を有効にし、
includeAncestorHeadingsを有効にします
6番目が、この構成でいちばん効きます。 期限の列が空の食材は、すべて品質管理課に回ります。 新しいメニューの食材ほど空のまま店舗に届くので、メニューの切り替えの手順に「食材マスタの期限の列を埋める」を入れます。
7番目は、データストアを作る前に決めます。 分割はデータストアの作成のあとでは有効にも無効にもできず、見出しを含める設定は既定では無効です。 計画の「確かめ方」の表は、見出しが無いとどの工程の確かめ方か分かりません。 分割の大きさは100〜500トークンで、既定は500です。
AIに処理させる
させるのは、聞き取った工程に当たる計画・手順書・手引きの記載を見つけ、何を確かめ、どう記録し、外れたらどこに連絡するかを、根拠を付けて短く返すことです。 温度と期限を引くこと、回すかどうかは、中継プログラムが行います。
| 要素 | 中身 | 根拠 |
|---|---|---|
| 確かめること | 確かめる時点と方法(目で見る、温度計で測るなど) | 衛生管理計画 |
| 記録のつけ方 | どの記録表のどの欄に書くか | 手引き |
| 外れたときの対応 | 計画に書かれた対応と、連絡する先 | 衛生管理計画 |
| 根拠の場所 | 計画の版と頁、手順書の章 | 全部 |
answer メソッドの設定は次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
session | 質問ごとのセッション | 聞き返しと続けての質問をつなぐ |
includeCitations | 有効 | 計画の頁と手順書の章を付ける |
ignoreLowRelevantContent | 有効 | 計画と手順書に無い話に答えない |
ignoreNonAnswerSeekingQuery | 有効 | あいさつや雑談で検索しない |
groundingSpec の filteringLevel | FILTERING_LEVEL_HIGH | 根拠の弱い回答を出さない |
filter | 業態、計画の版、工程 | 別の業態や古い版を混ぜない |
preamble | 下の指示 | 答え方の規則を与える |
| させないこと | 理由 |
|---|---|
| 保管温度と期限の数字を書く | 食材マスタの値をそのまま表示する |
| 外れた食材を使ってよいかの結論 | 店長と品質管理課が状況を聞いて決める |
| 従業員を作業させてよいかの判断 | 症状の把握と判断は店長と品質管理課が行う |
| アレルギーの質問への回答 | アレルゲン表と決まった窓口で扱う |
| 一般的な衛生の知識で補う | 自社の計画と違いうる |
1行目がいちばん起きやすい失敗です。 計画には「冷蔵品は所定の温度で保管」のような記載があり、手順書には別の食材の例が載っています。モデルはそれらをつないで、目の前の食材の温度と日数を作ります。 数字は書かせず、書いたら後段でマスタの値と照らします。
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます。
あなたは飲食チェーンの本部の品質管理課の担当者として、
店長と調理担当から、衛生管理計画と手順書についての質問に答えます。
読むのは、仕込みの手を止めてタブレットを見ている人です。短く答えてください。
【前提】
検索の文の最初に、店舗の業態、衛生管理計画の版、工程の名前、
食材の商品名が並んでいます。
保管温度と開封後の期限は、本部の食材マスタの値が別に表示されます。
【答え方】
1. 最初に、その工程で確かめることを、計画の記載のとおりに書いてください。
2. 次に、記録をどの記録表のどの欄に書くかを書いてください。
3. 計画に、外れたときの対応と連絡する先があれば書いてください。
4. 根拠にした計画の版と頁、手順書の章を書いてください。
【厳守事項】
- 検索結果の文書に書かれていることだけで答えてください。
一般的な衛生の知識や他の店の例で補わないでください。
- 保管温度、期限の日数、加熱の温度と時間の数字を書かないでください。
数字は食材マスタの表示を見るよう伝えてください。
- 「使ってよい」「捨てなくてよい」「作業してよい」と書かないでください。
- アレルギーの質問には答えず、「アレルギーのご質問は本部の窓口へ回します」とだけ書いてください。
- 該当する記載が見つからないときは、
「衛生管理計画と手順書に該当する記載が見つかりません。品質管理課へ回します」
とだけ書いてください。
「数字を書かない」「使ってよいと書かない」が、この指示の要です。 数字を禁じないと、モデルは親切のつもりで計画の別の行の数字を写し、食材マスタの値と違う数字が同じ画面に二つ並びます。 店舗はどちらを信じればよいか分からなくなります。
検索の文は、中継プログラムが組み立てます。 例えば「業態:和食、計画:2026-04版、工程:保管(開封後)、食材:デミグラスソース(冷蔵・袋)。開封後の保管で確かめることと記録のつけ方」のように、条件を先に並べ、店舗の質問の文を最後に足します。 食材マスタの数字は検索の文に入れません。
出力形式を固定する
answer メソッドの応答を、中継プログラムが次の形に整えて、チャットと記録に渡します。
{
"inquiry_id": "",
"session_id": "",
"store": "S041",
"business_type": "WASHOKU",
"plan_version": "2026-04",
"category": "storage_shelf_life | process_check | record | other",
"item": { "code": "", "name": "", "storage_class": "refrigerated | frozen | ambient", "temp_range": "", "after_opening_days": null },
"status": "answered | escalated | skipped",
"escalate_reason": "deviation | already_served | staff_symptom | customer_illness | allergy | item_unknown | master_blank | number_in_answer | not_in_plan | skipped | user_request | none",
"answer_text": "",
"refs": [ { "doc_type": "plan | procedure | record_guide | qa", "title": "", "section": "", "version": "", "uri": "" } ],
"feedback": "resolved | escalated_after | wrong | none"
}
1つ目の理由は、item を回答の文と別に持てることです。 食材マスタの行をそのまま入れ、AIは触りません。 画面では item を回答の上に大きく出し、回答の文は「何を確かめるか」だけを担います。
2つ目は、number_in_answer で回答の数字を止められることです。 中継プログラムが回答の文から温度と日数を拾い、item の値と違えば、回答を出さずに回します。 マスタと同じ数字なら、そのまま出しても害はありません。
3つ目は、escalate_reason で回った理由を数えられることです。 master_blank が多い月は新しいメニューの食材マスタの整備が遅れている、not_in_plan が多い工程は計画の書き足しが要ることが分かります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 衛生管理チャット | 店舗のタブレットの画面 | 質問を受け、聞き返しとマスタの値と回答を表示する |
| 店舗の台帳 | 読み取り | 業態と計画の版を引く |
| 食材マスタ | 読み取り(品番で照会) | 保管区分・温度・期限を引く |
| Agent Search | answer メソッドの呼び出し | 計画と手順書から回答を作る |
| 品質管理課の待ち行列 | 書き込み | 回す質問を、店舗と条件と一緒に載せる |
| 問い合わせの記録 | 書き込み | 質問・条件・回答・評価を残す |
食材マスタと店舗の記録表には、書き込みません。 マスタの値が違っていると分かっても、チャットからは直しません。マスタの訂正は、品質管理課が仕入先の規格書を確かめて行います。
人が確認する
店長と調理担当は、回答を読んだあと、マスタの値と根拠の計画の頁を確かめてから作業します。 回答の上には、業態と計画の版と食材を並べて表示します。
- 食材が合っているかを見る … 画面の商品名と保管区分が、手元の食材のラベルと同じかを確かめます
- マスタの値を見る … 保管温度と開封後の期限を、ラベルの記載と見比べます
- 評価を付ける … 解決した/品質管理課へ回した/誤りを選びます
2番目を軽く見ないでください。 仕入先が規格を変えると、ラベルの期限とマスタの値が食い違うことがあります。 違っていたら「誤り」を選び、品質管理課がマスタを確かめ直します。
品質管理課の担当者は、回ってきた質問だけを見ます。 deviation と already_served はすぐに店長へ電話し、食材をどうするかを状況を聞いて決めます。
目標は、600件をならして1件2分です。 チャットで解決した質問の記録の確認と、回ってきた質問を担当者が判断する時間の平均です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 品番が食材マスタに無い | 読み取り直しを促し、見つからなければ item_unknown で回す |
| マスタの期限の列が空 | 答えを作らず master_blank で回し、マスタの記入を頼む |
| 温度や期限が外れていた | 答えを作らず deviation で回し、担当者へ即時に通知する |
| すでに提供した | 答えを作らず already_served で回し、担当者へ即時に通知する |
| 従業員に下痢や発熱などの症状がある | 答えを作らず staff_symptom で回す |
| お客様から体調不良の申し出 | 答えを作らず customer_illness で回し、担当者へ即時に通知する |
| 回答の数字がマスタと違う | 回答を出さず number_in_answer で回す |
| 検索の呼び出しが失敗する | 「回答を作れませんでした」と表示し、品質管理課の電話番号を示す |
5行目は、施行規則の別表第十七にもとづく扱いです。 食品等取扱者が下痢・腹痛・発熱・吐き気などの症状を呈している場合、症状の詳細を把握し、医師の診察と作業の中止が必要かを判断するとされています。チャットで済ませず、店長と品質管理課が判断します。
記録を残す
- 質問の文、選んだ聞き返しの値、日時、店舗
- 店舗の台帳から引いた業態と計画の版
- 食材マスタから引いた値と、そのときのマスタの更新日
- 中継プログラムが組み立てた検索の文と、使った絞り込みの式
- answer メソッドの応答の全文(回答、出典、根拠のスコア、回答しなかった理由)
- 回す・回さないの判定と、その理由、品質管理課が最終的に指示した内容
3行目は、保健所の立入りや食中毒の疑いのときに効きます。 当時その店舗にどの期限を示していたかを、マスタの更新日と一緒に並べて見られるようにしておきます。
体調の話は、記録に残す範囲を決めておきます。 staff_symptom の質問は、品質管理課の待ち行列に載せた時点でチャットの記録からは症状の文を消し、従業員の健康の記録の扱いに移します。
04実装レベルの3段階
半自動化で、1件7分が5分程度になります。 探す時間は縮みますが、電話の聞き返しとマスタを引く手間が残ります。本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、品番をバーコードで読み、マスタの値が最初から並ぶからです。 段階を飛ばさないでください。 半自動化の1か月で、どの工程の記載が足りないか、どの食材のマスタが空かが見えます。そこを埋めてから店舗に開くほうが、回る件が減ります。
05工数削減シミュレーション
導入後 600件 × 2分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 店舗が数十以上あり、本部が業態ごとにHACCPの考え方を取り入れた衛生管理計画と調理の手順書を作って店舗に配っている飲食チェーン。食材ごとの保管温度と開封後の期限を本部の食材マスタで持っていて、店長や調理担当から本部の品質管理課へ「この食材はどうするか」という電話やメッセージが毎月数百件届いている場合。新しいメニューや食材の切り替えが毎月ある場合。
- 店舗が数店で、オーナーや料理長が全店の衛生管理を直接見ている場合。衛生管理計画が業界団体の手引書のひな形のままで、食材ごとの保管と期限の決まりが本部に無い場合(根拠にする値が無いので、まず食材マスタを整えるのが先です)。温度が外れた食材を使ってよいか、体調の悪い従業員を働かせてよいかの判断をAIに任せたい場合(この構成は計画と手順書の該当箇所を示すだけで、判断は店長と品質管理課が行います)。
07最小構成で試す方法
- 過去3か月に品質管理課に届いた質問から30件を選ぶ(業態で答えが変わった質問と、計画を読み上げただけの質問を数件ずつ入れる)
- その30件について、担当者がどのマスタの値と計画の頁を見てどう答えたかを記録から拾う
- 業態の衛生管理計画、手順書、記録のつけ方の手引きを、手元のAIサービスに資料として読み込ませる
- 業態と工程と食材を条件として貼り、「添付の資料だけを根拠に、確かめることと記録のつけ方を答えてください。温度と日数は書かず、使ってよいかも書かないでください」と指示する
- 出てきた回答を、当時の担当者の回答と突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ根拠で同じ答えが出た | データストアの構築に進む |
| 温度や日数を書いた | 指示の書き方と数字の照合で直る。構成は有効 |
| 計画に該当する記載が無い | 計画の書き足しが先。 検索の問題ではない |
3行目が出たら、 その工程を次の計画の見直しに入れ、同じ30件で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 回答に温度や日数を書く | 書き方を禁じ、マスタの値と照らして違えば回す |
| 別の業態の計画で答える | 店舗の台帳から業態と版を引いて絞り込む |
| 期限が文で入っていて照合できない | マスタの列を保管区分・温度・日数に分ける |
| 新しいメニューの食材のマスタが空 | メニューの切り替えの手順に、マスタの記入を入れる |
| 温度が外れた食材の扱いがチャットで終わる | 回す条件に入れ、即時に担当者へ通知する |
| アレルギーの質問に答えてしまう | 回す条件に入れ、決まった窓口に回す |
| 確かめ方の表がどの工程のものか分からない | 作成時に includeAncestorHeadings を有効にする。後から変えられない |
| 店舗が品番を打たずに商品名で聞く | バーコードの読み取りと、商品名からの候補の選択を用意する |
上の2行が、この構成の失敗のほとんどです。 どちらも、正しい計画を引いているのに、目の前の食材と店舗には当てはまらないという失敗です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 衛生管理計画、本部の手順書、記録のつけ方の手引き、食材マスタ、店舗の質問の文です。従業員の体調とお客様の申し出は、質問の中に入りうる個人の情報です。
- 体調の話をチャットの記録に残さない …
staff_symptomとcustomer_illnessは回した時点で症状の文を消し、担当者が健康の記録とお客様対応の手順で扱います - 使ってよいか・作業してよいかをAIに決めさせない … 外れた食材をどうするか、症状のある従業員をどうするかは、店長と品質管理課が状況を聞いて決めます
- 数字をマスタとデータで決める … 保管温度と期限は食材マスタに置き、マスタの更新は品質管理課の承認を通します
- すでに起きたことの報告を止めない …
deviation、already_served、customer_illnessは即時に人へ回し、チャットの中で手順の案内に流しません - 計画の見直しにつなげる … 施行規則は計画と手順書の効果を検証し、必要に応じて見直すことを求めています。回った理由の集計を、品質管理課の定期の振り返りの材料にします
誤りが起きた場合のリスクは、違う期限や温度で食材を扱うことと、外れた食材が使われることの2つです。 前者は食材マスタの表示と数字の照合で、後者は回す条件と即時の通知で防ぎます。
10まず何から始めるか
1週目:食材マスタの列をそろえる
食材マスタの保管区分・温度・開封後の期限を別の列に分け、空の食材を一覧にして埋めます。 使う頻度の高い食材から始めます。
2週目:30件で試す
過去の質問から30件を選び、手元のAIサービスに業態の計画と手順書を読み込ませて聞きます。温度や日数を書いていないか、使ってよいと書いていないかを最優先で見ます。
3週目:回す条件を決める
「温度や期限が外れた」「すでに提供した」「従業員の体調」「お客様の申し出」「アレルギー」を回す条件の表にし、店長会で店舗に伝えます。
4週目:データストアを作る
分割・見出しの設定を決めて、計画・手順書・手引き・回答を取り込みます。品質管理課の担当者が検索画面で使い、自分の回答と比べます。
2か月目: 中継プログラムとタブレットの画面を作り、10店舗で試します。回った理由を毎週数えます。3か月目以降: 全店舗に広げ、1件7分が何分になったかを実測します。品質管理課に届く質問が、逸脱やすでに起きたことの報告だけになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドが前のセッションの ID でやり取りを続けられ、質問の言い換えが既定で有効なこと。includeCitations、ignoreLowRelevantContent、ignoreNonAnswerSeekingQuery、preamble、filter。groundingSpec の filteringLevel(FILTERING_LEVEL_LOW/HIGH)で根拠のスコアの低い回答を落とせること、文ごとに根拠のスコアが付くこと | 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 |
| 食品衛生法施行規則第66条の2第3項(衛生管理計画の作成と周知、手順書の作成、実施状況の記録と保存、効果の検証と見直し)。別表第十七第7号ハ(食品等取扱者が下痢・腹痛・発熱・吐き気などの症状を呈している場合に、症状の詳細を把握し、診察と作業の中止が必要かを判断すること)。別表第十八(危害要因の分析から記録の作成まで。第8号で施行令第34条の2の営業者は簡略化できること) | e-Gov 法令検索 法令API: 食品衛生法施行規則 | 2026-10-08 |
| 施行令第34条の2第2号に飲食店営業が挙がっていること | e-Gov 法令検索 法令API: 食品衛生法施行令 | 2026-10-08 |
| 「HACCPの考え方を取り入れた衛生管理のための手引書」として、日本食品衛生協会の「小規模な一般飲食店」向けの詳細版・概要版(2024年1月15日改訂)が掲載されていること | 厚生労働省: HACCPの考え方を取り入れた衛生管理のための手引書 | 2026-10-08 |
食材を使ってよいか、従業員を作業させてよいかは、自社の衛生管理計画と品質管理課の判断、必要に応じて保健所の指導に従ってください。 本記事は Google Cloud、e-Gov 法令検索、厚生労働省のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0961)についてのご相談はこちらから。
