Media > AI活用ユースケース > カスタマーサポート > 観光協会の案内所の職員が、観光施設・交通・イベントの資料を引き、窓口で聞かれた質問に根拠つきで答える

観光協会の案内所の職員が、観光施設・交通・イベントの資料を引き、窓口で聞かれた質問に根拠つきで答える

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

観光案内所の職員が窓口で聞かれた質問を入れると、施設とイベントの一覧を案内所からの距離と来訪日で絞って並べ、交通やイベントの質問には資料と協会のサイトのお知らせから根拠を引用した答えの下書きを作ります。職員が確かめて案内します。

サマリー
生成AI
Gemini
AIサービス
Azure AI/Google Vertex AI/OpenSearch
連携・自動化
Python
対象業界
その他/宿泊/自治体
対象部門
カスタマーサポート
対象業務
問い合わせ対応/情報検索
主な課題
問い合わせが多い/属人化している/情報が見つからない
AIで行う処理
検索(RAG)
主な効果
対応スピード向上/教育コスト削減/検索時間短縮
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
RAG・個別開発(大)
人間の確認
条件付き
現在工数
125h/月
AI導入後
50h/月
想定削減
60%
年間削減
900h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 職員が窓口で質問を聞き、来訪の日と、行きたい場所の種類・条件を確かめる
  2. 施設の一覧の表計算を開き、種類で絞って、営業時間と定休日を1件ずつ見る
  3. 地図を開き、案内所からの距離を見て候補を選ぶ
  4. イベントや交通の質問なら、協会のサイトのお知らせと、交通事業者のPDFを開いて探す
  5. 分からないことはベテランの職員に聞くか、施設や交通事業者に電話で確かめる
  6. 旅行者に口頭で伝え、必要ならパンフレットに印を付けて渡す
導入後(After)
  1. 人職員が窓口の端末に質問を入れ、来訪の日を選ぶ(既定は今日)
  2. 自動中継プログラムが、質問の種類を見て、施設を探す質問か、資料から答える質問かに分ける
  3. 自動施設を探す質問は、施設とイベントの一覧を、種類・案内所からの距離・来訪日で絞って検索し、一覧の項目をそのまま距離の順に並べる
  4. 自動資料から答える質問は、Agent Search(Vertex AI Search)の answer メソッドが、交通事業者の案内・パンフレット・協会のサイトから根拠を引用して下書きを作る
  5. 人職員が一覧と下書きを読み、根拠の日付と出どころを確かめて旅行者に伝える
  6. 人当日の運行や臨時の休館に関わるものは、事業者の発表を確かめてから伝える
  7. 人一覧や資料が古いと気づいたら、画面の「情報が違う」から報告し、担当の職員が直す
各工程の詳しい説明を読む
  1. 職員が窓口で質問を聞き、来訪の日と、行きたい場所の種類・条件を確かめる
  2. 施設の一覧の表計算を開き、種類で絞って、営業時間と定休日を1件ずつ見る
  3. 地図を開き、案内所からの距離を見て候補を選ぶ
  4. イベントや交通の質問なら、協会のサイトのお知らせと、交通事業者のPDFを開いて探す
  5. 分からないことはベテランの職員に聞くか、施設や交通事業者に電話で確かめる
  6. 旅行者に口頭で伝え、必要ならパンフレットに印を付けて渡す

(a)表計算と地図を行き来する。 種類で絞った一覧には距離が無く、地図で1件ずつ場所を見ながら候補を選びます。 その間、窓口の後ろに列ができます。

(b)資料が3か所に分かれている。 イベントはサイト、臨時便はPDF、施設はパンフレットと表計算。どこに書いてあるかを知っているのはベテランで、 臨時の職員は聞くまで分かりません。

(c)並びが職員の好みで変わる。 よく知っている店や、話しやすい施設から先に案内しがちです。加盟施設からも、非加盟の施設からも「紹介が偏っている」と言われることがあります。

(d)古い情報を案内してしまう。 冬の間だけの定休日、改装中の休館、終わったイベント。表計算の書き換えが追いつかず、職員が気づかないまま案内することがあります。

  1. 【人】 職員が窓口の端末に質問を入れ、来訪の日を選ぶ(既定は今日)
  2. 【自動】 中継プログラムが、質問の種類を見て、施設を探す質問か、資料から答える質問かに分ける
  3. 【自動】 施設を探す質問は、施設とイベントの一覧を、種類・案内所からの距離・来訪日で絞って検索し、一覧の項目をそのまま距離の順に並べる
  4. 【自動】 資料から答える質問は、Agent Search(Vertex AI Search)の answer メソッドが、交通事業者の案内・パンフレット・協会のサイトから根拠を引用して下書きを作る
  5. 【人】 職員が一覧と下書きを読み、根拠の日付と出どころを確かめて旅行者に伝える
  6. 【人】 当日の運行や臨時の休館に関わるものは、事業者の発表を確かめてから伝える
  7. 【人】 一覧や資料が古いと気づいたら、画面の「情報が違う」から報告し、担当の職員が直す

3番目で、一覧の項目をAIに書き直させません。 営業時間は一覧に入っている文字のまま出します。時刻の写し間違いが起きる段階を、そもそも作らないためです。

2番目の振り分けに迷う質問は、両方を出します。 「祭りの日に開いている飲食店」は、イベントの資料と施設の一覧の両方が要ります。

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

構成図
施設とイベントの一覧(表計算から書き出し)   交通事業者の案内・パンフレット(PDF)   協会のサイト
   │  位置(緯度・経度)・種類・営業日・期間                │  季節・発行日                          │ ドメイン確認
   ▼                                                         ▼                                         ▼
構造化データのデータストア                    非構造化データのデータストア        ウェブサイトのデータストア
   │  (アプリA:一覧の検索)                        └──────(アプリB:資料からの答え)──────┘
   ▼
窓口の端末 ──【トリガー】職員が質問を入れる
   ▼
中継プログラム(Python、Cloud Run)
   ├──▶ 施設を探す:アプリAの search メソッド(距離・種類・日付で絞る)→ 距離の順に並べる
   └──▶ 資料から答える:アプリBの answer メソッド(引用付き)
   ▼
職員の画面(一覧、下書き、根拠の日付と出どころ)
役割想定する製品代替候補
検索基盤Vertex AI Search(Agent Search)の search メソッドと answer メソッドAzure AI Search、Amazon OpenSearch Service
生成AIGemini(answer メソッドの回答の生成に使うモデル)─
連携中継プログラム(Python。Cloud Run で動かし、窓口の端末・2つのアプリ・報告の受付をつなぐ)Node.js で同じものを書く
保管Cloud Storage(一覧の書き出し、PDF、質問と答えの記録)─

旅行者が直接使う画面は作りません。 使うのは案内所の職員だけで、旅行者に伝えるのは職員です。旅行者には年齢を問わず多くの人がいますが、生成された文が旅行者に直接届く経路が無い設計にします。

アプリを2つに分けるのは、データの形が違うからです。 施設とイベントは項目のそろった表で、位置や日付で絞りたいものです。公式のドキュメントでは、構造化データのスキーマに geolocation(緯度と経度、または住所)と datetime の型を持たせられ、索引可能にした項目で絞り込めます。絞り込みの構文には、位置の項目が指定の地点から何メートル以内かを見る GEO_DISTANCE があります。

資料のアプリは、複数のデータストアをつないだアプリ(ブレンド検索)にします。 公式では、ブレンド検索はアプリを作るときに2つ以上のデータストアを選ぶ必要があり、1つで作ると後から足せません。ウェブサイトのデータストアをブレンド検索に入れるには、高度なウェブサイトのインデックス登録(advanced website indexing)が要り、それにはドメインの確認が要ります。 協会のサイトは協会のドメインなので確認でき、施設や交通事業者のサイトは入れられません。

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

Step1

処理の起点を決める

起点は、職員が窓口の端末に質問を入れて送ることです。 端末の画面には、質問の欄、来訪の日(既定は今日)、起点(既定は案内所。駅の東口、城の大手門など、よく聞かれる起点を選べる)を置きます。電話の質問も、職員が同じ画面に入れます。

もう一つのトリガーは、情報の更新です。

更新されるものきっかけ反映のしかた
施設の一覧職員が表計算を直した毎晩、表計算を書き出して構造化データを取り込み直す
イベントの一覧職員がイベントを登録した同上
交通事業者の案内・パンフレット新しいPDFが届いた職員が所定のフォルダに置き、毎晩取り込む
協会のサイトのお知らせサイトに記事を載せた載せた直後に、そのページの再クロールを依頼する

協会のサイトのお知らせは、載せた直後に再クロールを依頼します。 公式では、高度なインデックス登録のデータストアで recrawlUris を呼ぶと、指定したページを取り直します。呼び出しは1つのプロジェクトで1日20回まで、1回に1万ページまでで、24時間で打ち切られます。台風の日の臨時休館のように1日に何度も更新するお知らせは、数回分をまとめて依頼します。

Step2

入力データを集める

データ中身取得元
質問職員が入れた文、来訪の日、起点窓口の端末
施設の一覧名前、種類、位置(緯度・経度)、営業時間、定休日、臨時の休業の期間、料金、外国語の対応、最後に確かめた日、確かめた方法協会の表計算
イベントの一覧名前、会場の位置、開催の期間、時間、交通規制の有無、主催者協会の表計算
交通事業者の案内時刻表、臨時便、う回の案内、発行日、対象の期間交通事業者から届いたPDF
パンフレット地域の見どころ、散策のコース、季節の案内協会のPDF
協会のサイトお知らせ、イベントの案内のページ協会のドメイン

質を決めるのは、施設の一覧の「最後に確かめた日」と「確かめた方法」です。 加盟施設の届け出、職員の電話、施設の公式サイト。画面には営業時間と並べて必ず出し、確かめてから90日を過ぎたものには印を付けます。

加盟の有無は一覧に持たせますが、検索の並びには使いません。 一覧の列として持つのは、更新の依頼を誰に出すかを決めるためです。

Step3

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

施設とイベントの一覧は、表計算から毎晩 JSON に書き出して、構造化データとして取り込みます。 位置の項目は、緯度と経度の組にします。公式では、取り込むデータが緯度と経度の数を持つ組か住所の文字列なら geolocation として検出され、検出を切るとただの組として扱われます。住所の文字列で持つと位置の解釈が揺れるので、緯度と経度で持たせ、スキーマで型を決めておきます。

{"id":"fac-0412","name":"甘味処 さくら","category":["cafe","sweets"],
 "location":{"latitude":34.6851,"longitude":135.8048},
 "open_time":"10:00-17:00(L.O.16:30)","closed_days":"水曜(祝日の場合は翌日)",
 "closed_from":"2026-12-29T00:00:00+09:00","closed_to":"2027-01-03T23:59:59+09:00",
 "languages":["en"],"checked_date":"2026-09-20T00:00:00+09:00","checked_by":"phone"}

公式では、絞り込みや並べ替えに使う項目は索引可能(indexable)にする必要があり、索引可能にできる項目は50個まで、検索結果で返す(retrievable)項目も50個までです。

施設を探すときは、search メソッドに次のような絞り込みを付けます。 公式の構文では、位置の項目に GEO_DISTANCE(緯度, 経度, メートル) を書け、日時の項目を ISO 8601 の文字列と比べられ、NOT で否定できます。

location: GEO_DISTANCE(34.6828, 135.8020, 1200)
AND category: ANY("cafe","sweets")
AND NOT (closed_from <= "2026-10-15T12:00:00+09:00"
         AND closed_to >= "2026-10-15T12:00:00+09:00")

「歩いて15分」は、中継プログラムが1,200メートルに置き換えます。 直線の距離なので、川や線路で回り道になる場所は実際より近く出ます。画面には「直線の距離」と書きます。

search メソッドは一覧の項目をそのまま返すので、施設の行はAIの文を通りません。 返す項目は、名前、営業時間、定休日、臨時の休業の期間、外国語の対応、最後に確かめた日と方法に絞り、retrievable にしておきます。

定休日の曜日は、絞り込みではなく画面で見せます。 「水曜(祝日の場合は翌日)」のような書き方は、項目で正しく表すのが難しいからです。来訪の日の曜日と祝日を画面の上に出し、職員が定休日の欄と見比べます。

資料のアプリは、answer メソッドで呼びます。 交通事業者の案内とパンフレットはPDFのまま非構造化データとして、協会のサイトはウェブサイトのデータストアとして入れます。サイトのデータストアには、検索結果のページのような動的な URL を最初から除外します。 公式は、除外し忘れると索引が膨らんで費用が増え、その分は返金されないと注意しています。

Step4

AIへ渡す前に整形する

  1. 質問を振り分ける … 「近く」「開いている」「おすすめの店」など施設の種類を探す言葉なら一覧の検索、「バス」「電車」「規制」「何時まで」など交通とイベントの言葉なら資料の答えにします。両方の言葉があれば両方を呼びます
  2. 起点と距離を数にする … 起点の名前を緯度・経度に、「歩いて◯分」を1分80メートルでメートルに直します
  3. 来訪の日を付ける … 資料の答えの質問文の先頭に、来訪の日と曜日を付けます
  4. 終わった資料を外す … 対象の期間が過ぎた交通事業者の案内は、毎晩の取り込みの前に保管用のフォルダに移し、データストアから消します
  5. 協会のサイトの robots.txt を確かめる … 公式は、robots.txt で Google のクローラーを止めていると取り込めないので、許可するよう求めています

4番目で、終わった臨時便の案内を消すのは、去年の同じ祭りの案内が引かれるのを防ぐためです。 毎年同じ名前のイベントは、資料の文面もよく似ています。期間で絞る代わりに、期間が過ぎたものを置かない運用にします。

Step5

AIに処理させる

AIに文を作らせるのは、資料から答える質問だけです。 施設を探す質問では、AIは使いません。

させること中身
根拠を引用する時刻・乗り場・規制の範囲を、資料の文のまま
出どころと日付を示す交通事業者の案内か、協会のお知らせか、パンフレットか。発行日・掲載日
来訪の日に当てはまるかを書き分ける資料の対象の期間と来訪の日が重なるか
当日の確認が要るものを示す天候や混雑で変わると資料に書かれているもの
させないこと理由
時刻や料金を計算・推定する1本前・1本後の便を作ってしまう
施設をおすすめする案内所は公平な立場で案内する
資料に無い行き方を作る一般的な地図の知識で答えると、規制の日に案内を誤る
当日の運行を「平常どおり」と言う当日の情報は事業者の発表で確かめる

2つ目は、JNTOの外国人観光案内所の認定の区分にも関わります。 JNTOの説明では、観光案内を専業としないパートナー施設についても「公平・中立な立場で地域の案内を提供」することが基準に挙がっています。案内所の答えに「おすすめ」を入れるかどうかは職員が決め、AIの下書きには入れません。

answer メソッドの設定は次のようにします。

設定値理由
includeCitations有効根拠に出典を付ける(既定は無効)
ignoreLowRelevantContent有効関係の薄い資料で答えない
groundingSpec.filteringLevelFILTERING_LEVEL_HIGH根拠の弱い下書きを出さない
promptSpec.preamble下の指示答え方の規則を与える
relatedQuestionsSpec無効窓口で関連の質問を出しても使わない
Step6

指示内容を固定する

answer メソッドの promptSpec.preamble に、次の指示を入れます。中継プログラムは、来訪の日、曜日、起点を質問の文の先頭に付けます。

あなたは観光協会の観光案内所で、職員が旅行者の質問に答えるための
下書きを作る立場です。読むのは職員で、旅行者に伝える前に必ず
根拠の資料を確かめます。

【前提】
質問の文の最初に、来訪の日、曜日、起点が書かれています。
検索の対象は、交通事業者の案内、協会のパンフレット、協会の
サイトのお知らせです。

【答え方】
1. 質問に当たる時刻・乗り場・規制の範囲を、資料の文のまま引用する
2. 引用ごとに、出どころ(交通事業者/協会のお知らせ/パンフレット)
   と、発行日または掲載日を書く
3. 資料の対象の期間と来訪の日が重なるかを書く。重ならなければ
   「来訪の日の情報は見つかりませんでした」と書く
4. 天候や混雑で変わると資料に書かれていれば、その文を引用する
5. 以上を、職員が窓口で読み上げやすい、短い文にまとめる

【厳守事項】
- 時刻や料金を計算したり、資料に無い便を推定したりしないでください。
- 施設や店をおすすめしないでください。
- 資料に無い行き方、乗り換えを書かないでください。
- 当日の運行や開館を「平常どおり」「問題なく」と書かないでください。
- 去年の同じイベントの資料しか見つからないときは、
  その資料の年を書き、今年の情報ではないと書いてください。
- 根拠が見つからないときは、
  「資料で確認できませんでした」とだけ書いてください。

「去年の資料しか見つからないとき」を明記しないと、AIは去年の時刻を今年のものとして答えます。 前処理で終わった資料を外していても、外し忘れは起きます。年を書かせておけば、職員が読んで気づけます。

Step7

出力形式を固定する

中継プログラムが、2つの道の結果を次の形にまとめます。

{
  "query_id": "",
  "visit_date": "",
  "origin": "",
  "route": "facility | document | both",
  "facilities": [
    { "id": "", "name": "", "distance_m": 0, "open_time": "", "closed_days": "",
      "closed_today": false, "languages": [], "checked_date": "", "checked_by": "",
      "stale": false }
  ],
  "answer": { "text": "", "citations": [ { "source_kind": "operator | association | pamphlet",
              "title": "", "published_date": "", "quote": "", "uri": "" } ],
              "skipped": "" },
  "flags": []
}

施設の並びは、distance_m の小さい順だけです。 search メソッドの返り値に含まれる位置から、中継プログラムが起点からの直線の距離を計算して並べ直します。検索の関連度の順は使いません。 並べ方が職員から説明できる形にするためです。

stale は、checked_date から90日を過ぎたものに立てます。 画面ではその行の色を変え、「最後に確かめた日」を目立たせます。

flags立てる条件
same_day_check引用に天候・混雑で変わる旨の文がある、または臨時便・規制の資料が引かれた
old_year引用した資料の対象の期間が、来訪の日の年と違う
promo_words下書きに「おすすめ」「人気」「一押し」などの語がある(語を消して職員へ)
skippedanswerSkippedReasons が返った
Step8

システムへ連携する

つなぎ先方式内容
窓口の端末中継プログラムの画面質問、来訪の日、起点を受け取り、一覧と下書きを返す
アプリA(施設とイベント)search メソッド距離・種類・日付で絞った一覧
アプリB(資料)answer メソッド引用付きの下書き
協会のサイトrecrawlUrisお知らせを載せた直後に取り直す
情報の報告画面のボタンから表計算に1行足す職員が気づいた古い情報を担当へ

情報の報告は、そのまま一覧を直しません。 担当の職員が施設に確かめてから表計算を直し、checked_date と checked_by を書きます。

Step9

人が確認する

旅行者に伝えるのはいつも職員で、当日の情報は事業者の発表で確かめます。

  1. 日付と出どころを見る … 一覧の「最後に確かめた日」、下書きの発行日・掲載日を見ます
  2. same_day_check は事業者の発表を確かめる … 交通事業者の運行情報、施設のお知らせを開きます
  3. 英語で伝えるときも、日本語の下書きの数字で伝える … 時刻や料金は、引用の数字を見ながら伝えます
  1. stale の施設は電話で確かめるか、そう伝える … 時間があれば施設に電話し、無ければ「◯月◯日時点の情報です」と添えて伝えます

2番目は、繁忙期ほど省かれがちです。 列ができていても、臨時便と規制だけは確かめてから伝えます。

臨時の職員には、最初の1週間、ベテランが隣で画面の読み方を教えます。 見るのは答えの文ではなく、出どころと日付の欄です。ここを読む癖がつけば、ベテランと同じ根拠で答えられるようになります。

Step10

例外に対処する

起きること対応
起点を緯度・経度に直せない案内所を起点にし、画面に「起点:案内所」と出す
条件に合う施設が0件距離を倍にして再検索し、「1.2km以内には無く、2.4km以内の結果です」と出す
来訪の日の資料が無い「来訪の日の情報は見つかりませんでした」と出し、事業者への確認を勧める
協会のサイトの再クロールが1日の上限に達した翌日に回し、そのお知らせを職員の画面の上に固定で出す
下書きに「おすすめ」などの語が出た語を消し、promo_words で職員へ
英語で答える必要がある日本語の下書きを先に確かめ、要るときだけ answerLanguageCode に en を入れて英語の下書きを作り直す。時刻と料金は日本語の引用の数字で伝える
施設が一覧に無い(新しく開いた店など)「一覧にありません」と出し、職員が報告のボタンで担当に知らせる
来訪の日が先すぎる(数か月先)臨時便やイベントの資料はまだ無いことが多い。「時期が近づいてから確かめてください」と添える
検索の呼び出しが失敗した職員が従来どおり表計算と資料を開く
Step11

記録を残す

  • 質問、来訪の日、起点、振り分けの結果
  • search メソッドの絞り込みの条件と、返った施設の一覧
  • answer メソッドの返り値の全文(answerText、citations、answerSkippedReasons)
  • flags、職員が押した「情報が違う」の報告と、その後の修正
  • 質問の言葉の集計(多く聞かれる施設の種類・イベント・交通)

最後の行は、パンフレットとサイトを直す材料になります。 同じ質問が毎日来るなら、案内所の掲示かサイトのお知らせで先に答えられます。

「情報が違う」の報告は、施設ごとの件数を月に一度数えます。 同じ施設の報告が続くなら、その施設との更新の連絡の取り方を見直します。加盟施設なら届け出の様式、非加盟の施設なら職員が確かめる周期を決め直します。

04実装レベルの3段階

最小構成:表計算に位置を足して絞り込み、交通の質問は手元のAIサービスに資料を貼る / 施設の候補選びと、資料からの答え
半自動化:上記+施設とイベントを構造化データ、資料をデータストアに取り込み、職員が簡単な検索の画面に起点と距離を打ち込んで使う / 距離と日付の絞り込み、引用付きの答え
本格構成:上記+窓口の端末の画面、質問の振り分け、距離の順の並べ直し、協会のサイトの取り込みと再クロール、語の照合、情報の報告 / 質問の入力から一覧と下書きまで

最小構成でも、施設の質問はかなり速くなります。 緯度と経度の列を足すだけで、表計算で距離の順に並べられるからです。 半自動化で、5分が3分程度になります。 資料を探す時間は減りますが、起点や距離を職員が打ち込む手間と、協会のサイトが検索に入っていない分の確認が残ります。本格構成で2分になり、この段階が本記事の想定です。

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

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

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

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

AI活用について相談する

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

向いている
  1. 駅前や観光地の中心で観光案内所を運営し、窓口と電話で毎日数十件の質問を受けている観光協会・観光の公社・自治体の観光の窓口。観光施設・飲食店・宿の加盟も非加盟も含めて案内し、案内の公平さが求められる場合。季節のイベントや臨時のバスが多く、パンフレットと協会のサイトと交通事業者の案内が別々にある場合。案内の質がベテランの職員の記憶に頼っていて、季節の臨時の職員が多い場合。
向いていない
  1. 質問の数が少なく、職員全員が地域の情報を把握している小さな案内所。旅行者が自分で使うチャットを作りたい場合(この構成は職員が使い、職員が確かめてから案内する前提です)。宿や施設の予約・販売までを窓口で完結させたい場合(予約の仕組みの話です)。協会が自分のサイトのドメインを確認できず、サイトのお知らせを検索に入れられない場合。

07最小構成で試す方法

  1. 施設の一覧から、よく聞かれる種類(食事、甘味、土産、トイレ、コインロッカー)の100件を選び、表計算に緯度・経度の列を足す
  2. 過去1か月の窓口の質問から30件を選ぶ(祭りの日の交通、臨時休館、定休日の祝日の扱いを数件入れる)
  3. 施設の質問は、表計算の絞り込みと並べ替えだけで、距離と営業日で選べるかを試す
  4. 交通とイベントの質問は、手元のAIサービスに交通事業者の案内とお知らせを貼り、第7章の指示で答えを作らせる
  5. 当時の職員の答えと突き合わせる
出てきた内容判断
表計算の絞り込みで施設の候補が出せた一覧の検索はAIを使わずに作れる
交通の答えが資料の時刻のまま出た資料のアプリの取り込みに進む
去年の時刻を今年として答えた終わった資料を置かない運用と、年を書かせる指示が要る
「おすすめ」を書いた語の照合を最初から作る

1行目が出たら、それで構いません。 施設を探す半分の質問はAIの生成なしで答えられる、ということが分かります。

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

問題対策
去年のイベントの時刻を答える期間の過ぎた資料を置かない。年を書かせる
加盟施設ばかりが上に出る並びは距離の順だけにし、関連度や加盟の有無を使わない
直線の距離で近く見えるが、実際は遠い画面に「直線の距離」と書く。川や線路を越える起点は職員が補う
定休日の祝日の扱いを誤る定休日は絞り込みに使わず、来訪の日の曜日と祝日を画面に出す
協会のサイトの変更が反映されない載せた直後に recrawlUris を呼ぶ。上限に達したら画面に固定で出す
施設のサイトを検索に入れようとして入らない高度なインデックス登録はドメインの確認が要る。施設の情報は一覧に書き写す
動的な URL が索引に入り費用が膨らむ作るときに除外の URL を設定する
「おすすめ」が下書きに入る指示で禁じ、語の照合で消す

上の2行が、案内所の信頼に直接ひびく失敗です。 去年の時刻は旅行者の帰りの足を、並びの偏りは地域の施設との関係を損ないます。どちらも、AIの外の運用と並べ方の規則で防ぎます。

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

この構成で扱うデータ: 施設とイベントの一覧、交通事業者の案内、パンフレット、協会のサイトの公開の情報、職員が入れた質問の文です。旅行者の名前や連絡先は扱いません。

  1. 旅行者に直接使わせない … 生成された文が旅行者に直接届く画面は作りません。旅行者には子どもや未成年の人も含まれるので、職員だけが使う道具にとどめます
  2. 公平な並びを守る … 加盟の有無や広告の出稿で並びを変えないことを、協会の規程として決めておきます。並べ方の規則を職員が説明できる形にします
  3. 質問の文に個人の情報を入れない … 旅行者の名前や泊まっている宿の部屋番号は入れないよう、職員に伝えます
  4. 当日の情報を保証しない … 臨時便、規制、臨時休館は、事業者の発表が正です。この構成の答えは、資料に書かれていることまでです
  5. データの置き場所を確かめる … データストアの場所は global・us・eu から選びます。扱うのは公開の情報が中心ですが、職員の質問の記録をどこに置くかは協会の規程で決めます

誤りが起きた場合のリスクは、終わった時刻や古い営業日を旅行者に伝え、旅行者が困ることと、案内の偏りで地域の施設の信頼を失うことです。 前者は資料の運用と年の表示で、後者は距離の順の並べ方で防ぎます。

10まず何から始めるか

1週目:施設の一覧に位置と確認日をそろえる

よく聞かれる種類の施設から100件、緯度・経度、最後に確かめた日、確かめた方法を表計算に足します。加盟の有無の列は残しますが、並べ替えに使わないことを職員で確かめます。

2週目:30件で試す

表計算の絞り込みで施設の質問を、手元のAIサービスで交通の質問を試します。去年の時刻を答えていないか、「おすすめ」を書いていないかを最優先で見ます。

3週目:協会のサイトのドメインを確かめ、データストアを作る

協会のサイトのドメインの確認を済ませ、robots.txt を見直し、除外する動的な URL を決めます。施設とイベントの構造化データ、資料、サイトのデータストアを作ります。

4週目:職員が簡単な検索の画面で使う

簡単な検索の画面で、職員が施設と資料を検索して窓口で使います。「情報が違う」と気づいたものを毎日集めます。

2か月目: 窓口の端末の画面、振り分け、距離の順の並べ直し、再クロールの依頼を作ります。3か月目以降: 残りの施設を一覧に足します。施設の「最後に確かめた日」が90日以内にそろい、お知らせを載せたその日に案内所の答えが変わる状態になった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-15/最終更新:2026-10-23
確認した内容情報源確認日
Vertex AI Search が Agent Search へ改称中であること。answer メソッドの includeCitations(既定は false)、ignoreLowRelevantContent、promptSpec.preamble、groundingSpec の filteringLevel、answerSkippedReasons、relatedQuestionsSpec、答えの言語を BCP47 の言語タグで指定する answerLanguageCode。ウェブサイトのデータストアで答えの機能を使うには高度なインデックス登録が要ることGoogle Cloud: Get answers and follow-ups2026-10-15
絞り込みの構文で、位置の項目に GEO_DISTANCE(緯度, 経度, メートル) を書けること、日時の項目を ISO 8601 の文字列と比べられること、ANY()・AND/OR/NOT と括弧が使えることGoogle Cloud: Filter custom search for structured or unstructured data2026-10-15
スキーマの型に geolocation と datetime があり、緯度と経度の組または住所の文字列が geolocation として検出されること。indexable・retrievable にできる項目がそれぞれ50個までであることGoogle Cloud: Provide or auto-detect a schema2026-10-15
ブレンド検索はアプリの作成時に2つ以上のデータストアを選ぶ必要があり、1つで作ると後から足せないこと。ウェブサイトのデータストアをブレンド検索に使うには高度なインデックス登録が要ることGoogle Cloud: Create a data store and ingest data2026-10-15
高度なインデックス登録のデータストアで recrawlUris により指定のページを取り直せること、1つのプロジェクトで1日20回まで、1回に1万ページまで、24時間で打ち切られること、URI のパターンではなく個々のページを指定することGoogle Cloud: Refresh web pages using automatic and manual refresh2026-10-15
ウェブサイトのデータストアの含める・除外する URL のパターンの数(基本の検索は50、高度なインデックス登録は500)、動的な URL を除外すること、除外し忘れによる索引の費用は返金されないこと、robots.txt でクローラーを許可する必要があることGoogle Cloud: Prepare data for ingesting2026-10-15
データストアの場所が global・us・eu で、日本のリージョンが無いことGoogle Cloud: Locations2026-10-15
JNTO が観光庁の「外国人観光案内所の設置・運営のあり方指針」(令和5年3月改定)に基づき認定制度を運用し、カテゴリー1〜3とパートナー施設に分けていること。パートナー施設の基準に「公平・中立な立場で地域の案内を提供」とあること日本政府観光局(JNTO): 外国人観光案内所の認定2026-10-15

案内の内容は、施設・交通事業者・主催者の発表を正としてください。 本記事は Google Cloud の公式ドキュメントと JNTO の公開ページで確認できた範囲だけを扱っています。

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

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

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

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