自治体の職員が出す「この場面で誰が何をするか」の質問に、地域防災計画・避難所運営マニュアル・職員初動マニュアルから該当箇所とページを示して答える
職員から出る「この場面で誰が何をするか」の質問に、地域防災計画・職員初動マニュアル・避難所運営マニュアルから該当箇所を引いて答えます。担当の班、行動、時期を、冊子の名前とページを添えて返します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- 教育/自治体
- 対象部門
- 総務
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 問い合わせが多い/引き継ぎができていない/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 対応スピード向上/教育コスト削減/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 職員が計画やマニュアルのPDFを開き、目次から自分の班や場面の箇所を探す
- 見つからない、または読んでも分からないときは、危機管理課に電話かメールで聞く
- 危機管理課の職員が、計画・マニュアル・配備の名簿を開いて該当箇所を探す
- 職員に答える。書かれていない事項は、課内で相談してから答える
- 同じ質問が多いものは、研修の資料に足す
- 人職員が庁内のポータルの検索画面で質問する
- 自動中継プログラムが職員の配備の名簿から、その職員の所属の課と災害時の班を引く
- 自動中継プログラムが、質問の中の新しい防災気象情報の名前に、計画に書かれた古い名前を併記する
- 自動Agent Search(Vertex AI Search)の answer メソッドが、職員の班を踏まえて計画とマニュアルの条項を引き、引用付きの回答を返す
- 自動引用されたチャンクについて、search メソッドでページと前後のチャンクを取り、冊子の名前とページを添える
- 自動回答が作られなかった質問、根拠が弱い回答は、「計画に記載なし」の候補として危機管理課の一覧へ回す
- 人危機管理課が一覧を見て職員に答え、計画の見直しの候補に印を付ける
各工程の詳しい説明を読む
- 職員が計画やマニュアルのPDFを開き、目次から自分の班や場面の箇所を探す
- 見つからない、または読んでも分からないときは、危機管理課に電話かメールで聞く
- 危機管理課の職員が、計画・マニュアル・配備の名簿を開いて該当箇所を探す
- 職員に答える。書かれていない事項は、課内で相談してから答える
- 同じ質問が多いものは、研修の資料に足す
(a)計画が厚く、探す場所が分からない。 配備の基準は本編の「応急対策計画」の章、班の任務は資料編の表、避難所の開設の手順は避難所運営マニュアル。どの冊子のどこを見ればよいかが分かるのは、計画を作った職員だけです。
(b)同じ質問が危機管理課に集中する。 異動の直後と研修の前には、同じ「自分は何配備か」が各課から届きます。 危機管理課は、本来の計画の見直しや訓練の準備に使う時間を、質問への回答に使います。
(c)異動で役割の引き継ぎが途切れる。 災害時の班は所属の課で決まり、異動すると班も変わります。前任者から引き継ぐのは平時の事務が中心で、災害時の役割はほとんど引き継がれません。
(d)情報の名前が変わる。 令和8年5月29日から、気象庁の新しい防災気象情報の運用が始まり、例えば大雨警報は「レベル3大雨警報」という名前になりました。計画の配備の基準が古い名前のまま書かれていると、職員は「レベル3大雨警報」で計画を探しても見つけられません。
(e)書かれていない事項が埋もれる。 危機管理課が口頭で答えた「書かれていない事項」は、答えた職員の記憶に残るだけで、次の計画の修正のときに拾われません。
- 【人】 職員が庁内のポータルの検索画面で質問する
- 【自動】 中継プログラムが職員の配備の名簿から、その職員の所属の課と災害時の班を引く
- 【自動】 中継プログラムが、質問の中の新しい防災気象情報の名前に、計画に書かれた古い名前を併記する
- 【自動】 Agent Search(Vertex AI Search)の answer メソッドが、職員の班を踏まえて計画とマニュアルの条項を引き、引用付きの回答を返す
- 【自動】 引用されたチャンクについて、search メソッドでページと前後のチャンクを取り、冊子の名前とページを添える
- 【自動】 回答が作られなかった質問、根拠が弱い回答は、「計画に記載なし」の候補として危機管理課の一覧へ回す
- 【人】 危機管理課が一覧を見て職員に答え、計画の見直しの候補に印を付ける
3番目が、この設計の分かれ目です。 計画の修正が新しい情報の名前に追いついていない間は、職員の言葉と計画の言葉がずれます。 名前の対応表で質問に古い名前を足し、回答には「計画の記載は旧名称」と添えます。
6番目で集めた質問が、計画の修正の材料になります。 答えられなかった質問は失敗ではなく、計画に書かれていない場面がどこにあるかを示す記録です。
02今回想定するシステム構成
地域防災計画(本編・資料編) 職員初動マニュアル 避難所運営マニュアル │ 冊子・版・施行日・章節を付ける ▼ Cloud Storage ── メタデータ(JSON Lines) 職員の配備の名簿(データベース) ▼ 情報名の対応表(新旧) Agent Search(Vertex AI Search)── データストア(レイアウト パーサー、チャンク分割) ▲ │ answer メソッド(引用、根拠の強さ、職員の班) │ search メソッド(CHUNKS:ページと前後のチャンク) 中継プログラム(Python、Cloud Run) ├──▶ 配備の名簿:所属の課と災害時の班 ├──▶ 情報名の対応表:新しい名前に旧名を併記 └──▶ 回答なし・根拠が弱い →「計画に記載なし」の一覧 ▲ 庁内ポータルの検索画面 ──【トリガー】職員の質問
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッドと search メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、ポータル・配備の名簿・対応表・一覧をつなぐ) | Node.js で同じものを書く |
| 保管 | Cloud Storage(計画とマニュアルの写しとメタデータ、質問の記録) | ─ |
配備の名簿と計画の原本には、この構成から書き込みません。 名簿から所属の課と班を読み、計画とマニュアルの写しを置くだけです。計画の修正は、これまでどおり防災会議と危機管理課の手続きで行います。
土台は、Agent Search の answer メソッドです。 公式のドキュメントでは、Vertex AI Search は Agent Search へ改称中とされています。answer メソッドは検索の結果から回答を作り、includeCitations(既定は無効)で引用を付けられます。関係の薄い内容では答えない設定(ignoreLowRelevantContent)と、根拠の強さで回答を落とす設定(groundingSpec の filteringLevel)を使います。
ページは search メソッドで取ります。 公式では、search メソッドの結果をチャンクの単位(searchResultMode を CHUNKS)で受けると、チャンクの元になった文書のページの範囲(pageSpan)が返り、前後のチャンクを最大5つずつ一緒に受け取れます。answer メソッドと search メソッドは組み合わせて使えるとされています。 回答の引用に出た文書と同じ質問で search メソッドを呼び、ページと前後の手順を画面に添えます。
取り込みには、レイアウト パーサーとチャンク分割を使います。 レイアウト パーサーは段落・表・リスト・見出しを検出し、チャンクの大きさは100〜500トークン(既定500)です。includeAncestorHeadings で章・節の見出しを各チャンクに付けます。 班の任務の表が単独で引かれても、「第3編 第2章 第4節 避難所の開設」の中の表だと分かるようにするためです。
03どうやって実装するのか
処理の起点を決める
職員が庁内のポータルの検索画面で質問を送ったときに動かします。 検索画面は庁内のネットワークとアカウントでだけ使えるようにし、住民向けのWebサイトには置きません。 職員の所属と班は、ログインしたアカウントから配備の名簿で引きます。
もう1つの起点は、計画とマニュアルの修正です。 防災会議で計画を修正したとき、マニュアルを改訂したとき、新しい版のPDFを決まった場所に置き、施行日を付けて取り込みます。 古い版は失効日を付けて残します。
職員の配備の名簿は、人事異動の発令のたびに更新します。 名簿が古いと、異動した職員に前の課の班で答えることになります。4月の異動の前日に名簿を差し替える手順を、危機管理課と人事課で決めておきます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 職員の質問 | 検索画面の本文 | 庁内ポータル |
| 職員の所属と班 | 所属の課、災害時の班、避難所の担当(あれば担当する避難所) | 職員の配備の名簿 |
| 地域防災計画 | 本編(総則・予防・応急対策・復旧)と資料編(班の任務の表・配備の基準の表) | データストア(Agent Search) |
| 職員初動マニュアル | 参集の基準、参集の場所、初動の行動、連絡の手順 | データストア |
| 避難所運営マニュアル | 開設の手順、受付、要配慮者の対応、物資、閉鎖 | データストア |
| 情報名の対応表 | 新しい防災気象情報の名前と、計画に書かれた旧い名前の組 | データベース |
質を決めるのは、2行目の職員の班です。 同じ「震度5弱で何をするか」でも、班によって答えが違います。班が分かっていれば、その班の任務の箇所を引いて答えられます。
職員の連絡先や住所は使いません。 参集の連絡網には職員の個人の電話番号が載っていますが、この構成に入れるのは所属と班だけです。 連絡網のページは、取り込みの前に計画の写しから外します。
データの取得方法を決める
文書ごとのメタデータは、JSON Lines で次のように書きます。
{"id": "plan-main-r8", "structData": {"title": "地域防災計画 本編(令和8年修正)", "book": "plan_main", "audience": "staff", "effective_from": "2026-06-01T00:00:00+09:00", "effective_to": "9999-12-31T00:00:00+09:00"}, "content": {"mimeType": "application/pdf", "uri": "gs://city-bousai/plan/main_r8.pdf"}}
{"id": "shelter-manual-r8", "structData": {"title": "避難所運営マニュアル(令和8年版)", "book": "shelter_manual", "audience": "staff", "effective_from": "2026-04-01T00:00:00+09:00", "effective_to": "9999-12-31T00:00:00+09:00"}, "content": {"mimeType": "application/pdf", "uri": "gs://city-bousai/manual/shelter_r8.pdf"}}
answer メソッドの呼び出しは、次のようになります。
POST .../engines/bousai-staff/servingConfigs/default_search:answer
{
"query": { "text": "レベル3大雨警報(旧:大雨警報)が出たとき、避難所班は参集しますか" },
"searchSpec": {
"searchParams": {
"filter": "audience: ANY(\"staff\") AND effective_from <= \"2026-10-14T00:00:00+09:00\" AND effective_to > \"2026-10-14T00:00:00+09:00\""
}
},
"groundingSpec": { "filteringLevel": "FILTERING_LEVEL_HIGH", "includeGroundingSupports": true },
"answerGenerationSpec": {
"includeCitations": true,
"ignoreAdversarialQuery": true,
"ignoreNonAnswerSeekingQuery": true,
"ignoreLowRelevantContent": true,
"promptSpec": { "preamble": "(次の小見出しの指示)" }
},
"endUserSpec": {
"endUserMetadata": [
{ "chunkInfo": { "content": "所属は教育委員会学校教育課。災害時の班は避難所班。担当する避難所は第三小学校。",
"documentMetadata": { "title": "職員の所属と災害時の班" } } }
]
}
}
絞り込みの ANY() は、列挙した値との完全一致です。 住民向けの資料も同じデータストアに入れる場合は、audience で職員向けだけに絞ります。絞り込みに使う項目は、スキーマで索引可能にしておく必要があり、施行日は ISO 8601 の日時の文字列で比べられます。
endUserMetadata には所属と班だけを入れます。 公式では、ログインした利用者のプロフィールの情報を入れて回答を個人に合わせられ、文字列の上限は8,000文字です。職員の氏名・職員番号・連絡先は入れません。
ページと前後の手順は、search メソッドを次の形で呼んで取ります。
POST .../servingConfigs/default_search:search
{
"query": "避難所班 参集 大雨警報",
"pageSize": 3,
"filter": "audience: ANY(\"staff\") AND effective_to > \"2026-10-14T00:00:00+09:00\"",
"contentSearchSpec": {
"searchResultMode": "CHUNKS",
"chunkSpec": { "numPreviousChunks": 1, "numNextChunks": 1 }
}
}
前後のチャンクを1つずつ取るのは、手順が途中で切れないようにするためです。 避難所の開設の手順は「1. 鍵の受け取り」から「8. 本部への報告」まで続き、1つのチャンクには収まりません。 回答の引用の前後を画面に並べ、職員が手順の流れで読めるようにします。search メソッドにも answer メソッドと同じ絞り込みを渡し、失効した版のページを表示しないようにします。 絞り込みを付け忘れると、回答は新しい版なのにページだけ古い版を指す、という食い違いが起きます。
AIへ渡す前に整形する
- 見出しの整え … 計画の編・章・節の見出しが、PDF の見出しとして検出されるように整えます
- 班の任務の表の確認 … 資料編の班の任務の表が、表として検出されるかを確かめます。画像で貼られた表は、文字の表に作り直します
- 連絡網と個人の情報の除去 … 職員の電話番号・住所が載ったページを、写しから外します
- メタデータの付与 … 冊子・対象(職員向け・住民向け)・版・施行日と失効日を JSON Lines に書きます
- 情報名の対応表の作成 … 気象庁の新しい情報の名前と、計画に書かれた旧い名前の組を表にします。計画を修正して新しい名前に直したら、その組を外します
- 配備の名簿の取り込み … 人事異動のたびに、所属の課と班と担当の避難所を取り込みます
2番目を軽く見ないでください。 班の任務の表は、計画の中でいちばん引かれる箇所です。画像のまま貼られた表は文字として読めず、「誰が何をするか」の質問にいちばん答えられない形になります。
AIに処理させる
させるのは、職員の班を踏まえて、計画とマニュアルの条項を引いて答えることだけです。
| させること | 中身 |
|---|---|
| 回答 | 担当の班、行動、時期(配備の段階・参集の基準)を、計画に書かれているとおりに答える |
| 引用 | 回答の文ごとに、根拠の条項を引用として返す |
| 職員の班への当てはめ | 渡された班の任務の箇所を優先して答える |
| 書かれていないことの区別 | 計画とマニュアルに書かれていなければ、書かれていないと答える |
| させないこと | 理由 |
|---|---|
| 計画に無い役割を決める | 計画の修正は防災会議と危機管理課の仕事 |
| 配備・避難情報の判断を示す | 本部と市長が決める |
| 新しい情報の名前で計画を読み替える | 対応表の組を添えるだけにし、計画の記載はそのまま示す |
| 他の市町村の例や一般論で補う | 職員が従うのはこの市の計画 |
| 職員の個人の事情を考える | 渡すのは所属と班だけ |
1行目がいちばん起きやすい失敗です。 計画に書かれていない場面を聞かれると、AIは「一般的には福祉班が対応します」と一般論で答えます。職員はそれを計画の記載だと思って覚えます。 書かれていないことは、書かれていないと答えさせ、危機管理課の一覧に回します。
3行目も同じくらい大事です。 「レベル3大雨警報で第1配備」と計画を読み替えて答えると、計画の修正の前にAIが計画を書き換えたことになります。 回答は計画の記載のまま示し、名前の対応は別の欄に添えます。
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます。
あなたは市の危機管理課として、職員からの災害時の役割の質問に答えます。
検索で見つかった地域防災計画・職員初動マニュアル・避難所運営マニュアルだけを根拠にしてください。
【答え方】
- 「担当(班)」「行動」「時期(配備の段階・参集の基準)」の順に、短く答えてください。
- 職員の所属と班を渡しています。その班の任務の箇所を優先してください。
- 冊子の名前と、編・章・節を必ず添えてください。
- 計画の記載が古い情報の名前(例:大雨警報)のときは、計画の記載のまま示し、
「計画の記載は旧名称です」と添えてください。
【厳守事項】
- 計画とマニュアルに書かれていない役割や手順を答えないでください。
「計画に記載がありません。危機管理課に確認してください」と答えてください。
- 一般論、他の自治体の例、国のガイドラインの一般的な記述で補わないでください。
- 配備をかけるか、避難情報を出すか、避難所を開くかの判断を示さないでください。
- 新しい情報の名前に合わせて、計画の基準を読み替えないでください。
- 職員の安全に関わる行動(浸水した道の通行など)は、計画の記載がなければ答えず、
「安全を最優先し、本部の指示に従ってください」とだけ添えてください。
「国のガイドラインの一般的な記述で補わない」を入れるのは、データストアに国の資料を入れたくなるからです。 内閣府のガイドラインを入れると、計画に書かれていない場面でガイドラインの一般的な記述を拾って答えます。職員にとって、それは自分の市の決まりではありません。 国の資料は、入れるなら別のデータストアにします。
出力形式を固定する
answer メソッドと search メソッドの応答から、中継プログラムが次の形に組み直して画面に返します。
{
"question": "",
"staff_team": "",
"answer_text": "",
"citations": [
{ "doc_id": "", "book": "", "section": "", "page_start": 0, "page_end": 0,
"prev_chunk": "", "next_chunk": "" }
],
"name_mapping": [ { "new_name": "", "name_in_plan": "" } ],
"route": "answered | not_in_plan_candidate",
"route_reason": "",
"doc_versions": []
}
1つ目の理由は、page_start と page_end で冊子のページを示せることです。 search メソッドが返すページの範囲をそのまま入れます。職員は画面を見ながら、手元の冊子に付箋を貼れます。
2つ目は、name_mapping で名前の対応を回答と分けて示せることです。 対応表の組は中継プログラムが入れ、回答の文には混ぜません。 計画を修正して名前が直ったら、この欄は空になります。
3つ目は、route で「計画に記載なし」の候補を集められることです。 answerSkippedReasons が返ったもの、根拠の強さで落ちたもの、回答の文に「記載がありません」が入ったものを not_in_plan_candidate にします。危機管理課はこの一覧を、計画の見直しの会議に持って行きます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 庁内ポータル | 検索画面から中継プログラムを呼ぶ | 質問の送信、回答と引用とページの表示 |
| 職員の配備の名簿 | 読み取り | 所属の課・班・担当の避難所 |
| Agent Search | answer メソッド、search メソッド(CHUNKS) | 条項の回答、ページと前後のチャンク |
| 情報名の対応表 | 読み取り | 新しい名前と計画の旧名の組 |
| 危機管理課の一覧 | 表計算またはタスクの一覧 | 「計画に記載なし」の候補と理由 |
人が確認する
- 「計画に記載なし」の一覧を見る … 危機管理課が毎週一覧を見て、職員に答え、計画の見直しの候補に印を付けます
- 回答の抜き取り … 毎月30件の回答を抜き取り、引用とページと回答が合っているかを読みます
- 修正の前後で試す … 計画とマニュアルを修正したら、よくある質問20件で、新しい版の条項が引かれるかを確かめます
- 訓練で使う … 避難所の開設訓練の前に、担当の職員がこの画面で手順を確かめ、冊子のページに印を付けてから訓練に入ります
4番目が、この構成の使い方の中心です。 平時に画面で確かめ、冊子のページを覚えておく。災害の当日に頼るのは冊子と本部の指示で、この画面ではありません。
目標は、150件をならして1件6分です。 職員が回答とページを読んで冊子で確かめるのに4分、危機管理課が一覧の質問に答えるのを全体でならして2分という見込みです。
例外に対処する
| 起きること | 対応 |
|---|---|
回答が作られない(answerSkippedReasons が返る) | 「計画に記載なし」の候補として一覧へ。職員には危機管理課の確認を案内する |
| 根拠の強さの水準で回答が落ちる | 同じく一覧へ。理由を残す |
| 配備の名簿に職員がいない(新任・異動の直後) | 班を渡さずに答え、「班が登録されていません」と表示して人事課の確認を案内する |
| 引用のページが取れない | 冊子と章節だけを表示し、ページの欄を空にする |
| 修正の施行日をまたぐ質問 | 両方の版の条項を引用し、施行日を添える |
| 災害の発生中に使われる | 画面の上に「本部の指示と冊子を優先してください」と常に表示する。回答の速さを保証しない |
| 個人の事情の相談(家族の介護で参集できない) | 回答を作らず、所属長と危機管理課への相談を案内する |
6行目は、設計の前提です。 大きな災害では、庁舎のネットワークや外部のサービスが使えないことがあります。この構成は平時の確認と訓練のためのもので、当日の手順は紙の冊子で回る前提を崩しません。
記録を残す
- 質問、渡した班、回答、引用、ページ、日時
- そのとき使った絞り込みと、引用した文書の版
- 名前の対応表の組(使ったもの)
- 「計画に記載なし」の候補と、危機管理課が付けた扱い(回答済み・見直しの候補・対象外)
- 抜き取りで見つけた誤りと、直した箇所
4行目が、毎年の計画の見直しの材料になります。 1年分の「記載なし」を場面ごとに数えると、どこを書き足せば職員が迷わなくなるかが、件数で分かります。
04実装レベルの3段階
半自動化で、1件16分が10分程度になります。 危機管理課が探す時間は消えますが、質問した職員が探す時間と、危機管理課が答える時間が残ります。本格構成で6分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で1か月使うと、表として読めない箇所と、名前のずれで引けない箇所が分かります。そこを直してから職員に直接使ってもらいます。
05工数削減シミュレーション
導入後 150件 × 6分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 人口数万〜数十万の市町村で、地域防災計画(本編・資料編)が数百ページあり、職員初動マニュアルや避難所運営マニュアルが別の冊子になっている場合。人事異動・新任の職員・避難所の担当職員の研修・出水期前の訓練のたびに、「自分はどの班で、何配備で参集し、何をするのか」という質問が危機管理課に毎月百件を超えて届く場合。計画とマニュアルのPDFを毎年の修正のたびに差し替えている場合。
- 職員が数十人の町村で、危機管理の担当が全員の役割を口頭で伝えられる場合。地域防災計画やマニュアルがまだ整っておらず、班の任務が文書に書かれていない場合(先に計画の整備が要ります)。災害が起きている最中の指揮や判断をAIの回答に頼りたい場合(本記事は平時の確認と訓練のための構成です)。なお、配備の決定、避難情報の発令、避難所の開設の判断は、この構成では代替できません。
07最小構成で試す方法
- 去年度に危機管理課に届いた質問から、30件を選ぶ(計画に書かれていなかった質問を必ず含める)
- 地域防災計画の本編・資料編と、避難所運営マニュアルを用意する
- 手元のAIサービスに冊子を渡し、「質問した職員は避難所班です。冊子に書かれていることだけを根拠に、担当・行動・時期を、冊子の名前と章節とページを添えて答えてください。書かれていなければ、書かれていないと答えてください」と指示して、30件を1件ずつ聞く
- 出てきた回答を、危機管理課が実際に答えた内容と比べる
| 出てきた内容 | 判断 |
|---|---|
| 危機管理課と同じ答えがページ付きで出た | データストアと名簿のつなぎに進む |
| 書かれていない質問に一般論で答えた | 指示と根拠の強さの設定で直る。構成は有効 |
| 班の任務の表が読めず答えられない | 表を文字の表に作り直すのが先 |
3行目が出ることは珍しくありません。 それは失敗ではなく、資料編の表が画像で貼られていることが分かったということです。 作り直した表は、紙の冊子にとっても読みやすくなります。
試すときは、異動してきたばかりの職員にも回答を見てもらってください。 その職員が「これなら課に聞かずに済んだ」と言える回答の数が、この構成の価値です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 書かれていない場面に一般論で答える | 指示で禁じ、根拠の強さで落とし、一覧へ回す |
| 新しい情報の名前で計画が引けない | 対応表で質問に旧名を併記する |
| 計画を新しい名前で読み替えて答える | 回答は計画の記載のまま、対応は別の欄に |
| 班の任務の表が画像で読めない | 文字の表に作り直す |
| 引用の箇所がどの編・章か分からない | includeAncestorHeadings で見出しを付ける |
| 手順が途中で切れて表示される | search メソッドで前後のチャンクを取る |
| 異動した職員に前の班で答える | 異動の発令に合わせて名簿を差し替える |
| 連絡網の電話番号が回答に出る | 写しから連絡網のページを外す |
| 国の資料を混ぜて一般論が増える | 職員向けの計画と別のデータストアにする |
| 災害の当日にこの画面に頼る | 冊子と本部の指示を優先する表示を常に出す |
| 引用の位置がずれて表示される | 引用の開始と終了の位置はバイト単位。文字数で切らない |
上の3行が、この構成の失敗のほとんどです。 どれも「計画に書かれていないことを、計画の記載のように答える」失敗です。書かれていないことは書かれていないと返し、その記録を計画の修正に回します。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 地域防災計画とマニュアル、職員の所属と災害時の班、職員の質問です。計画には、避難所の鍵の保管場所や備蓄の場所など、広く公開していない情報が含まれることがあります。
- 職員だけが使う … 検索画面は庁内のネットワークとアカウントでだけ使えるようにし、住民向けのWebサイトには置きません
- 個人の情報を入れない … 連絡網のページを写しから外し、
endUserMetadataには所属と班だけを入れます - 非公開の情報の扱いを決める … 鍵の保管場所や備蓄の場所のページを入れるかは、危機管理課と情報政策の担当で決めます。入れるなら、見られる職員を絞る設計にします
- 判断を代替しない … 配備・避難情報・避難所の開設の判断は本部と市長が行います。回答はその判断に使う材料ではなく、職員自身の役割の確認です
- 災害の当日の前提を崩さない … 外部のサービスに頼らずに動けるよう、紙の冊子と本部の指示で回る体制を保ちます
誤りが起きた場合のリスクは、計画に無い役割を職員が覚えてしまうことと、非公開の情報が庁外に出ることの2つです。 前者は「記載なし」の扱いと抜き取りで、後者は利用範囲と取り込む範囲の設計で防ぎます。
10まず何から始めるか
1週目:冊子を読める形にする
計画の見出しを整え、資料編の班の任務の表を文字の表に作り直します。連絡網と個人の情報のページを、写しから外します。
2週目:30件で試す
去年度の質問30件を手元のAIサービスで答えさせ、危機管理課の回答と比べます。 一般論で答えた質問と、表が読めずに答えられなかった質問を分けます。
3週目:データストアと名前の対応表を作る
冊子とメタデータを Cloud Storage に置き、データストアを作ります。新しい防災気象情報の名前と、計画の旧名の対応表を作ります。
4週目:危機管理課が使う
半自動化として、危機管理課が answer メソッドの回答を見ながら職員に答えます。「記載なし」になった質問を集め、一覧の形を決めます。
2か月目: 配備の名簿のつなぎ、ページの表示、職員が直接使う検索画面を足し、一部の部で使います。3か月目以降: 全庁に広げ、1件16分が何分になったかを実測します。1年分の「記載なし」の一覧を、次の計画の修正の会議に持って行けた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドが検索の結果から回答を作ること、includeCitations(既定は無効)、ignoreAdversarialQuery・ignoreNonAnswerSeekingQuery・ignoreLowRelevantContent、preamble、answerSkippedReasons、groundingSpec の filteringLevel、endUserSpec の endUserMetadata(上限8,000文字)。answer メソッドと search メソッドを組み合わせて使えること。引用の位置が UTF-8 のバイト単位であること | Google Cloud: Get answers and follow-ups | 2026-10-14 |
レイアウト パーサーが段落・表・リスト・見出しを検出すること。チャンクの大きさが100〜500トークン(既定500)で、includeAncestorHeadings で見出しを付けられること。search メソッドを CHUNKS で受けると pageSpan が返り、前後のチャンクを最大5つずつ受け取れること | Google Cloud: Parse and chunk documents | 2026-10-14 |
絞り込みの ANY() が列挙した値との完全一致を見ること、AND/OR、日時の項目を ISO 8601 の文字列と比べられること、項目を索引可能にする必要があること | Google Cloud: Filter custom search for structured or unstructured data | 2026-10-14 |
メタデータを JSON Lines で id・structData・content(mimeType・uri)として書くこと | Google Cloud: Prepare data for ingesting | 2026-10-14 |
| 災害対策基本法第42条(市町村防災会議が市町村地域防災計画を作成し、毎年検討を加え、必要があると認めるときは修正しなければならないこと、計画に定める事項) | e-Gov 法令API: 災害対策基本法 | 2026-10-14 |
| 令和8年5月29日から新たな防災気象情報の運用が始まり、例えば大雨警報が「レベル3大雨警報」という名称になったこと | 気象庁: 新たな防災気象情報について(令和8年~) | 2026-10-14 |
配備の決定、避難情報の発令、避難所の開設と運営は、各市町村の地域防災計画と災害対策本部の判断に従ってください。 本記事は上の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1441)についてのご相談はこちらから。
