アルバイトの調理と接客の疑問に、店舗マニュアルの該当箇所を示しながらチャットで答える
アルバイトが店舗のタブレットやスマートフォンで質問すると、店舗マニュアルから該当箇所を検索して答えます。回答には必ずマニュアルの名前とページを添え、根拠が見つからない質問は答えずに店長へ回します。
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- 宿泊/小売/飲食
- 対象部門
- 人事
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 人手が足りない/問い合わせが多い/属人化している
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/対応スピード向上/教育コスト削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- アルバイトが作業の途中で手順に迷い、近くにいる店長か社員に声をかける
- 店長が作業の手を止め、覚えている範囲で答える
- 覚えていないときは、事務所に置いたマニュアルか共有ドライブのPDFを開いて探す
- 探した結果を伝え、アルバイトが作業に戻る
- 同じ質問が別の日に別のアルバイトから来ると、店長はまた答える
- マニュアルに無い質問や、マニュアルと現場のやり方が違う質問は、店長の判断で答え、記録は残らない
- 人アルバイトが、店舗の共用タブレットか自分のスマートフォンで社内のチャット画面を開き、質問を入力する
- 自動中継プログラムが、質問を規則で振り分ける。労務・お客様の食物アレルギー・事故や体調不良に当たるものは、決まった案内を返して店長へ回す
- 自動それ以外の質問を、店舗の業態の条件を付けて Vertex AI Search(Agent Search)に渡す
- 【AI】 Agent Search がマニュアルから関連する箇所を検索し、その箇所を根拠に回答を作る
- 自動中継プログラムが、根拠が付いているかと、回答が生成されたかを確かめる
- 自動根拠付きの回答は、マニュアルの名前とページ、該当ページへのリンクを添えて返す
- 自動回答が作られなかったものは「マニュアルに見つかりません。店長に聞いてください」と返し、店長のタブレットに知らせる
- 人店長は、回されてきた質問にだけ答える
- 人教育課が、毎月、答えられなかった質問と回された質問の一覧を見て、マニュアルを改訂する
各工程の詳しい説明を読む
- アルバイトが作業の途中で手順に迷い、近くにいる店長か社員に声をかける
- 店長が作業の手を止め、覚えている範囲で答える
- 覚えていないときは、事務所に置いたマニュアルか共有ドライブのPDFを開いて探す
- 探した結果を伝え、アルバイトが作業に戻る
- 同じ質問が別の日に別のアルバイトから来ると、店長はまた答える
- マニュアルに無い質問や、マニュアルと現場のやり方が違う質問は、店長の判断で答え、記録は残らない
(a)同じ質問が繰り返される。 1店舗あたり月30件の質問の多くは、同じ種類の質問の繰り返しです。閉店時の締めの手順、めったに出ないトッピングの量、食洗機のエラーの消し方。答えはマニュアルにありますが、600ページのどこにあるかをアルバイトは知りません。
(b)ピーク時に店長の手が止まる。 質問が来るのは、作業が立て込んでいるときです。1件3分でも、昼のピークの3分は、お客様を待たせる3分です。
(c)店長ごとに教える内容が違う。 覚えている手順が古い版のままだったり、店舗独自のやり方を教えていたりします。2業態の分量を取り違えて教えることもあります。 教育課は、どの店舗で何が教えられているかを知る手段がありません。
(d)マニュアルの抜けが本部に届かない。 6番のように、マニュアルに無い質問に店長がその場で答えると、その質問が出たこと自体が記録に残りません。 教育課がマニュアルを改訂するときの材料は、年に一度の店長会議の意見くらいです。
- 【人】 アルバイトが、店舗の共用タブレットか自分のスマートフォンで社内のチャット画面を開き、質問を入力する
- 【自動】 中継プログラムが、質問を規則で振り分ける。労務・お客様の食物アレルギー・事故や体調不良に当たるものは、決まった案内を返して店長へ回す
- 【自動】 それ以外の質問を、店舗の業態の条件を付けて Vertex AI Search(Agent Search)に渡す
- 【AI】 Agent Search がマニュアルから関連する箇所を検索し、その箇所を根拠に回答を作る
- 【自動】 中継プログラムが、根拠が付いているかと、回答が生成されたかを確かめる
- 【自動】 根拠付きの回答は、マニュアルの名前とページ、該当ページへのリンクを添えて返す
- 【自動】 回答が作られなかったものは「マニュアルに見つかりません。店長に聞いてください」と返し、店長のタブレットに知らせる
- 【人】 店長は、回されてきた質問にだけ答える
- 【人】 教育課が、毎月、答えられなかった質問と回された質問の一覧を見て、マニュアルを改訂する
2番目が、この設計の分かれ目です。 検索して答えを作る前に、答えてはいけない種類の質問を規則で外します。 検索の精度が高くても、「このお客様に出していいか」という質問にマニュアルの一節で答えることは、正しい答え方ではありません。
8番目で店長が答えるのは、回されてきたものだけです。 マニュアルに書いてあることは、アルバイトが自分で確かめられます。店長の手が止まるのは、マニュアルに無いことと、人が判断すべきことだけになります。
02今回想定するシステム構成
アルバイト(店舗のタブレット/スマートフォン) │ 社内のチャット画面に質問を入力(店舗コードでログイン) ▼ 中継プログラム(Python) ├──▶ 規則による振り分け(労務/お客様のアレルギー/事故・体調不良 → 店長へ) ▼ Vertex AI Search(Agent Search) │ データストア:店舗マニュアル(PDF・スライド)+メタデータ(業態・種類・改訂日) │ answer メソッド:業態で絞り込み、根拠付きで回答 ▼ 中継プログラム ── 根拠の有無・回答の生成の有無を確かめる ├──▶ 根拠付きの回答+マニュアル名・ページ・リンク └──▶ 答えられない → 店長のタブレットへ通知 ▼ 対話の記録 ── 月次で教育課へ(答えられなかった質問の一覧)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search) | Azure AI Search、OpenSearch |
| 連携 | 中継プログラム(Python。チャット画面と検索基盤をつなぎ、規則で振り分ける) | Node.js で同じものを書く |
| 保管 | Cloud Storage(マニュアルの原本とメタデータ) | Google ドライブからの同期 |
| 集計 | Google スプレッドシート(答えられなかった質問の月次の一覧) | BigQuery、Looker Studio |
マニュアルは、新しく作るものではありません。 共有ドライブに置いているPDFとスライドを、Cloud Storage のバケットに写し、メタデータを付けて取り込むのが最初の準備作業です。
土台になるのは、Google Cloud の Agent Search です。 Google Cloud のドキュメントでは、Agent Search は AI Applications の下位の製品で、以前は Vertex AI Search などと呼ばれていたとされています。自然言語の理解にもとづく検索と、検索結果にもとづく生成AIの回答を返せ、アクセスは IAM で管理します。
マニュアルは、非構造化データのデータストアに入れます。 データストアの作成のドキュメントでは、Cloud Storage から PDF、HTML、DOC、TXT、PPTX などの非構造化ドキュメントを取り込め、ドキュメントごとにメタデータを付けて取り込めるとされています。Cloud Storage のフォルダからの取り込みには、1日・3日・5日ごとの同期の頻度を設定できます。
回答は、answer メソッドで作ります。 answer メソッドのドキュメントでは、回答の各文に出典を付ける設定(includeCitations)、関連する内容が乏しいときに代わりの応答を返す設定(ignoreLowRelevantContent)、回答を求めていない質問に回答を作らない設定(ignoreNonAnswerSeekingQuery)、根拠の強さの基準に届いた回答だけを返す設定(groundingSpec)があり、回答を作らなかった理由は answerSkippedReasons に入ります。メタデータで検索対象を絞る searchSpec のフィルタ、前の質問を踏まえて続けて答えるためのセッション、回答の口調や詳しさを指示する promptSpec の preamble も用意されています。
03どうやって実装するのか
処理の起点を決める
アルバイトがチャット画面に質問を送ったことを起点にします。 1問ごとに動く仕組みで、定時の処理はありません。
画面は、店舗の共用タブレットと、アルバイトのスマートフォンのブラウザから開けるようにします。ログインは店舗コードと店舗ごとの合言葉で行い、アルバイト一人ひとりのアカウントは作りません。 質問に氏名は要らず、アカウントを作ると入れ替わりのたびに管理の手間が出るからです。
店舗コードから業態を引けるようにしておきます。 業態によって調理マニュアルが違うので、ログインの時点で業態が決まれば、以降の検索はすべてその業態のマニュアルに絞れます。
マニュアルの改訂を起点にした取り込みも用意します。教育課が改訂版をバケットに置いたら、定期の同期を待たずに、その日のうちに取り込みを実行します。 同期の頻度は1日・3日・5日から選ぶ形なので、改訂版の反映が翌日以降になってよいかは、マニュアルの種類で決めます。 衛生マニュアルの改訂は、その日に反映させます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | アルバイトが入力した文、店舗コード、送信日時 | チャット画面 |
| 店舗マニュアル | 調理・接客・衛生・機器の4種類、約600ページ | Cloud Storage のバケット |
| メタデータ | 業態(ラーメン/定食/共通)、種類、版、改訂日、ページへのリンク | 取り込み用のJSON |
| 振り分けの規則 | 労務・お客様のアレルギー・事故や体調不良に当たる語句と、そのときに返す案内 | 中継プログラムの設定 |
| 店舗の一覧 | 店舗コード、業態、店長の通知先 | 店舗マスタ |
メタデータの「業態」が、この構成の質を決めます。 2業態で同じ名前のメニューがあり、分量が違います。業態を付けずに取り込むと、ラーメン業態のアルバイトに定食業態の分量が返ります。 両方に共通の衛生マニュアルや接客マニュアルは「共通」とし、検索では「その店舗の業態」か「共通」を対象にします。
改訂日は、古い版を残さないために使います。 改訂したら旧版はデータストアから外します。旧版を残したまま新版を足すと、どちらも同じくらい質問に近いので、古い分量が返ることがあります。
データの取得方法を決める
マニュアルは、Cloud Storage にメタデータ付きで取り込みます。 取り込み用のJSONには、1ドキュメントごとに id、メタデータを入れる jsonData、ファイルの場所とファイルの種類を示す content を持たせます。
{ "id": "cook-ramen-2026-09",
"jsonData": "{\"business\":\"ramen\",\"type\":\"cooking\",\"version\":\"2026-09\",\"revised\":\"2026-09-01\"}",
"content": { "mimeType": "application/pdf",
"uri": "gs://store-manuals/cooking/ramen_2026-09.pdf" } }
| 取るもの | どこから | 何に使うか |
|---|---|---|
| マニュアルの本文 | データストア | 回答の根拠 |
| メタデータ | データストア | 業態での絞り込み、版の確認 |
| 出典 | answer メソッドの返答 | 回答に添えるマニュアル名とページ |
| 回答を作らなかった理由 | answerSkippedReasons | 店長へ回すかの判断 |
検索のときは、searchSpec のフィルタで業態を絞ります。 ラーメン業態の店舗からの質問なら「業態がラーメンか共通」のドキュメントだけを対象にします。絞り込みは、生成AIへの指示ではなく検索の条件として行います。 指示で「ラーメン業態の分量で答えて」と書いても、定食業態の文書が根拠に混ざれば、その分量が返りえます。
AIへ渡す前に整形する
- マニュアルを種類ごと・業態ごとのファイルに分ける … 1冊にまとまっている場合は、調理・接客・衛生・機器に分け、業態ごとの調理マニュアルを別のファイルにします
- 写真だけで示した手順を文章にする … 盛り付けの写真の横に文章が無いページは、手順を短い文章で書き起こして添えます。 文章に無い手順は、検索で引ける保証がありません
- ページへのリンクを用意する … 回答に添えるため、共有ドライブのPDFのページへのリンクをメタデータに持たせます
- 旧版を外す … 改訂のたびに、旧版をバケットとデータストアから外します
- 質問の前処理 … 中継プログラムが、質問から店舗名や人名らしい語を取り除き、振り分けの規則に当てます
- 続けての質問をまとめる … 同じ画面での続けての質問は、セッションを引き継いで渡します
- 現場の呼び名をマニュアルに書き足す … アルバイトは「テボ」「ゆで麺機」「デシャップ」のような店舗での呼び名で質問します。マニュアルが「てぼざる」「ゆで釜」「料理の受け渡し台」と書いていると、言葉が合わずに引けないことがあります。 各マニュアルの冒頭に、現場の呼び名とマニュアルの用語を並べた用語の一覧を1ページ足します
7番目は、最小構成の試しで見つかることが多い抜けです。 店長に質問を書き出してもらうと、マニュアルに一度も出てこない呼び名がいくつも出てきます。呼び名は店舗ごとに違うこともあるので、教育課が一覧を持ち、改訂のたびに足します。
2番目を省かないでください。 飲食店の調理マニュアルは、写真で見せることを優先して作られていることが多く、文章が少ないのが普通です。「盛り付けの位置」「ネギの量」のような質問は、写真のページにしか答えが無いことがあります。文章が無ければ、検索はそのページを引けず、「マニュアルに見つかりません」が増えます。
5番目の振り分けは、検索より先に行います。 規則で外すものを検索に渡すと、マニュアルの関係する一節を根拠に、もっともらしい答えを作ってしまいます。
AIに処理させる
させるのは、業態で絞ったマニュアルから質問に近い箇所を探し、その箇所に書かれていることだけで答えることです。
振り分けの規則は、次の3つを先に外します。
| 種類 | 例 | 返す案内 |
|---|---|---|
| 労務 | シフトの交代、給与、休暇、遅刻の連絡 | 「シフトやお給料のことは店長に聞いてください」 |
| お客様の食物アレルギー | 「このメニューに卵は入っていますか」とお客様に聞かれた | 「お客様をお待たせして、すぐに店長か社員を呼んでください」 |
| 事故・体調不良 | やけど、切り傷、異物の申し出、体調が悪い | 「すぐに店長に伝えてください。」と、衛生マニュアルの緊急時の連絡先のページ |
お客様の食物アレルギーを外すのは、答えが間違っていたときの重さが違うからです。 一覧表やマニュアルには書いてあるかもしれませんが、お客様への答えは、その日の仕入や調理の状況も踏まえて社員が行うものと決めておきます。チャットがアルバイトの代わりに答えを用意すると、アルバイトはそれをそのままお客様に伝えます。
事故・体調不良は、答えを返すより人を呼ぶことが先です。 チャットの画面を見ている時間を作らないように、案内は短く、1行目で「店長に伝える」ことを示します。
それ以外の質問に対して、回答に求めるのは次のとおりです。
- マニュアルに書いてある手順を、番号付きの短い手順で返す
- 分量・時間・温度は、マニュアルの数字をそのまま使う
- 1つの回答に、根拠にしたマニュアル名とページを必ず添える
- マニュアルに無い手順を、一般的な調理の知識で補わない
指示内容を固定する
answer メソッドの promptSpec の preamble に、次の指示を入れます。
あなたは飲食店の店舗マニュアルを案内する係です。
質問するのは、営業中に手順に迷ったアルバイトです。
【答え方】
- 検索で見つかったマニュアルに書かれていることだけで答えてください。
- 一般的な調理や接客の知識で補わないでください。
- 手順は、番号付きで5行以内にまとめてください。
- 分量・時間・温度・回数は、マニュアルの数字をそのまま書いてください。
丸めたり、「約」を付けたりしないでください。
- 業態によって手順が違う場合は、見つかったマニュアルの手順だけを書いてください。
- マニュアルに書かれていない場合は、推測で答えず、
「マニュアルに見つかりませんでした。店長に聞いてください。」とだけ答えてください。
- お客様に伝える内容(アレルギー、原材料、返金など)は答えないでください。
- やさしい言葉で、敬語は短めにしてください。
【してはいけないこと】
- マニュアルと違うやり方を「こちらのほうが早い」と勧めること
- 危ない作業(刃物、揚げ油、熱湯、洗剤の混合)を、マニュアルにない方法で案内すること
あわせて、answer メソッドの設定を次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
includeCitations | 有効 | 回答にマニュアル名とページを添えるため |
ignoreLowRelevantContent | 有効 | 関連の薄い箇所しかないときに、無理に答えさせないため |
ignoreNonAnswerSeekingQuery | 有効 | あいさつや雑談に回答を作らないため |
groundingSpec | 根拠の強さの基準を高めに設定 | 根拠の弱い回答を返さないため |
searchSpec のフィルタ | 業態がその店舗の業態か共通 | 別の業態の分量を根拠にしないため |
「数字をそのまま」を書くのは、分量の丸めを防ぐためです。 「チャーシュー35g」を「約30g」と返されると、その店舗の原価と味が静かにずれます。
preamble だけに頼らず、groundingSpec と ignoreLowRelevantContent で「答えない」を組みます。 指示の文だけでは、根拠が弱くても答えを作ることがあります。答えないかどうかは、指示ではなく設定と、その結果の answerSkippedReasons で決めます。
出力形式を固定する
中継プログラムは、answer メソッドの返答を、次の形に直してチャット画面へ返します。
{
"route": "answered | no_answer | rule_referred",
"rule_category": "labor | customer_allergy | incident | null",
"answer_text": "",
"citations": [
{ "manual": "調理マニュアル(ラーメン業態)2026年9月版", "page": 42, "link": "" }
],
"skipped_reasons": [],
"store_code": "R-017",
"session_id": ""
}
route を3つに分けるのは、店長へ知らせるかどうかを機械で決めるためです。 answered は画面に返すだけ、no_answer と rule_referred は店長のタブレットにも知らせます。
route | 画面に出すもの | 店長への通知 |
|---|---|---|
answered | 手順と、マニュアル名・ページ・リンク | しない |
no_answer | 「マニュアルに見つかりませんでした。店長に聞いてください」 | する(質問の文を添える) |
rule_referred | 規則ごとの決まった案内 | する(種類を添える) |
citations が空の answered は作りません。 出典の無い回答が返ってきた場合、中継プログラムは no_answer に直します。根拠を示せない回答は、アルバイトが確かめる手段が無いからです。
リンクを添えるのは、写真を見てもらうためです。 盛り付けや器具の扱いは、文章で読むより写真で見るほうが確かです。回答の文は短くし、詳しくはリンク先のページで見る形にします。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| チャット画面 | 中継プログラムが提供するWebの画面 | 店舗コードでログインし、質問を送る |
| Agent Search | answer メソッドの呼び出し | 業態で絞り、根拠付きで回答を作る |
| Cloud Storage | メタデータ付きの取り込み | マニュアルの原本と改訂版 |
| 店長のタブレット | 中継プログラムからの通知 | no_answer と rule_referred の質問を知らせる |
| Google スプレッドシート | 中継プログラムからの書き込み | 対話の記録と、月次の一覧 |
勤怠やシフトのシステムにはつなぎません。 労務の質問は規則で店長へ回すので、この構成が従業員の個人の情報を読む経路はありません。 つながないことで、アルバイトが他の人のシフトや給与を聞き出す経路も最初から無くなります。
人が確認する
この構成では、回答を1件ずつ人が承認しません。 営業中の質問に答えるのが目的で、承認を待つと役に立たないからです。そのかわり、確認を3つの場所に置きます。
- 店長が、回されてきた質問に答える …
no_answerとrule_referredのものです。答えた内容を、画面から一言で記録します - 教育課が、毎週、回答の抜き取りを読む …
answeredのうち50件を選び、マニュアルと照らします。数字が丸められていないか、別の業態の手順が混ざっていないかを見ます - 教育課が、毎月、答えられなかった質問の一覧を見る … 同じ種類の質問が複数の店舗から来ていれば、マニュアルに書き足します
2番目の抜き取りが、回答の誤りを見つける唯一の場所です。 アルバイトは回答が誤っていても気づけないことが多く、誤りは静かに続きます。抜き取りで1件でも誤りが見つかったら、その質問と同じ種類の回答をまとめて見直します。
1番目の店長の記録は、教育課が月に一度まとめて読みます。 店長が回された質問に答えた内容は、マニュアルに書き足すべき手順の下書きです。複数の店長が同じ質問に違う答えをしていれば、どちらを正とするかを教育課が決め、マニュアルに書いてからデータストアに取り込み直します。 こうして、店長ごとに教える内容が違うという第3章の(c)が、少しずつ解消されます。
human_check を「条件付き」としているのは、この形だからです。 回答そのものは人を通さずに返り、人が見るのは、回された質問と、抜き取りと、月次の一覧です。
例外に対処する
| 起きること | 対応 |
|---|---|
回答が作られない(answerSkippedReasons に理由が入る) | no_answer として店長へ回す |
| 出典の無い回答が返る | no_answer に直す。出典の無い回答は画面に出さない |
| 別の業態のマニュアルが根拠に出る | フィルタの設定を確かめる。その回答は抜き取りの対象に必ず入れる |
| 旧版のマニュアルが根拠に出る | 旧版がデータストアに残っていないかを確かめ、外す |
| 規則の語句に当たらないが、アレルギーや事故の質問だった | 抜き取りで見つけたら、振り分けの語句に足す |
| 同じ質問が短時間に何度も送られる | 同じ回答を返す。店長への通知は1回にまとめる |
| マニュアルの改訂と同期の間に質問が来る | 改訂したその日に取り込みを実行する。衛生マニュアルは必ずその日に |
| Agent Search が応答しない | 「いまは使えません。店長に聞いてください」と返し、教育課に知らせる |
5行目の規則の漏れは、運用で埋めていくものです。 「お客様が小麦がだめだと言っている」「指を切った」のような言い方は、最初に決めた語句に当たらないことがあります。抜き取りで見つけるたびに語句を足し、足した語句を店長会議で共有します。
記録を残す
- 質問の文、店舗コード、送信日時(氏名は保存しない)
route、規則の種類、回答の文、出典(マニュアル名・版・ページ)answerSkippedReasonsの中身- 店長が回された質問に答えた内容の一言の記録
- 教育課の抜き取りの結果と、誤りの内容
- マニュアルの改訂日と、取り込みを実行した日時
出典に版を残すのは、改訂の前後で答えが変わるためです。 ある日にアルバイトが受け取った答えが、どの版のマニュアルに基づいていたかを、後から確かめられるようにします。
no_answer の一覧は、月に一度、種類ごとにまとめて教育課に渡します。 これが、マニュアルの改訂の材料になります。
04実装レベルの3段階
本記事の想定は本格構成です。 第10章の0.5分は、アルバイトが自分でチャットに質問し、店長が答えるのは回されてきたものだけという前提で置いた数字です。 半自動化では、店長の手はほとんど減りません。 アルバイトはまだ店長に聞くからです。ただし、半自動化の段階で、質問の種類と「見つかりません」の多い分野が分かります。 そこでマニュアルの文章を書き足してから本格構成に進むと、店長へ回る質問が最初から少なくなります。 本格構成に進む前に、振り分けの規則を店長会議で確かめてください。 どの質問を店長へ回すかは、店長が引き受ける仕事を決めることでもあります。
05工数削減シミュレーション
導入後 1,200件 × 0.5分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 数十店舗以上の飲食チェーンや小売チェーン、宿泊施設で、アルバイト・パートが多く入れ替わりも多い場合。調理・接客・衛生のマニュアルが文書として整っているのに、営業中は店長や社員に聞くほうが早いため、同じ質問が店長に集まっている場合。Google Cloud をすでに使っているか、使う準備ができる場合。
- マニュアルが文書になっておらず、手順が店長の口頭の指導だけで伝わっている場合(先にマニュアルを文書にする必要があります)。店舗が少なく、店長が全員の質問に直接答えられている場合。シフト・給与・休暇など労務の質問を主な対象にしたい場合(この構成では答えずに店長へ回します)。お客様の食物アレルギーへの個別の回答を任せたい場合。
07最小構成で試す方法
- 店長5名に、この1週間でアルバイトから受けた質問を10件ずつ書き出してもらう(合計50件)
- 調理マニュアル1業態分と衛生マニュアルを、Google Cloud のコンソールでデータストアに取り込む
- コンソールのプレビューで、50件の質問をそのまま入れてみる
- 返ってきた回答を、マニュアルの該当ページと照らす
- 店長が当時どう答えたかと比べる
見るのは、答えられた数より、答えてはいけないのに答えたものです。 50件のうち、労務やお客様のアレルギーに当たる質問にまで回答が作られていないかを確かめます。最小構成には振り分けの規則がないので、ここで出たものが規則の語句の最初の一覧になります。
| 出てきた内容 | 判断 |
|---|---|
| マニュアルどおりの手順が、出典付きで返った | 中継プログラムとチャット画面の作成に進む |
| 「見つかりません」が多い | 写真だけのページが多い。手順の文章を書き起こすのが先 |
| 別の業態の分量が返った | メタデータとフィルタを付けてから試し直す |
| 店長の答えとマニュアルが違った | 店長の答えが古い可能性がある。 マニュアルを正とするかを教育課が決める |
4行目は、この試しでいちばん価値のある発見です。 第3章の(c)が、ここで具体的な質問として見えます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 別の業態の分量が返る | メタデータに業態を持たせ、searchSpec のフィルタで絞る。 指示文で絞らない |
| 旧版のマニュアルが根拠になる | 改訂のたびに旧版をデータストアから外す |
| 写真だけのページが引けない | 手順を短い文章で書き起こして添える |
| 現場の呼び名で質問され、マニュアルの用語と合わない | マニュアルの冒頭に呼び名と用語の一覧を足す |
| お客様のアレルギーの質問に答えてしまう | 検索の前に規則で外す。 抜き取りで見つけた言い方を語句に足す |
| 根拠が弱いのに答える | groundingSpec と ignoreLowRelevantContent で「答えない」を組む |
| 出典の無い回答が返る | 中継プログラムで no_answer に直す |
| 分量や時間が丸められる | 指示文で「数字をそのまま」と書き、抜き取りで確かめる |
| 改訂が同期まで反映されない | 改訂したその日に取り込みを実行する |
| アルバイトのアカウント管理が回らない | 店舗コードでログインし、個人のアカウントを作らない |
| 店長が回された質問に答えない | 通知を店長のタブレットに出し、答えた記録を一言で残す |
上の2行が、この構成の失敗のほとんどです。 どちらも「質問に近い文書を探す」という検索の性質から来ています。近い文書が2つあるとき、どちらが正しいかは検索には分かりません。 業態と版をデータの側で分けておくことが、回答の正しさを決めます。
3行目と4行目は、検索の設定ではなくマニュアルの書き方の問題です。 どちらも、アルバイトが使う言葉と、マニュアルに書かれた言葉が合っていないところから起きます。
5行目は、失敗の頻度は低くても、起きたときの重さがいちばん大きいものです。 規則の語句は最初から完全にはなりません。抜き取りで見つけて足していく運用を、最初から予定に入れてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 店舗マニュアル(調理の分量や手順、衛生の管理の方法)と、アルバイトの質問の文です。マニュアルは社外に出していない営業上の情報です。
- アクセスを IAM で管理する … Agent Search はアクセス制御に IAM を使うとされています。データストアと answer メソッドを呼べるのは、中継プログラムのサービスアカウントだけにします
- チャット画面を社外から使えないようにする … 店舗コードと合言葉でのログインに加え、合言葉を定期的に変え、退職者が使い続けられないようにします
- 氏名を記録しない … 質問の文から人名らしい語を取り除き、誰が何を聞いたかは残しません。 質問の内容で評価されると、アルバイトは聞かなくなります
- 労務の情報につながない … シフトや給与の質問は規則で店長へ回し、勤怠のシステムにはつなぎません
- お客様への回答をチャットに任せない … 食物アレルギーや原材料、返金の質問は、アルバイトからお客様へそのまま伝わります。 規則で外し、社員が答える形を崩しません
- 事故・体調不良は、チャットより人を呼ぶことを先にする … 案内は短くし、画面を見ている時間を作りません
誤りが起きた場合のリスクは、マニュアルと違う手順が返ることと、答えてはいけない質問に答えることの2つです。 前者は業態と版の混在で起き、後者は規則の漏れで起きます。前者はデータの整え方で、後者は規則と抜き取りで防ぎます。
10まず何から始めるか
1週目:質問を集める
店長5名に、1週間でアルバイトから受けた質問を10件ずつ書き出してもらいます。あわせて、答えたときにマニュアルを開いたかどうかも書いてもらいます。 マニュアルを開かずに答えた質問が、店長の記憶とマニュアルのずれを探す候補になります。
2週目:マニュアルを分けて取り込む
調理マニュアルを業態ごとのファイルに分け、1業態分と衛生マニュアルをデータストアに取り込みます。写真だけのページが何ページあるかを数えます。
3週目:50件で試す
第8章の手順で50件を試します。答えてはいけない質問に回答が作られたものを、振り分けの規則の最初の語句にします。
4週目:振り分けの規則を決める
店長会議で、どの質問を店長へ回すかを決めます。お客様のアレルギーと事故・体調不良は、必ず回す側に入れます。
2か月目: 中継プログラムとチャット画面を作り、5店舗で使い始めます。教育課が毎週50件の抜き取りを行います。3か月目以降: 40店舗に広げ、1件3分が何分になったかを店長への聞き取りで確かめます。no_answer の一覧をもとにした最初のマニュアルの改訂を終えた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Agent Search が AI Applications の下位の製品で、以前は Vertex AI Search などと呼ばれていたこと。自然言語の理解にもとづく検索と、検索結果にもとづく生成AIの回答を提供すること。アクセス制御に IAM を使うこと | Google Cloud: Agent Search の概要 | 2026-09-29 |
Cloud Storage から PDF、HTML、DOC、TXT、PPTX などの非構造化ドキュメントを取り込めること。id・jsonData・content を持つJSONでメタデータ付きで取り込めること。Cloud Storage のフォルダからの取り込みに1日・3日・5日ごとの同期の頻度を設定できること | Google Cloud: データストアを作成する | 2026-09-29 |
answer メソッドに includeCitations、ignoreLowRelevantContent、ignoreNonAnswerSeekingQuery、groundingSpec の設定があること。回答を作らなかった理由が answerSkippedReasons に入ること。searchSpec のフィルタでメタデータによる絞り込みができること。セッションで続けての質問に答えられること。promptSpec の preamble で回答の口調や詳しさを指示できること | Google Cloud: 回答とフォローアップを取得する | 2026-09-29 |
Agent Search の料金と上限値は、本記事では扱っていません。 導入前に Google Cloud の最新の資料で確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0308)についてのご相談はこちらから。
