他の自治体が公表する新しい施策・条例・計画をエージェントが毎月見回り、自分の市の重点課題と照らして参考になる事例を選び、概要と問い合わせ先の一覧を企画担当へ出す
比較の対象に決めた他の自治体の報道発表や新着情報を、エージェントが毎月見回ります。新しい施策・条例・計画の中身と問い合わせ先を書かれたとおりに取り出し、自分の市の重点課題と既存の事業に照らして、参考事例の一覧を企画担当へ出します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 自治体
- 対象部門
- 経営企画
- 対象業務
- 情報検索/比較検討
- 主な課題
- 人手が足りない/属人化している/情報が見つからない
- AIで行う処理
- エージェント
- 主な効果
- 判断支援/工数削減/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月初に、担当者が受け持ちの自治体のページを順に開き、前月から増えた項目を探す
- 重点課題に関わりそうな公表を開き、資料(PDF)を読む
- 施策の名前、対象、内容、開始時期、予算(書かれていれば)、担当課と問い合わせ先を書き出す
- 自分の市の重点課題のどれに関わるか、自分の市に似た事業があるかを考える
- 自分のメモに記録し、目立つものは課内の打合せで紹介する
- 所管課から問い合わせがあれば、メモを探して渡す
- 自動毎月1日と16日の朝にワークフローが動き、見回りのページの一覧を読む
- 自動RSS のあるページは RSS で、無いページは HTML からリンクと見出しを取り出す
- 自動これまでに見たリンクの表と比べ、新しい公表だけを残す
- 【AI】 見出しと冒頭の文から、重点課題に関わりそうかを一次の仕分けする
- 【AI】 関わりそうなものは、エージェントがページと資料を読み、施策の中身と問い合わせ先を書かれたとおり取り出す
- 【AI】 エージェントが重点課題の表、自分の市の事業の表、これまでの参考事例の表を引き、関係と重なりを付ける
- 自動参考事例の一覧に書き込み、重点課題ごとにまとめて企画政策課のチャットに知らせる
- 人企画担当が一覧を確かめ、参考にするものを選び、所管課へ回す
各工程の詳しい説明を読む
- 月初に、担当者が受け持ちの自治体のページを順に開き、前月から増えた項目を探す
- 重点課題に関わりそうな公表を開き、資料(PDF)を読む
- 施策の名前、対象、内容、開始時期、予算(書かれていれば)、担当課と問い合わせ先を書き出す
- 自分の市の重点課題のどれに関わるか、自分の市に似た事業があるかを考える
- 自分のメモに記録し、目立つものは課内の打合せで紹介する
- 所管課から問い合わせがあれば、メモを探して渡す
(a)見回りが担当者に依存している。 どの自治体の、どのページの、どの見出しの下に新しい公表が出るかを、担当者が覚えています。異動のある職場で、受け持ちが替わるたびに見るページが変わります。 引き継ぎの資料に「月初にこのページを見る」と書いても、どこまで見たかは残りません。
(b)同じ話を何度も読む。 国の交付金の制度ができると、比較の対象の半分近くが似た名前の事業を同じ月に公表します。中身はほとんど同じでも、4人がそれぞれ読み、それぞれ書き出しています。 独自の工夫のある1件が、その中に埋もれます。
(c)見つけた事例が使える形で残らない。 メモの書き方は担当者ごとに違い、重点課題との関係も、問い合わせ先も、書いてある人と書いていない人がいます。 所管課から問い合わせ先を聞かれて、元のページを探し直すことがあります。
(d)自分の市の事業との重なりが見えない。 他の市の新しい事業が、自分の市ですでに名前を変えて行っている事業と同じことがあります。所管課に紹介してから「うちでもやっています」と返ってくると、紹介の信用が下がります。
- 【自動】 毎月1日と16日の朝にワークフローが動き、見回りのページの一覧を読む
- 【自動】 RSS のあるページは RSS で、無いページは HTML からリンクと見出しを取り出す
- 【自動】 これまでに見たリンクの表と比べ、新しい公表だけを残す
- 【AI】 見出しと冒頭の文から、重点課題に関わりそうかを一次の仕分けする
- 【AI】 関わりそうなものは、エージェントがページと資料を読み、施策の中身と問い合わせ先を書かれたとおり取り出す
- 【AI】 エージェントが重点課題の表、自分の市の事業の表、これまでの参考事例の表を引き、関係と重なりを付ける
- 【自動】 参考事例の一覧に書き込み、重点課題ごとにまとめて企画政策課のチャットに知らせる
- 【人】 企画担当が一覧を確かめ、参考にするものを選び、所管課へ回す
4番目と5番目を分けているのは、意図してのことです。 新しい公表の多くは、イベントの案内や募集の結果など、重点課題に関わらないものです。全件をエージェントに読ませると、利用料と時間がかさみ、確かめる量も増えます。 見出しで振り落としたものも件数と見出しは残し、振り落としすぎていないかを後から見られるようにします。
8番目の判断は、すべて人が行います。 エージェントが出すのは「この重点課題に関わる可能性がある新しい事例」と、その根拠です。
02今回想定するシステム構成
見回りのページの一覧(比較の対象30自治体、約90ページ。Data table) │ ▼【トリガー】Schedule Trigger(毎月1日・16日 7時、Asia/Tokyo) n8n のワークフロー ├──▶ RSS のあるページ:RSS Read で項目を読む ├──▶ RSS の無いページ:HTTP Request で取り、HTML ノードでリンクと見出しを取り出す ├──▶ 見たリンクの表(Data table)と比べ、新しい公表だけを残す ├──▶ 見出しと冒頭の文で一次の仕分け(重点課題のどれか/関係なし) ▼ AI Agent ノード(Tools Agent)+ Claude │ 新しい公表1件ごとに、道具を選んで引く │ ・ページと資料を取る(HTTP Request) │ ・重点課題の表を引く ・自分の市の事業の表を引く │ ・これまでの参考事例の表を引く │ Structured Output Parser で決まった形のJSONを返す ▼ 参考事例の一覧(Data table)→ 重点課題ごとに企画政策課のチャットへ ▼【人】参考にする事例の選定・所管課への回付
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | n8n | Make、Power Automate、Zapier |
| 生成AI | Claude API(n8n の Anthropic Chat Model ノード) | OpenAI API、Gemini API |
| 保管 | n8n の Data tables(見回りのページ、見たリンク、参考事例) | PostgreSQL |
| 通知 | 庁内のチャット | メール |
新しく足すのは、n8n のワークフローと、その中の3つの表だけです。 庁内の基幹のシステムにはつなぎません。扱うのは他の自治体が公開しているページと、自分の市の総合計画と事業の一覧で、いずれも公表された情報です。
表は n8n の Data tables に持たせます。 Data tables は、外部のデータベースに頼らずにワークフローの中でデータを保存し、扱える、プロジェクト単位の表とされています。インスタンス全体の既定の上限は 200 MiB で、セルフホストでは環境変数で変えられ、上限に達すると手での追加ができなくなり、ワークフローの実行がエラーになるとされています。この構成の表は見出しとURLと短い要約が中心で、上限に近づくものではありませんが、ページの本文は表に入れません。
RSS は RSS Read ノードで読みます。 RSS Read は、インターネットに公開された RSS からデータを読むノードで、パラメーターは URL だけです。RSS の無いページは HTTP Request で取り、HTML ノードの Extract HTML content で、CSS セレクターを使ってリンク先(属性)と見出し(テキスト)を取り出します。
n8n を選ぶ理由は、公表1件ごとに読み方が変わるからです。 報道発表の本文だけで足りるもの、PDFの資料を開かないと対象や開始時期が分からないもの、自分の市の事業の表を引いて重なりを確かめるものがあります。Tools Agent は、外部の道具と API を使って情報を取り、タスクに応じてどの道具を使うかを決めるとされています。
03どうやって実装するのか
処理の起点を決める
毎月1日と16日の朝7時に、Schedule Trigger で動かします。 題材は毎月の見回りですが、月に2回にするのは、月初に公表された事例を翌月まで知らないままにしないためです。 工数の試算は月の件数で数えているので、回数を増やしても件数は変わりません。
Schedule Trigger は、ワークフローのタイムゾーンが無ければインスタンスのタイムゾーンを使い、セルフホストの既定は America/New York とされています。ワークフローのタイムゾーンを Asia/Tokyo にします。Schedule Trigger を使うワークフローは、保存して公開する必要があるとされています。月単位の間隔では日付を1〜31で指定でき、その日が無い月には動かないとされているので、29日以降は指定しません。
見回りのページは、URLの一覧として Data table に持ちます。 列は自治体名、ページの種類(報道発表/新着情報/条例/計画・意見募集)、RSS の有無、見る見出しの CSS セレクター、比較の対象に選んだ理由です。追加も削除も、表を直すだけで済みます。 第3章の(a)は、この表で解きます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 見回りのページの一覧 | 自治体名、URL、ページの種類、RSS の有無、CSS セレクター | Data table(企画政策課が作る) |
| 見たリンクの表 | ページごとのリンク、見出し、最初に見た日 | Data table(前回までの実行の記録) |
| 新しい公表 | 見出し、リンク先の本文、添付のPDF | 各自治体のページ |
| 重点課題の表 | 重点課題の名前、総合計画の中の位置、言い換えの語、いまの課題の説明 | Data table(企画政策課が作る) |
| 自分の市の事業の表 | 事業名、所管課、対象、内容の要約、関わる重点課題 | Data table(予算書と事務事業の一覧から作る) |
| これまでの参考事例 | 自治体名、施策名、関わる重点課題、国の制度の名前、企画担当の判断 | Data table(この構成の出力) |
質を決めるのは、重点課題の表の「言い換えの語」です。 他の自治体は、同じ取り組みを違う言葉で呼びます。移住・定住は「関係人口」「二地域居住」「お試し移住」、空き家は「住宅ストック」「管理不全」と書かれます。言い換えの語が無いと、一次の仕分けで落とします。 最初は課の4人で、それぞれの分野で見かける言葉を出し合って作ります。
自分の市の事業の表は、第3章の(d)を解くために持ちます。 事業名だけでなく内容の要約を入れておくと、名前の違う同じ事業にエージェントが気づけます。予算書の事業名は短く、それだけでは中身が分からないので、事務事業の一覧の説明から要約を作ります。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| RSS の項目 | RSS のあるページ | RSS Read(URL を一覧の表から渡す) |
| ページのHTML | RSS の無いページ | HTTP Request(GET)、Response Format は Text |
| リンクと見出し | 取ったHTML | HTML ノードの Extract HTML content(a 要素の属性とテキスト) |
| 新しい公表 | 今回のリンクと、見たリンクの表 | 表に無いリンクだけを残す |
| 公表の本文と資料 | 新しいリンクの先 | エージェントの道具の HTTP Request |
リンクの比較は、リンク先のURLと見出しの文字の組で行います。 自治体のページでは、同じ資料が更新されるとURLはそのままで見出しの日付だけが変わることも、URLが変わって見出しはそのままのこともあります。どちらか片方が変わったものは「更新」として拾い、一覧では新しい公表と分けて示します。
ページは、決まったURLだけを月2回取ります。 サイト全体を巡回しません。HTTP Request の Batching の Batch Interval で、1件ずつ間を空けて取ります。 自治体のサイトは住民のためのもので、見回りの負荷をかけないことが前提です。
取得の失敗は、Response のオプションで扱います。 Include Response Headers and Status を有効にすると、本文だけでなくステータスコードも受け取れます。 404 や 503 は「本日取得なし」として記録し、前回の一覧を今回とみなしません。
AIへ渡す前に整形する
- ページの共通部分を外す … メニュー、フッター、関連リンクは毎回同じなので、CSS セレクターで見る見出しの下だけに絞ります
- 関係の無い種類を落とす … イベントの開催報告、職員の採用、入札の結果、選挙の告示など、見出しの決まった言葉で分かるものは規則で落とします
- 一次の仕分けをする … 残った見出しと冒頭の文を生成AIに渡し、重点課題のどれに関わるか、関係が無いかだけを返させます
- 同じ公表の重複を除く … 新着情報と報道発表の両方に同じものが出ることがあります。リンク先のURLで1つにまとめます
- PDFの文字が取れるかを確かめる … 画像だけのPDFは文字が取れません。取れた文字数が少なければ「資料の中身は未確認」として人に回します
2番目と3番目は、落としたものの数を残します。 規則で落とした件数、一次の仕分けで「関係なし」とした件数と見出しを、実行ごとに記録します。関係のある事例を落としていないかは、この記録を月に1回、人が流し読みして確かめます。
AIに処理させる
させるのは、新しい公表1件ごとに、施策の中身と問い合わせ先を書かれたとおりに取り出し、重点課題と自分の市の事業に照らして関係と重なりを付けることです。
| させること | 使う道具 | 返すもの |
|---|---|---|
| 公表の本文と資料を読む | ページと資料を取る | 本文、資料の題名 |
| 施策の中身を取り出す | - | 施策名、種類(条例/計画/事業/実証)、対象、内容、開始時期、予算(書かれていれば) |
| 国の制度との関係を記録する | - | 本文に書かれた国・県の制度や交付金の名前、独自と書かれているか |
| 問い合わせ先を写す | - | 担当課、電話番号、メール(書かれたとおり) |
| 重点課題に照らす | 重点課題の表を引く | 関わる重点課題と、根拠にした本文の文 |
| 自分の市の事業と比べる | 自分の市の事業の表を引く | 内容の近い事業と、どこが違うか |
| これまでの事例と比べる | これまでの参考事例の表を引く | 同じ制度・同じ施策の過去の事例 |
国の制度との関係は、本文に書かれた名前だけで記録させます。 「国の○○交付金を活用し」のように本文に制度の名前があれば、それを写します。書かれていなければ「記載なし」で、独自の施策だと決めつけません。 一覧では、制度の名前が同じ事例をまとめて1つの塊にし、塊の外にあるものを先に並べます。 第3章の(b)は、ここで解きます。
| させないこと | 理由 |
|---|---|
| 問い合わせ先の補完 | 課の名前や電話番号を記憶や推測で書くと、所管課が誤った先に連絡する |
| 施策の評価(「先進的」「効果が高い」) | 良し悪しは企画担当と所管課が、資料と問い合わせで判断する |
| 効果の数字の作成 | ページに書かれた実績の数字だけを写す。計算や見込みを足さない |
| 自分の市に取り入れるべきかの結論 | 重なりの事実だけを書く |
| 開始時期・予算の推測 | 書かれていなければ「記載なし」 |
1行目がいちばん起きやすい失敗です。 報道発表の本文に担当課しか書かれていないと、生成AIはその自治体の代表電話や、よくある課の名前を補って書きます。補った電話番号に所管課が電話をかけると、相手の自治体の別の課の手を止めます。 書かれていなければ空欄にし、ページのURLを添えるだけにします。
指示内容を固定する
AI Agent ノードの System Message に、次のように書きます。
あなたは市の企画政策課で、他の自治体の新しい施策・条例・計画の公表を、
本市の総合計画の重点課題と照らす担当です。入力は、新しく見つかった
公表1件(自治体名、見出し、URL、一次の仕分けで付いた重点課題)です。
【やること】
1. 道具でページと添付の資料を取り、施策名、種類(条例/計画/事業/実証)、
対象、内容、開始時期、予算を取り出す。
2. 本文に国・県の制度や交付金の名前があれば、そのまま写す。
3. 担当課、電話番号、メールアドレスを、本文に書かれたとおりに写す。
4. 重点課題の表を引き、関わる重点課題と、根拠にした本文の文を挙げる。
5. 本市の事業の表を引き、内容の近い事業があれば、どこが同じで
どこが違うかを書く。
6. これまでの参考事例の表を引き、同じ制度・同じ施策の事例があれば挙げる。
【厳守事項】
- 施策名、対象、開始時期、予算、実績の数字は、本文と資料に書かれた
文言をそのまま写してください。書かれていなければ「記載なし」です。
- 担当課・電話番号・メールアドレスは、本文に書かれていないとき空欄に
してください。推測で補わないでください。contact_in_source を false に
してください。
- 国・県の制度の名前は、本文に書かれているときだけ書いてください。
書かれていないことを理由に「独自の施策」と書かないでください。
- 施策を「先進的」「効果が高い」などと評価しないでください。
- 本市に取り入れるべきかを書かないでください。本市の事業との重なりは、
事実だけを書いてください。
- 重点課題に関わらないと判断したときは relevant を false にし、
取り出しをしないでください。
【出力】指定のJSONの形で返してください。
「問い合わせ先を補わない」と「contact_in_source」を組にしているのが、この指示の要です。 補わないよう指示するだけだと、本文にあった連絡先と、補った連絡先の区別が出力から消えます。 本文にあったかどうかを項目として持たせれば、後段の規則でfalse の事例は一覧で「問い合わせ先は元のページで確認」と表示する、と決められます。
「書かれていないことを理由に独自と書かない」も同じ考えです。 制度の名前が本文に無いのは、書いていないだけのことが多くあります。独自かどうかの見立ては、企画担当が資料と問い合わせで確かめます。
出力形式を固定する
Structured Output Parser で、次の形のJSONを返させます。
{
"municipality": "",
"source_url": "",
"title": "",
"relevant": true,
"measure": {
"name": "", "type": "ordinance | plan | project | pilot",
"target": "", "summary_quote": "",
"start": "", "budget": ""
},
"national_scheme": { "name_in_source": "", "in_source": false },
"contact": { "section": "", "tel": "", "email": "", "contact_in_source": true },
"priority_issues": [ { "issue": "", "evidence_quote": "" } ],
"own_overlap": [ { "project": "", "department": "", "same": "", "different": "" } ],
"past_cases": [ { "municipality": "", "name": "", "date": "" } ],
"unverified": [""]
}
1つ目の理由は、national_scheme で一覧の並べ方を変えられることです。 制度の名前が同じ事例は1つの塊にまとめ、件数と自治体名だけを見せます。塊の外にある事例、つまり制度の名前の無い事例と、制度に乗りながら対象や中身が他と違う事例を先に並べます。
2つ目は、own_overlap で紹介の前に重なりが見えることです。 自分の市の事業と重なる事例は、所管課へ回す前に「本市の○○事業と対象が同じで、違うのは申請の方法」と書き添えられます。 第3章の(d)は、ここで解けます。
3つ目は、contact_in_source で補った連絡先を締め出せることです。
| 並べ順 | 中身 |
|---|---|
| 1 | 重点課題に関わり、national_scheme の名前が無く、own_overlap が空の事例 |
| 2 | 制度に乗っているが、対象や中身が同じ制度の他の事例と違う事例 |
| 3 | 同じ制度の事例の塊(件数と自治体名だけ) |
| 4 | own_overlap がある事例(本市の事業と比べる材料として) |
| 5 | 一次の仕分けで関係なしとした件数と見出し |
5行目も消さずに残します。 「関係なし」も、見回りをした記録だからです。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 各自治体のページ | RSS Read、HTTP Request(GET) | 新着の項目、ページ、資料を取る |
| 見回りのページ・見たリンク・参考事例 | Data table ノード | 読み取りと書き込み |
| 重点課題・本市の事業 | Data table ノード(読み取りだけ) | エージェントの道具として引く |
| Claude API | Anthropic Chat Model ノード | 一次の仕分けと、取り出し・照合 |
| 庁内のチャット | 通知 | 重点課題ごとの一覧 |
参考事例の表への書き込みは、ワークフローの側で行います。 エージェントの道具には、重点課題・本市の事業・これまでの参考事例を引くための読み取りだけを渡します。エージェントが表を書き換える経路を作りません。
生成AIのノードは Anthropic Chat Model ノードを使います。 Claude のモデルを会話型のエージェントで使うためのノードとされ、最大トークン数やサンプリングの温度を設定できます。取り出しの段では温度を低くし、同じ公表から同じ取り出しが返るようにします。
人が確認する
- 並べ順の1と2を読む … 重点課題ごとに、新しい事例の取り出しと根拠の文を読みます。ここが企画担当の仕事の中心です
- 元のページを開く … 参考にしそうな事例は、取り出しと元のページを見比べます
- 本市の事業との重なりを確かめる …
own_overlapがある事例は、所管課に回す前に重なりの書き方を確かめます - 参考にするかを決める … 参考事例の表に、判断(所管課へ回す/課内の記録に留める/対象外)と理由を残します
- 所管課へ回す … 問い合わせ先は、
contact_in_sourceがfalseなら元のページで確かめてから伝えます - 振り落とした見出しを流し読む … 月に1回、並べ順の5を見ます
4番目の判断の記録は、次の見回りで生きます。 「対象外」と判断した理由が残っていれば、同じ制度の事例が別の自治体から出たときに、エージェントがこれまでの事例として引きます。
目標は、1件をならして12分です。 取り出しと根拠の確認に6分、参考にするかの判断に4分、一覧の確認と回付に2分という見込みです。
例外に対処する
| 起きること | 対応 |
|---|---|
| ページが取れない | 「本日取得なし」として記録。前回のリンクの一覧を今回とみなさない |
| サイトの模様替えで全リンクが新しく見える | 1ページの新しいリンクが決めた件数を超えたら比較を止め、人に回す |
| PDFが画像だけで文字が取れない | 資料の題名だけを一覧に載せ、「資料の中身は未確認」とする |
| 本文に問い合わせ先が無い | 空欄。一覧で「元のページで確認」と表示する |
| 同じ施策が報道発表と新着情報に出る | リンク先のURLで1つにまとめる |
| 同じ施策の続報(募集の開始、結果の公表) | これまでの参考事例に同じ施策名があれば、続報として紐づける |
| エージェントの出力がスキーマに合わない | 見出しとURLだけを一覧に載せ、人に回す |
| RSS の配信が止まった | 前回から一定の日数、項目が増えていなければ、ページの見方を HTML に切り替える候補として知らせる |
上から2行目は、自治体のサイトの改修のときに起きます。 改修は年度の替わり目に多く、メニューや見出しの作りが変わると、すべてのリンクが新しく見えます。件数の上限を決めておき、超えたら止めるのが、同じ話を数百件並べないための仕組みです。
記録を残す
- 実行ごとの、ページの取得の成否とステータスコード
- 新しく拾った公表と、規則で落とした件数、一次の仕分けで関係なしとした見出し
- エージェントのJSON出力と、呼んだ道具の順番(Return Intermediate Steps)
- 企画担当の判断 … 事例ごとの判断と理由、所管課へ回した日
- 所管課からの反応(問い合わせた、事業の検討に入った、など)
3つ目の道具の順番は、Tools Agent の Return Intermediate Steps を有効にして残します。 エージェントが取った中間の手順を最終の出力に含めるかを選べるとされ、本市の事業の表を引かずに「重なりなし」と書いていないかを後から確かめられます。
04実装レベルの3段階
半自動化だけでも、①の新しい公表を探す時間はほぼ無くなります。 ページの比較と見出しの仕分けは、エージェントを使わずに組めます。残るのは、資料を読んで書き出す②と、本市の事業と照らす③です。 本格構成で減るのは、その②と③と④です。 段階を飛ばさず、半自動化の見回りを2〜3か月回して、拾った公表に漏れが無いかを担当者のこれまでの見回りと比べてから、エージェントを足してください。
05工数削減シミュレーション
導入後 60件 × 12分 ÷ 60 = 12 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 市の企画政策課・政策推進課などで、総合計画の重点課題(子育て、移住・定住、公共交通、空き家、デジタル化など)に関わる他の自治体の新しい取り組みを、担当者が各自治体のWebを見て追いかけている場合。議会の質問や庁内の検討で「他の市ではどうしているか」を聞かれるたびに、調べ直しになっている場合。比較の対象の自治体を、類似団体や近隣、先行例のある自治体として20〜40に決められる場合。
- 比較の対象が数自治体に限られ、担当者が月に1回ページを見れば足りる場合。総合計画の重点課題が言葉として整理されておらず、照らす先が決まらない場合(先に重点課題の一覧を作ります)。なお、どの事例を自分の市に取り入れるか、他の自治体へ問い合わせるかの判断は、企画担当と所管課が行います。この構成は見つけて並べるところまでで、施策の良し悪しは判断しません。
07最小構成で試す方法
- 過去3か月に担当者が見つけた事例から、5件を選ぶ(国の制度に乗った事例と、本市の事業と重なる事例を1件ずつ入れる)
- 重点課題の一覧と、関係しそうな本市の事業の説明を書き出す
- 生成AIの画面に、各事例のページの本文と、重点課題・本市の事業を貼る
- 「施策名・対象・開始時期・問い合わせ先を書かれたとおり取り出し、関わる重点課題と本市の事業との重なりを挙げてください。書かれていないことは記載なしとし、評価はしないでください」と指示する
- 出てきた結果を、当時の担当者のメモと比べる
| 出てきた内容 | 判断 |
|---|---|
| 当時のメモと同じ重点課題と重なりが出た | ワークフローを組む段階に進む |
| 問い合わせ先を補った | 指示の書き方で直る。contact_in_source を持たせる構成で進める |
| 本市の事業との重なりが出ない | 事業の表の要約が足りない。 要約を書き足すのが先 |
3行目が出ることは珍しくありません。 その場合は、重点課題ごとに主な事業10件ほどから、事務事業の一覧の説明を写して要約を作ってください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| エージェントが問い合わせ先を補う | 指示で禁じ、contact_in_source を持たせる |
| 同じ制度の事例で一覧が埋まる | national_scheme で塊にまとめ、塊の外を先に並べる |
| 言い換えで一次の仕分けから落ちる | 重点課題の表に言い換えの語を持たせ、落とした見出しを月1回見る |
| 本市の事業と重なる事例を紹介してしまう | 本市の事業の表に内容の要約を持たせる |
| サイトの改修で全リンクが新しく見える | 新しいリンクの件数に上限を置き、超えたら止める |
| 自治体のサイトに負荷をかける | 決まったURLだけ、月2回、間を空けて取る |
| 施策の評価が一覧に混ざる | 指示で禁じ、取り出しは本文の文言の写しにする |
| 月1回では公表から知るまでが長い | 月2回動かす。件数の数え方は変えない |
上の3行が、この構成の失敗のほとんどです。 どれも「見つけて並べる」と「参考にするか決める」の境目の問題です。AIが拾い、人が選ぶ、の線を出力の形で守ってください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 他の自治体が公開しているページと資料、本市の総合計画の重点課題、本市の事業の一覧です。いずれも公表された情報で、住民の個人情報は扱いません。
- 住民の情報を表に入れない … 本市の事業の表には事業の説明だけを入れ、利用者の名簿や相談の記録を道具の先に置きません
- 他の自治体のサイトの利用の決まりを確かめる … 見回りの対象を決めるときに、各自治体のサイトの利用の案内を確かめます。自動での取得を断っているサイトは、人が見る一覧に回します
- 見回りの負荷を抑える … 決まったURLだけを月2回、間を空けて取ります
- 参考にするかの判断は人が行う … この構成が出すのは候補と根拠です。他の自治体の施策の良し悪しを、AIの出力で判断しません
- 庁内で生成AIを使うときの決まりに沿う … 外部の生成AIのAPIを使ってよいかは、庁内の生成AIの利用の方針で確かめます。扱うのは公表された情報ですが、一次の仕分けに本市の検討中の事業の情報を混ぜないよう、表に入れる範囲を決めておきます
誤りが起きた場合のリスクは、誤った問い合わせ先を所管課に渡すことと、本市ですでに行っている事業を新しい事例として紹介することの2つです。 前者は連絡先の補完で起き、後者は本市の事業の表の要約の不足で起きます。
10まず何から始めるか
1週目:比較の対象と見回りのページの表を作る
担当者4名に、毎月見ている自治体とページを書き出してもらい、1つの表にします。比較の対象を選び直すなら、類似団体別市町村財政指数表の団体名の一覧を出発点にします。この表ができた時点で、第3章の(a)の半分は解けています。
2週目:5件で試す
第8章の手順で、過去の事例5件の取り出しと照合をさせます。問い合わせ先を補っていないかと、本市の事業との重なりが出るかを見ます。
3週目:重点課題の表と本市の事業の表を作る
重点課題ごとに言い換えの語を出し合い、主な事業の要約を事務事業の一覧から写します。
4週目:見回りと一次の仕分けを n8n で動かす
RSS とページの比較、見出しでの一次の仕分けまでを組みます。エージェントはまだ入れず、拾った公表を担当者の見回りと2〜3か月比べます。
それ以降: エージェントを足し、参考事例の表に企画担当の判断を毎月残します。議会の質問の準備で、表を絞るだけで答えの材料がそろうようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 令和6年度類似団体別市町村財政指数表が公表され、類型の設定と市町村の選定の章、政令指定都市・特別区・中核市・特例市・都市類型・町村類型ごとの表、都道府県別団体名一覧表が載っていること(原文を取得して確認) | 総務省: 令和6年度類似団体別市町村財政指数表 | 2026-10-08 |
| Schedule Trigger が、ワークフローのタイムゾーンかインスタンスのタイムゾーン(セルフホストの既定は America/New York)を使うこと。保存して公開する必要があること。月単位では日付を1〜31で指定でき、その日が無い月には動かないこと | n8n Docs: Schedule Trigger | 2026-10-08 |
| RSS Read ノードが公開された RSS からデータを読み、パラメーターが URL であること | n8n Docs: RSS Read | 2026-10-08 |
| HTTP Request ノードの Response のオプション(Include Response Headers and Status、Response Format)と Batching(Batch Interval)。AIエージェントの道具として使えること | n8n Docs: HTTP Request | 2026-10-08 |
| HTML ノードの Extract HTML content が、CSS セレクターで属性・テキストなどを取り出せること | n8n Docs: HTML | 2026-10-08 |
| Data tables がプロジェクト単位の表で、ワークフローの中でデータを保存・操作できること。インスタンス全体の既定の上限が 200 MiB で、セルフホストでは変更でき、上限に達すると実行がエラーになること | n8n Docs: Data tables | 2026-10-08 |
| Tools Agent が外部の道具と API を使い、タスクに応じて使う道具を決めること。System Message、出力パーサー(Structured Output Parser)、Return Intermediate Steps のオプション | n8n Docs: Tools Agent | 2026-10-08 |
| Anthropic Chat Model ノードが Claude のモデルを会話型のエージェントで使うためのノードで、最大トークン数とサンプリングの温度を設定できること | n8n Docs: Anthropic Chat Model | 2026-10-08 |
比較の対象の自治体のサイトの利用の決まりは、各自治体の案内で確かめてください。 本記事は確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0919)についてのご相談はこちらから。
