自治体の職員が契約や支出の起案の前に、過去の監査委員の指摘・住民監査請求の結果・措置の記録を探し、同じ指摘を受けた事例と是正の内容を根拠付きで返す
職員が契約や補助金の起案を作る前に、同じ種類の事務で過去に監査委員から受けた指摘と、住民監査請求の結果、所管課が講じた措置を探します。指摘の理由と是正の内容を引用付きで並べ、起案の注意点として担当者に返します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 自治体
- 対象部門
- 法務/総務
- 対象業務
- 内容確認・チェック/情報検索
- 主な課題
- 属人化している/情報が見つからない/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/品質標準化/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 起案の担当者が、契約の方法・金額・相手方などの起案の要点を決める
- 心配な点があれば、市のウェブサイトで過去の監査の結果のPDFを年度ごとに開き、自分の課や似た事務の指摘を探す
- 指摘が見つかれば、その年度の措置の状況のPDFを別に開き、同じ指摘の措置を探して突き合わせる
- 見つからなければ、契約課や会計課、前任者に「過去に言われたことはないか」を聞く
- 起案に注意点を反映し、決裁に回す
- 人起案の担当者が検索画面で、事務の種類(契約・委託・補助金・物品購入など)と起案の要点を入れる
- 自動中継プログラムが、事務の種類を絞り込みの式にし、新しい年度の記録を上げる設定を付ける
- 自動Vertex AI Search(Agent Search)の answer メソッドで、同じ種類の過去の指摘と住民監査請求の結果を探し、引用付きでまとめさせる
- 自動引用された指摘の番号で、措置の記録を別に引き、指摘と措置を組にする
- 自動措置がまだ公表されていない指摘には、その旨の印を付ける
- 人担当者が指摘と措置の原文を読み、起案に反映する点を決める
- 人迷う点は契約課・会計課に、引用の番号を添えて相談する
- 自動監査委員事務局が新しい報告と措置を公表したら、指摘の単位に分けて取り込む
各工程の詳しい説明を読む
- 起案の担当者が、契約の方法・金額・相手方などの起案の要点を決める
- 心配な点があれば、市のウェブサイトで過去の監査の結果のPDFを年度ごとに開き、自分の課や似た事務の指摘を探す
- 指摘が見つかれば、その年度の措置の状況のPDFを別に開き、同じ指摘の措置を探して突き合わせる
- 見つからなければ、契約課や会計課、前任者に「過去に言われたことはないか」を聞く
- 起案に注意点を反映し、決裁に回す
(a)PDFを年度ごとに開くしかない。 監査の結果は年度ごと・課ごとの報告書で、事務の種類で横に探す手段がありません。 「随意契約」で探しても、PDFの中を1冊ずつ検索することになります。
(b)指摘と措置が別の資料にある。 措置の状況は、指摘から数か月後に別の資料として公表されます。指摘の番号の付け方が年度によって違い、突き合わせに手間がかかります。
(c)課の名前が変わる。 組織の改編で課の名前が変わると、前の名前の課の指摘が、自分の課の過去の指摘だと気づけません。
(d)結局は人に聞く。 契約課や会計課の経験の長い職員が「それは数年前に指摘された」と覚えていることで、指摘の繰り返しが防がれています。その人が異動すれば、防ぎ手がいなくなります。
- 【人】 起案の担当者が検索画面で、事務の種類(契約・委託・補助金・物品購入など)と起案の要点を入れる
- 【自動】 中継プログラムが、事務の種類を絞り込みの式にし、新しい年度の記録を上げる設定を付ける
- 【自動】 Vertex AI Search(Agent Search)の answer メソッドで、同じ種類の過去の指摘と住民監査請求の結果を探し、引用付きでまとめさせる
- 【自動】 引用された指摘の番号で、措置の記録を別に引き、指摘と措置を組にする
- 【自動】 措置がまだ公表されていない指摘には、その旨の印を付ける
- 【人】 担当者が指摘と措置の原文を読み、起案に反映する点を決める
- 【人】 迷う点は契約課・会計課に、引用の番号を添えて相談する
- 【自動】 監査委員事務局が新しい報告と措置を公表したら、指摘の単位に分けて取り込む
4番目が、この設計の分かれ目です。 措置の記録は、指摘を探す検索とは別の、番号による確実な引き方で取ります。文の近さで措置を探すと、別の指摘への措置が組になってしまいます。
7番目で引用の番号を添えるのは、相談を受ける側のためです。 「去年何か言われた気がする」ではなく、「令和5年度の定期監査の指摘の12番と同じ点です」と聞けば、契約課の職員は答えをすぐ返せます。
02今回想定するシステム構成
【取り込み】監査委員事務局の報告と措置の元のファイル(Word) ▼ 指摘・措置・住民監査請求の結果を、1件ずつのHTMLに分ける Cloud Storage + メタデータの JSONL(年度・種類・事務の種類・課・番号) ▼【トリガー】監査の結果または措置の状況の公表 Vertex AI Search(Agent Search)── 非構造化データのデータストア 【検索】職員の検索画面(事務の種類・起案の要点) ▼ 中継プログラム(Cloud Run)── 絞り込みの式と、新しい年度を上げる設定 ▼ answer メソッド ── 過去の指摘と住民監査請求の結果を引用付きでまとめる ▼ 中継プログラム ── 引用の指摘の番号で措置の記録を引き、組にする ▼ 【人】起案の担当者が原文を確かめ、起案へ → 迷えば契約課・会計課へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search。answer メソッド、メタデータの絞り込み、新しさによる加点) | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Cloud Run 上で動かす。絞り込みの式、措置の引き当て、組み合わせ) | Cloud Functions |
| 保管 | Cloud Storage(指摘1件ずつのHTMLと、メタデータの JSONL) | ─ |
| 文書 | 監査委員事務局の報告と措置の元のファイル(読み取りのみ) | ─ |
文書管理システムと財務会計システムは、置き換えません。 この構成は起案の前の調べものを助けるだけで、起案の内容には触れません。最初の準備作業は、過去7年分の報告を指摘の単位に分け、事務の種類の分類を付けることです。
扱うのは、法律にもとづいて公表される記録です。 地方自治法では、監査委員は監査の結果に関する報告を決定して議会と長などに提出し、公表しなければならないとされています。報告を受けた側が措置を講じたときは、その内容を監査委員に通知し、監査委員はその措置の内容を公表しなければならないとされています。住民監査請求の結果と、勧告にもとづく措置も同じく公表されます。
土台になるのは、Vertex AI Search です。 Google Cloud のドキュメントでは、Agent Search へ名称が変わりつつあると注記されています。
03どうやって実装するのか
処理の起点を決める
取り込みと検索で、起点が2つあります。
取り込みは、監査委員事務局が監査の結果、または措置の状況を公表したことを起点にします。 公表の日に、事務局が元のファイルを決まったフォルダに置き、中継プログラムが指摘の単位に分けて取り込みます。市のウェブサイトのPDFから取り込まないのは、事務局の元のファイルのほうが見出しと番号がそろっているからです。
過去7年分は、別に一括で取り込みます。 古い年度の報告は書式が今と違うため、事務局の職員が分け方を確かめながら入れます。 分けられなかった報告は、報告ごと1件の文書として入れ、画面にその旨を出します。
検索は、起案の担当者が検索画面で「探す」を押したときに動きます。 文書管理システムの起案の画面にリンクを置き、起案を作り始める前に開く運用にします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 定期監査などの結果 | 年度、監査の種類、対象の課、指摘・注意の区分、指摘の番号、指摘の内容と理由 | 監査委員事務局の元のファイル |
| 措置の状況 | 指摘の番号、措置を講じた課、措置の内容、措置の日 | 同上 |
| 住民監査請求の結果 | 受付の年度、対象の行為、監査の結果(理由なし・勧告など)、判断の理由、勧告にもとづく措置 | 同上 |
| 事務の種類の分類 | 契約(随意・指名・一般競争)、委託、補助金、物品購入、工事、財産の管理、収入 | 総務課と監査委員事務局で作る一覧 |
| 課の名前の履歴 | 改編前後の課の名前と、所掌の移り変わり | 総務課の組織の記録 |
| 起案の要点(検索時) | 事務の種類、契約の方法、金額の帯、事業の内容の1〜2文 | 検索画面 |
質を決めるのは、事務の種類の分類です。 報告書の指摘には「契約」とだけ書かれていることが多く、随意契約か一般競争かは、指摘の文を読まないと分かりません。 分けるときに、事務局の職員が付けます。
住民監査請求の結果からは、請求人の氏名と住所を除きます。 起案の参考に要るのは、どの行為の、どの点が問題とされたかだけです。
データの取得方法を決める
1件の指摘を1つの文書にします。 報告書を丸ごと入れると、引用が「令和5年度の報告のどこか」になり、措置と組にできません。
{"id": "R5-REG-0012",
"structData": {"doc_type": "finding", "fiscal_year": 2023,
"audit_type": "regular", "finding_no": "R5-REG-0012",
"section_now": "道路管理課", "section_then": "土木管理課",
"work_type": "contract_negotiated", "level": "finding",
"published_on": "2024-02-20", "measure_published": true},
"content": {"mimeType": "text/html",
"uri": "gs://audit-archive/2023/regular/R5-REG-0012.html"}}
措置の記録は、同じ finding_no を持つ別の文書にします。 doc_type は finding(監査の指摘・注意)/measure(措置)/resident_request(住民監査請求の結果)の3つです。doc_type・work_type・finding_no・fiscal_year・published_on は、スキーマで索引可能にします。
検索の絞り込みは、事務の種類と文書の種類で組みます。
work_type: ANY("contract_negotiated") AND doc_type: ANY("finding", "resident_request")
新しい年度の記録は、加点で上げます。 新しさによる加点では、日付の型の項目を指定し、経過した期間と加点の量の組を、区切りの点として並べます。 区切りの点の間は直線で補われ、最初の点より新しいものは最初の点の量、最後の点より古いものは最後の点の量になります。この構成では、公表から1年以内を0.4、3年を超えると加点なし、とします。
"boostSpec": { "conditionBoostSpecs": [ {
"condition": "true",
"boostControlSpec": {
"fieldName": "published_on",
"attributeType": "FRESHNESS",
"interpolationType": "LINEAR",
"controlPoints": [
{ "attributeValue": "365D", "boostAmount": 0.4 },
{ "attributeValue": "1095D", "boostAmount": 0.0 } ] } } ] }
古い指摘を絞り込みで消さないのは、意図してのことです。 7年前の指摘でも、同じ型の誤りは今も起きます。 消さずに順位を下げるだけにして、新しい指摘から読めるようにします。加点の量は−1から1の範囲で指定します。
措置は、引用された指摘の番号で引きます。
finding_no: ANY("R5-REG-0012", "R3-REG-0044") AND doc_type: ANY("measure") AIへ渡す前に整形する
- 指摘の単位に分ける … 元のファイルの見出しと番号で、指摘・注意の1件ずつに分けます。番号の無い年度は、事務局が
finding_noを付けます - HTMLにする … 1件ずつを、見出し(年度・監査の種類・課・番号)と本文のHTMLにします
- 課の名前を今の名前に読み替える … 課の名前の履歴から
section_nowを付け、当時の名前はsection_thenに残します - 事務の種類を付ける … 事務局の職員が、分類の一覧から
work_typeを選びます。1件に2つ当たるものは、主なものを1つ選びます - 個人の情報を除く … 住民監査請求の請求人の氏名・住所、指摘の中の個人の氏名を除きます
- 措置の対応を点検する …
findingごとにmeasureがあるかを見て、措置がまだ公表されていない指摘はmeasure_publishedを false にします
2番目で、解析は既定のパーサーで足ります。 1件ずつのHTMLは見出しと本文だけで、表もありません。ドキュメントでは、レイアウトとOCRのパーサーには Document AI の機能の料金がかかり、既定のパーサーは無料です。表の多い古いPDFの報告を分けずに入れる場合だけ、レイアウトパーサーを使います。
4番目を事務局の職員に任せるのは、指摘の文だけでは分類が決まらないからです。 「契約事務の不備」とだけ書かれた指摘は、本文を読んで随意契約の理由の話だと分かります。ここをAIで自動で付けると、誤った分類のまま絞り込まれ、検索から漏れます。
6番目の印は取り込みの点検のためで、画面の表示には使いません。 画面の「措置は未公表です」は、検索のたびに番号で措置を引き、見つからなかったときに出します。印の直し忘れがあっても、表示が古いまま残らないようにするためです。
AIに処理させる
させるのは、絞り込まれた過去の指摘と住民監査請求の結果から、起案に関係するものを選び、指摘の理由を引用付きで並べることだけです。
| させること | 中身 |
|---|---|
| 関係する指摘の選び出し | 起案の要点に関係する指摘と住民監査請求の結果を、新しい順に |
| 指摘の理由の要約 | 何が、どの手続きに照らして不十分とされたか。報告書の言葉で |
| 共通する点の指摘 | 複数の課・年度で同じ点が指摘されていれば、その点 |
| 確かめる点の書き出し | 指摘を裏返した「起案で確かめる点」を、報告書の言葉で |
4行目の「確かめる点」も、報告書の言葉で書かせます。 言い換えを許すと、「随意契約の理由について、どの要件に当たるかまで起案に書いていない」という指摘が「契約の理由をきちんと書く」に丸まります。丸まった点検の項目は、起案の担当者が「書いている」と思って通り過ぎます。
措置の内容は、AIにまとめさせません。 中継プログラムが番号で引いた措置の記録を、原文のまま組にして画面に出します。 措置は所管課が講じた具体の手順で、要約すると肝心の「何をどう変えたか」が抜けます。
| させないこと | 理由 |
|---|---|
| 今回の起案が適正かの判断 | 判断するのは所管課・契約課・会計課と決裁者 |
| 「問題ない」「指摘のおそれは低い」と書くこと | 過去に指摘が無いことは、適正であることの裏付けにならない |
| 指摘の無い事務についての一般論 | 報告書に無いことを、監査の観点として書かせない |
| 住民監査請求の結論の当てはめ | 請求の対象の行為と、今回の起案は事実が違う |
| 指摘を受けた課や職員の評価 | 起案の参考の範囲を超える |
2行目が、いちばん起きやすい失敗です。 同じ種類の指摘が見つからないと、AIは「この種類の起案で過去の指摘はなく、問題は少ないと考えられます」と書きたくなります。監査は毎年すべての起案を見るわけではありません。指摘が無いことは、見られていないだけのことがあります。
指示内容を固定する
answer メソッドの promptSpec.preamble に、次の指示を入れます。
あなたは市役所で、契約や支出の起案を作る職員を手伝います。
回答を読むのは起案の担当者で、引用された報告の原文を開いて確かめてから
起案に反映します。検索結果は、監査委員の監査の結果と住民監査請求の結果です。
【答え方】
1. 起案の要点に関係する指摘を、新しい年度から順に並べてください。
2. 各指摘について、年度、監査の種類、指摘の番号、何がどの点で不十分とされたかを、
報告書の言葉で書いてください。
3. 複数の年度や課で同じ点が指摘されていれば、最後にその点を書いてください。
4. 指摘を裏返して、起案で確かめる点を、報告書の言葉で箇条書きにしてください。
【厳守事項】
- 検索結果の報告に書かれていることだけで答えてください。
地方自治法や会計の一般的な知識で補わないでください。
- 今回の起案が適正か、問題があるかを書かないでください。
- 関係する指摘が見つからないとき、「問題は少ない」「指摘のおそれは低い」と
書かないでください。「関係する過去の指摘は見つかりませんでした」とだけ書いてください。
- 措置の内容を推測して書かないでください。措置は別に示されます。
- 住民監査請求の結果は、請求の対象になった行為と判断の理由だけを書いてください。
今回の起案に当てはめた結論を書かないでください。
- 課や職員の良し悪しを書かないでください。
「見つからないとき」の文を定型にしているのは、空の結果のときに一般論で埋めるからです。 禁じるだけでは、「一般に随意契約では理由の明確化が求められます」と書きます。報告書に無い一般論が、監査の観点のように読まれます。
「措置を推測しない」を入れているのは、指摘の文から措置を想像して書くからです。 指摘が「検査の調書が無い」なら「調書を作成するようにした」と書きたくなります。実際の措置が「検査の手順書を改め、課長が確認する欄を設けた」なら、起案に要るのは後者です。
出力形式を固定する
中継プログラムは、answer メソッドの応答と措置の記録を、次の形にまとめて画面に渡します。
{
"query_id": "",
"work_type": "contract_negotiated",
"status": "answered | skipped | none",
"skipped_reasons": [],
"answer_text": "",
"findings": [
{ "finding_no": "R5-REG-0012", "fiscal_year": 2023,
"doc_type": "finding | resident_request",
"section_now": "", "section_then": "",
"snippet": "", "uri": "",
"measure": { "published": true, "text": "", "uri": "" } }
],
"support_score": 0
}
1つ目の理由は、findings の中に measure を入れ子にできることです。 画面では、指摘の右に措置の原文を並べます。措置が未公表なら published が false で、「措置は未公表です」と出します。
2つ目は、section_now と section_then を両方持てることです。 担当者は今の課の名前で自分の課の指摘を見つけ、当時の課の名前で報告書の原文を探せます。
3つ目は、status で「無かった」と「答えなかった」を分けられることです。 answer メソッドには、関係の薄い内容しか無いときに代わりの応答を返す設定(ignoreLowRelevantContent)があり、答えなかった理由は answerSkippedReasons に入ります。 none は検索で1件も当たらなかったもの、skipped は当たったが答えを作らなかったもので、後者は記録の一覧だけを画面に出します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 監査委員事務局の共有フォルダ | 公表の日の配置 | 報告と措置の元のファイルを受け取る |
| Cloud Storage | 1件ずつのHTMLと JSONL | 指摘・措置・住民監査請求の結果 |
| Vertex AI Search | 1回ごとの取り込み | 公表のたびに追加する |
| Vertex AI Search | answer メソッド | 絞り込みと新しさの加点を付けて、引用付きのまとめ |
| Vertex AI Search | 検索(絞り込みのみ) | 指摘の番号で措置を引く |
| 文書管理システム | 起案の画面からのリンク | 検索画面を開く。起案には書き込まない |
起案には何も書き込みません。 過去の指摘を起案にどう反映するかは、担当者が自分の言葉で書きます。 検索の結果を起案に自動で貼ると、決裁者には「AIが点検済み」と読まれます。
検索の段階で返す件数は、既定の10件で始めます。 answer メソッドの検索の段階の件数は既定が10、上限が25です。事務の種類で絞っているので、10件で同じ型の指摘が数年分そろいます。
人が確認する
- 指摘の原文を開く … 引用の報告を開き、指摘の前後の文と、監査の対象になった事務の内容を読みます
- 措置を読む … 組になった措置の原文で、所管課が何を変えたかを確かめます。未公表なら所管課に聞きます
- 今回の起案と比べる … 契約の方法・金額・相手方が、指摘のときと同じ型かを見ます
- 起案に反映する … 確かめる点を、起案の理由や添付の書類に反映します
- 迷えば相談する … 指摘の番号を添えて契約課・会計課に相談します
目標は、300件をならして1件6分です。 指摘と措置の原文を読むのに4分、起案と比べて反映する点を決めるのに2分を見ています。6分を大きく超える月は、事務の種類の分類が粗く、関係の薄い指摘が多く出ています。
監査委員事務局は、月に一度、引かれた指摘と回答の文を抜き取りで読みます。 指摘の趣旨が要約で変わっていないか、「問題は少ない」に近い言い回しが出ていないかを見て、指示と分類の見直しに返します。
例外に対処する
| 起きること | 対応 |
|---|---|
| 関係する指摘が見つからない | 定型の文を出す。「問題は少ない」と書かない |
| 措置がまだ公表されていない | 「措置は未公表です」と出し、所管課に聞くよう示す |
| 措置の記録が番号で引けない | 番号の付け間違い。事務局の作業に積み、指摘だけを出す |
| 指摘の単位に分けられなかった報告 | 報告ごと1件として出し、原文で探すよう示す |
| 課の名前の履歴に無い課 | 当時の名前のまま出し、総務課の作業に積む |
| 同じ番号の指摘が2つの年度にある | 番号の付け方の重複。年度を頭に付けた番号に直して取り込む |
| 回答がスキップされた | 検索で当たった記録の一覧だけを出す |
| 起案の要点に個人の氏名が入った | 送る前に検出して止め、入れ直してもらう |
| Vertex AI Search が応答しない | 市のウェブサイトの監査の結果の一覧へのリンクを出す |
上から2行が、運用の大半です。 どちらも、AIが何かを言わないことで守ります。
記録を残す
- 検索の日時、課、事務の種類、起案の要点
- answer メソッドの要求(絞り込みの式、加点の設定)と応答の全文
- 組にした措置の記録の番号と、未公表の印
- 担当者が開いた引用の原文
- 契約課・会計課への相談に添えた指摘の番号
- 「関係する過去の指摘は見つかりませんでした」と出た事務の種類と要点
最後の行は、事務の種類の分類を直す材料になります。 同じ要点で何度も見つからないなら、分類が粗いか、指摘の単位の分け方に漏れがあります。
監査委員事務局には、どの事務の種類が多く引かれたかを毎月返します。 職員が不安に思っている事務の種類が分かり、次の監査の重点や研修の題材を決める材料になります。
04実装レベルの3段階
半自動化では、指摘と措置が組になりません。 担当者が措置の資料を別に開くことになり、「どう直せば通ったか」に行き着く前に手が止まります。 本格構成との差はここで、本記事の想定は本格構成です。 本格構成のあとで、近隣の自治体が公表している監査の結果を加えることもできます。 その場合は structData に自治体の名前を持たせ、自分の市の指摘と分けて表示します。
05工数削減シミュレーション
導入後 300件 × 6分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 人口が数万人以上の市区町村や都道府県で、監査委員の定期監査の結果と措置の状況を毎年公表しており、その件数が数年分で数百件以上たまっている場合。各課の職員が契約・委託・補助金の起案を毎月出し、同じ種類の指摘が課をまたいで繰り返されている場合。監査委員事務局が報告書の元のファイルを持っており、指摘の単位に分けて整理し直せる場合。
- 監査の結果の報告が数年分で数十件にとどまり、一覧の表で足りる場合。報告書が紙のスキャンしか残っておらず、指摘の単位に分けられない場合。起案の種類が少なく、契約課や会計課の審査ですでに同じ点検ができている場合。なお、新しい起案が適法か、適正かの判断は所管課・契約課・会計課と決裁者が行うもので、この構成では代替できません。
07最小構成で試す方法
- 指摘の多い事務の種類(随意契約、補助金の実績報告など)を2つ選ぶ
- 過去3年分の監査の結果から、その2つの種類の指摘を手で抜き出し、措置と組にした表を作る
- 最近の起案を10件選び、契約課・会計課の職員が「これは過去に指摘された」と思い当たる指摘を聞いておく
- 表を手元のAIサービスに貼り、10件の起案の要点ごとに関係する指摘を並べさせる
- 「起案が適正かを書かないでください。指摘が無ければ、無いとだけ書いてください」と指示する
- 出てきた指摘と、契約課・会計課の職員が思い当たる指摘を突き合わせる
監査の結果と措置は公表された記録なので、試しやすい題材です。 ただし住民監査請求の結果は、請求人の氏名を除いてから貼ってください。
| 出てきた内容 | 判断 |
|---|---|
| 職員が思い当たる指摘が並ぶ | 指摘の単位への分け直しとデータストアの構築に進む |
| 思い当たる指摘が出ない | 事務の種類の分類の問題。 分類を細かくする |
| 「問題は少ない」が混ざる | 指示の書き方で直る。構成は有効 |
2行目は、分類を決める材料が見つかったということです。 職員が思い当たった指摘が、どの分類に入るべきだったかを確かめます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 報告を丸ごと入れて措置と組にできない | 1件の指摘を1文書にし、finding_no を持たせる |
| 文の近さで措置を探して取り違える | 措置は番号で引く。 検索とは別の引き方にする |
| 古い指摘が新しい指摘より上に出る | 新しさの加点を付ける。絞り込みで消さない |
| 事務の種類で探しても漏れる | 分類を事務局の職員が付ける。AIで自動で付けない |
| 絞り込みが効かない | 絞り込みに使う項目を索引可能にする |
| 課の名前が変わって自分の課の指摘が分からない | section_now と section_then を両方持たせる |
| 指摘が無いと「問題は少ない」と書く | 見つからないときの文を定型にする |
| 措置を推測して書く | 措置はAIにまとめさせず、原文を組にして出す |
| 住民監査請求の請求人の名前が残る | 取り込み前に除く |
| パーサーの料金がかさむ | 1件ずつのHTMLは既定のパーサーで足りる |
上の2行が、この構成の失敗のほとんどです。 どちらも「指摘と措置を組にする」という中心を崩し、担当者は直し方の分からない指摘だけを読むことになります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 監査委員の監査の結果、所管課の措置、住民監査請求の結果です。いずれも法律にもとづいて公表される記録ですが、住民監査請求には請求人の情報が含まれます。
- 公表された記録だけを入れる … 取り込みの対象は、公表された報告と措置の元のファイルに限ります。監査の途中の資料や、事務局の内部の検討メモは入れません
- 請求人の情報を除く … 住民監査請求の結果から、請求人の氏名・住所を除いてから取り込みます
- 起案の適否を判断させない … 起案が適正かは所管課・契約課・会計課と決裁者が決めます。「問題は少ない」と書かせない指示を必ず入れます
- 起案に自動で書き込まない … 検索の結果を起案に貼ると、点検済みと読まれ、決裁の確認が薄くなります
- 入力に個人の情報を入れさせない … 起案の要点に相手方の個人の氏名などを入れないよう、検索画面で検出して止めます
- AIの利用の取り決めに載せる … 庁内のAIの利用の取り決めに、この検索の目的、扱うデータ、人の確認の手順を載せます
誤りが起きた場合のリスクは、指摘の無いことを「適正」と読むことと、別の指摘の措置を参考にすることの2つです。 前者は定型の文、後者は番号による引き当てで防ぎます。どちらもAIの精度ではなく、設計で守ります。
10まず何から始めるか
1週目:事務の種類の分類を決める
監査委員事務局と総務課、契約課・会計課で、指摘を分ける事務の種類の一覧を決めます。最初は7〜10種類で足ります。
2週目:2つの種類で試す
随意契約と補助金の実績報告など、指摘の多い2つの種類で、過去3年分の指摘と措置の表を作り、AIサービスで試します。契約課・会計課の職員が思い当たる指摘と突き合わせ、「問題は少ない」が出ていないかを最優先で見ます。
3週目:指摘の単位に分ける
過去7年分の報告を、事務局の職員が指摘の単位に分け、finding_no と事務の種類を付けます。措置との対応が取れない指摘は、一覧にして残します。
4週目:データストアを作り、取り込む
指摘・措置・住民監査請求の結果を取り込み、事務の種類で絞った検索を契約課・会計課だけで使います。
2か月目: 措置の番号による引き当て、新しさの加点、起案の画面からのリンクを足し、全課に広げます。3か月目以降: 公表時の自動の取り込みをつなぎ、1件20分が何分になったかを実測します。次の定期監査で、前年と同じ型の指摘が減ったかを事務局が確かめた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 監査委員が毎会計年度少なくとも1回以上期日を定めて監査をすること。監査の結果に関する報告を決定して議会・長などに提出し、公表すること。報告を受けた側が措置を講じたときは監査委員に通知し、監査委員がその措置の内容を公表すること(地方自治法第199条第4項・第9項・第14項) | e-Gov法令API: 地方自治法 第199条 | 2026-10-07 |
| 住民監査請求について、請求に理由がないときは理由を付して請求人に通知し公表し、理由があるときは必要な措置を勧告して公表すること。監査と勧告が請求から60日以内であること。勧告を受けた側が措置を講じて監査委員に通知し、監査委員がそれを請求人に通知し公表すること(地方自治法第242条第5項・第6項・第9項) | e-Gov法令API: 地方自治法 第242条 | 2026-10-07 |
Vertex AI Search が Agent Search へ改称中であること。answer メソッドの includeCitations、ignoreLowRelevantContent、promptSpec.preamble、filter、answerSkippedReasons。検索の段階で返す件数が既定10・上限25であること | Google Cloud: Get answers and follow-ups(answer method) | 2026-10-07 |
絞り込みの ANY()、日付の比較、AND/OR/NOT の組み合わせ。絞り込みに使う項目を索引可能にする必要があること | Google Cloud: Filter search by metadata | 2026-10-07 |
boostSpec の加点の量が−1〜1の範囲であること。新しさによる加点(FRESHNESS)で日付の項目を指定し、経過期間(ISO 8601 の期間の書き方)と加点の量の区切りの点を並べ、その間を直線で補うこと。非構造化データの検索アプリで使えること | Google Cloud: Boost search results | 2026-10-07 |
| 既定のパーサーが無料で、レイアウトとOCRのパーサーに Document AI の機能の料金がかかること。レイアウトパーサーが段落・表・見出しを検出すること | Google Cloud: Parse and chunk documents | 2026-10-07 |
起案が適正かどうかは、所管課・契約課・会計課と決裁者が判断してください。 本記事は法令と Google Cloud の公開ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0688)についてのご相談はこちらから。
