投稿する

行政失敗ずかん (gyosei-shippai-db)

日本の行政事業における過去の失敗事例(廃止・指摘案件)を網羅的に収集・構造化し、「何が起きたか」だけでなく「なぜ起きたか」「民間ビジネスへの教訓は何か」を三層で分析する公開データベースです。会計検査院の報告書などから2,000件以上の事案を自動集約し、AIが50種以上の失敗パターンに分類して教訓を抽出します。 24個の専門エージェントからなる自律型パイプラインが、日次のデータ収集から品質評価、プロンプトの自己改善までを自動で完結させる点が特徴です。新規事業の起案時に、類似条件の過去事案を検索してリスクを予見・回避するための「予防診断装置」としての活用を想定しています。 豊富な分析レポートやWeb UI、API、Windowsタスクスケジューラによる安定運用を統合しており、API課金を抑えつつ継続的に知見を深めるエンジニアリング重視の設計となっています。
zip未取得

行政失敗ずかん (gyosei-shippai-db)

日本の行政が過去に廃止・指摘した事業を継続収集し、「何が起きたか / なぜ起きたか / 同じ構造を持つ民間ビジネス」 の三層で整理する公開データベースです。

新しい事業計画を起案する前に、似た条件で過去に何が起きたかを確認し、同じ轍を避けるための場所として設計しています。

本データベースに掲載される分類・教訓・根本原因・防止策の多くは機械学習モデルによる生成物を含みます。意思決定の最終判断は人間が行ってください。詳細は docs/GOVERNANCE.md。

---

仕組みの根本

公的に開示された行政事業データを 収集 → 構造化 → 分析 → 配信 の 4 工程で扱う、サブスク完結型の AI パイプラインです。一度仕掛けたら毎日 03:00 に自動で 1 サイクル動き続け、新しい事案が増えるごとに自分の分類精度を測り直し、必要ならプロンプト改善案を自動で書く設計になっています。

┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│ 収集層       │ → │ 処理層       │ → │ 索引層       │
│ discovery    │    │ extractor    │    │ similarity   │
│ crawler      │    │ classifier   │    │ (embeddings) │
└──────────────┘    │ qa / resolver│    └──────────────┘
                    └──────────────┘            ↓
                            ↓             ┌──────────────┐
                    ┌──────────────┐      │ 配信層       │
                    │ メタ層       │      │ Next.js UI   │
                    │ taxonomy     │      │ + JSON API   │
                    │ root_cause   │      └──────────────┘
                    │ business_lsn │
                    └──────────────┘

各層は独立した Python モジュールで、SQLite を中央 store に共有します。LLM 呼び出しは Claude.ai / ChatGPT のサブスク経由のみ で、外部 API 直接課金はゼロです。

---

何を貯めているか

カテゴリ内容
事案 (cases)会計検査院の検査報告から抽出した個別失敗事業。事業名 / 組織 / 金額 / 期間 / 本文 / 出典 URL
分類タグ (tags)失敗パターン (制度設計の穴 / 算定誤り / 履行確認不備 等) を 10 親 + 49 sub の階層で付与
教訓 (lessons)各事案 1 行の本質教訓
根本原因 (case_rca)構造的失敗原因 + counterfactual (もし◯◯していれば) + 防止策 (行政向け / 民間向け)
企業教訓 (business_lesson)同じ失敗構造を持つ民間プロジェクトへの翻訳 + 早期警報 + アクション
意味的近傍 (case_embeddings / similar_cases)sentence-transformer 384 次元ベクトル + cosine 類似度 Top-N
レビュー待ち (review_queue)自動分類の低信頼度起票 + AI 1 次判定 + 監査結果

---

データ規模 (現時点)

項目値
収録事案2,193 件 (会計検査院 H28–R05、8 年分)
有効 cases1,994 件 (除外 199: 目次/集計ページ等を auto-detect で排除)
投入タグ3,985 件
失敗分類体系59 active タグ (10 親 + 49 sub)
教訓 (lessons)全件カバー
累計指摘額約 122.3 兆円
100 億円超事案247 件
根本原因分析 (RCA)2,030 件 (92.6%)
民間翻訳 (Business Lesson)1,844 件 (84.1%)
意味的近傍embeddings 2,193 件 / similar_cases 21,930 行
累計 API 直接課金¥0 (Claude.ai + ChatGPT サブスク内で完結)

---

動かし続ける仕組み (Resilience)

「PC を朝つけたらまた壊れていた」を避けるため、停止/障害の検知と自動復旧の経路を多層に組んでいます。

仕組み役割
Windows タスクスケジューラ 8 タスク日次/週次/月次の運転 (詳細は後述)
scripts/refresh_web.pypublisher + health_export + cooccurrence + trend_detector を 1 コマンドで更新
scripts/health_check.pyDB / web data / cron ログの健全性検査 (cron 完了後に exit code で異常通知)
scripts/llm_watchdog.pyPython 生存数 × DB 書込み age × log timeout 多軸で stall 検知、alert 出力
scripts/db_watch_refresh.pyDB mtime と web data mtime を比較し、ズレを検知したら自動再生成
scripts/schedule/schtasks_status.ps1schtasks の真の Last/Next Run + 失敗履歴 dashboard
Discord / LINE webhook 通知.env 設定で失敗時に外部チャンネルへ送信
scripts/db_backup.ps1DB を 7 世代 rotate (毎日 02:30)

---

賢くなる仕組み (Continuous Improvement)

「動かすほどデータが溜まり、自分の出力品質を測って改善案を書く」ループを内蔵しています。

新規事案 ─→ 分類 ─→ qa 起票 ─→ resolver_v3 が下書き ─→ auto_approver が閾値判定
                                       │                       │
                                       ↓                       ↓
                                review_queue_audit       deferred_applier (実 DB 反映)
                                       │                       │
                                       ↓                       ↓
                              audit_score 低い分        intelligence_log に進化記録
                                       │
                                       ↓
                            prompt_auto_tuner が改善案 (proposals/*.md)
                                       │
                                       ↓
                            assemble_prompt_v4_candidate が次バージョン雛形
                                       │
                                       ↓
                            人間レビュー → resolver_v4 化 → A/B test → 採用
仕組み役割
scripts/daily_incremental_ingest.py未取得 URL から毎日 N 件を自動 ingest、ベース事案を日々増やす
evaluator-agent + case_resolver_auditresolver 出力を独立サンプルで採点、accuracy をログ
review_queue_audit.py --ids-file学習時に見ていない hold-out で v3 を 0.861 まで実証 (audit_id=8)
prompt_auto_tuner.py低 score サンプルから改善案を action 別に生成 (proposals/2026-05-17_prompt_resolver_tune_*.md)
assemble_prompt_v4_candidate.py提案を集約し v4 移行 10-step を出力
weekly_classifier_quality.py固定 protocol (sonnet n=30) で分類品質の時系列を測る
taxonomy-agent + proposals/肥大したタグを Opus で sub-tag 分割提案 → auto_apply
intelligence_log テーブル週次の avg_confidence / accuracy / coverage を歴史化

---

主要な利用面

ページ / コマンド入力出力
/casesキーワード / 組織 / 金額 / 年度 / タグ該当事案リスト + CSV エクスポート
/patterns失敗パターン名定義 / 典型構造 / 計画への問い / 代表事案
/diagnose事業計画テキスト類似失敗 Top-5 + 警戒タグ + 防止策抜粋
/analytics(なし)組織×パターン heatmap / 共起 lift / 規模補正異常値
predict_risk_v2 --file plan.txt (CLI)計画テキストリスクスコア + 警戒タグ + 類似事案 + v6 RCA から集約した予防策 + Markdown 診断レポート

利用面はすべて「新規事業を起こす立場の人が、過去事案から学んで意思決定を改善する」ための入口として配置しています。診断・統計・分析の各出力は出典 URL 付きで、最終判断者が原典に当たれる構造です。

---

アーキテクチャ

LLM 呼び出し方針

用途担当
規約判断 / タグ品質 / スキーマ進化 / コンテンツ生成Claude (Claude.ai サブスク、src/utils/claude_runner.py 経由)
量を捌く構造化抽出 / コード生成Codex CLI (ChatGPT サブスク、src/utils/codex_runner.py 経由)

各エージェントは Anthropic SDK / OpenAI SDK を 直接呼ばず、上記 runner 経由でサブスク認証を使います。環境変数 ANTHROPIC_API_KEY は未設定が前提です。

サブエージェント

.claude/agents/ 配下に 24 個のサブエージェントを 4 階層に分けて配置。

  • 階層 1: 取得・分類 — discovery / crawler / extractor / classifier / qa
  • 階層 2: 自己改善 — evaluator / curator / taxonomy / prompt-tuner / trend-detector
  • 階層 3: 知見抽出 — synthesizer / analyzer / insight / anomaly-detector / pattern-miner
  • 階層 4: 価値出口 — content / publisher / summarizer / prediction-engine
  • 戦略層 — research-agent

詳細は docs/AGENTS.md。

スケジュール

scripts/schedule/*.ps1 を Windows タスクスケジューラに登録して 24h 稼働。

タスク頻度内容
gyosei-daily-pipeline毎日 03:00日次インクリメンタル ingest + crawler → extractor → classifier → resolver → applier → refresh_web
gyosei-daily-analytics毎日 06:00analyzer + publisher
gyosei-weekly-monday月 06:00trend / anomaly / pattern / organization_rate
gyosei-weekly-friday金 18:00synthesizer / content / evaluator / prompt-tuner
gyosei-weekly-sunday日 21:00taxonomy review (条件付き)
gyosei-monthly月初 06:00curator / research / 月次 analyzer
gyosei-db-backup毎日 02:30DB バックアップ 7 世代 rotate
gyosei-db-watch毎日 12:00DB mtime 監視 + web data 自動 refresh (漏れ防止)

詳細は docs/RUNBOOK.md。

---

データソース

ソース規約状態
会計検査院 検査報告データベース政府標準利用規約 (第 2.0 版)稼働中 (H28–R05、8 年度)
行政事業レビュー見える化サイト政府標準利用規約e-Gov 経由 CSV/JSON、着手準備中
自治体事務事業評価 PDF自治体個別フェーズ 2 以降

クロール時の絶対ルール (qa-agent が自動拒否で強制):

ルール内容
robots.txt 確認クロール対象サイトで最初に確認
アクセス間隔最低 1 秒、推奨 2 秒以上
User-Agent 明示gyosei-shippai-db-bot/0.1 (contact: <email>)
全文再配布禁止出力はメタデータ + タグ + 教訓 + 出典 URL 誘導のみ
出典明記全事案に出典名と取得日を必須記録
dry-run モード全クローラに --dry-run 必須実装

詳細は docs/DATA_SOURCES.md。

---

クイックスタート (開発者向け)

前提

ツール版
Python3.10+
Node.js20+
SQLite3
Claude Code最新
Codex CLI任意 (量を捌くタスク用)
PowerShell7+ (Windows)

セットアップ

git clone https://github.com/HY3YH/gyosei-shippai-db
cd gyosei-shippai-db

pip install -r requirements.txt
python src/db/migrate.py

cd web && npm install && npm run dev   # http://localhost:3030

動作確認

# 現状スナップショット (DB 主要指標)
python scripts/status.py --axes

# 単発スモーク (LLM 不使用)
python -m src.analyzers.coherence_checker --sample 3 --prompt-version v6 --dry-run

# 健全性検査
python scripts/health_check.py

---

データの保管 / バックアップ

このリポジトリに含まれるもの / 含まれないもの

種類リポジトリ (= GitHub)場所
コード (src/ web/ scripts/)✅ 含むgit 追跡
プロンプト (prompts/) / 教師例 (seeds/)✅ 含むgit 追跡
スキーマ定義 (migrations/)✅ 含むgit 追跡
配信用 JSON スナップショット (web/public/data/)✅ 含むgit 追跡
作業ログ (worklog/)✅ 含むgit 追跡
DB 本体 (data/db/gyosei.db)❌ 含まないローカルのみ
生 HTML (data/raw/)❌ 含まないローカルのみ
個人方針メモ (memory/)❌ 含まないローカルのみ
.env (API キー等)❌ 含まないローカルのみ

データを GitHub に上げないのは標準的な分離であり、.gitignore で除外しています。

現状のサーバ構成 (シンプル)

[Windows PC 1 台]
├── C:\...\gyosei-shippai-db\data\db\gyosei.db       ← SQLite 本体 (100MB ±)
│      └── scripts\db_backup.ps1 → 同 PC 内に 7 世代 rotate
├── OneDrive 同期               ← デスクトップ配下のため OneDrive クラウドにも自動コピー (設定次第)
├── Windows タスクスケジューラ   ← 8 タスクで日次/週次/月次運転
└── Claude.ai + ChatGPT Plus サブスク  ← LLM 呼び出し (API 課金ゼロ)

ローカル単体で完結するため最小コストで動きますが、PC ディスクが壊れたら DB を失います。

本番運用時の補強案

強化対象標準的な選択肢
DB ホスティングCloud SQL / RDS / Cloudflare D1 / Supabase
Off-site スナップショットS3 / R2 / GCS / B2 への daily backup (Restic 等で暗号化)
別端末レプリカ別 PC / NAS / 外付け SSD への rsync
機密管理AWS Secrets Manager / GitHub Actions secrets / 1Password Connect
公開 deployCloudflare Pages / Vercel / GitHub Pages
アラート通知Discord / LINE webhook (現状 .env 設定で対応可、外部監視 SaaS 連携は未)

詳細は docs/PRODUCTION_READINESS.md の「1.4 バックアップ」「1.5 セキュリティ」節。

受領者が手元で復元する場合

このリポジトリだけでは DB の中身は再現できません:

  1. DB 本体を別途受領 (data/db/gyosei.db を直接コピー) → そのまま全データ復元
  2. 空 DB から再構築: python src/db/migrate.py → crawler → classifier → RCA を回す。Claude.ai サブスク必須、数日かかる
  3. 閲覧のみ: web/public/data/*.json がリポジトリに含まれているため、npm run dev で UI 上の表示だけは再現可能 (新規分析・診断は不可)

---

セキュリティ

項目ルール
API キーコード直書き禁止。環境変数経由 (os.environ.get) のみ
.env ファイルcommit しない (.gitignore 除外済)
ログ出力キー・パスワード・個人情報を worklog/ / logs/ に書かない
漏洩時対応console.anthropic.com で 5 分以内に Revoke

コミット前セルフチェック:

git diff --cached | Select-String -Pattern "sk-ant-[A-Za-z0-9_-]{20,}|sk-[A-Za-z0-9_-]{40,}|gh[ps]_[A-Za-z0-9]{30,}|AIza[A-Za-z0-9_-]{30,}|AKIA[A-Z0-9]{16}"

ヒットしたらコミットしない。詳細は docs/SECURITY.md。

---

ディレクトリ構成

gyosei-shippai-db/
├── CLAUDE.md                  Claude Code 用プロジェクト憲法
├── README.md                  本ファイル
├── .claude/
│   ├── agents/                サブエージェント定義 (24 個)
│   ├── skills/                スキル定義
│   └── commands/              スラッシュコマンド
├── src/                       Python 実装
│   ├── crawlers/              データソース別クローラ
│   ├── extractors/            HTML / PDF → cases
│   ├── classifiers/           Few-shot 分類 + evidence_filler
│   ├── analyzers/             RCA / business_lesson / coherence / evaluator
│   ├── evaluators/            review_queue resolver / auto_approver / applier
│   ├── prediction/            予防診断 (predict_risk_v2)
│   ├── publishers/            DB → web/public/data/*.json
│   └── utils/                 claude_runner / codex_runner / llm_runner
├── web/                       可視化システム (Next.js 14 + Tailwind)
│   ├── app/                   17 ページ (App Router)
│   ├── components/            UI 部品
│   └── public/data/           publisher が出力する JSON
├── prompts/                   LLM プロンプト (バージョン管理対象)
│   ├── taxonomy.json
│   ├── root_cause/v1〜v6.md
│   ├── coherence/v1.md
│   └── evaluator/
├── seeds/                     Few-shot 教師データ (curator-agent で進化)
├── migrations/                SQLite マイグレーション (001-020)
├── scripts/
│   ├── schedule/              タスクスケジューラ統合
│   ├── notify/                LINE / Discord 通知
│   ├── refresh_web.py         全 web data を 1 コマンドで更新
│   ├── health_check.py        健全性自動検査
│   └── status.py              現状スナップショット
├── data/                      生データ + SQLite (gitignore)
├── reports/                   自動生成された分析レポート
├── proposals/                 taxonomy / prompt 改善提案
├── diagnostics/               予防診断 demo / レポート
├── plans/                     診断用サンプル計画テキスト
├── worklog/                   セッション作業ログ (JST、追記専用)
├── memory/                    永続知識 (gitignore、ローカル)
└── docs/                      設計ドキュメント

---

ドキュメント一覧

ファイル内容
CLAUDE.mdClaude Code 用プロジェクト憲法 / 起動手順
CONTRIBUTING.md貢献ガイド / コミットルール
docs/AGENTS.md24 エージェントの役割・モデル・実装状況
docs/ARCHITECTURE.mdシステム全体構成・データフロー
docs/PIPELINE_SPECIFICATION.md10 stage の canonical パイプライン仕様
docs/RUNBOOK.md日常運用・Codex 連携・タスクスケジューラ統合
docs/DATA_SOURCES.mdデータソース詳細・規約・取得手順
docs/DATA_SOURCE_PLAYBOOK.md新ソース追加の 5 ステップ
docs/DATA_SOURCE_ROADMAP.mdデータソース拡大計画
docs/GOVERNANCE.md信頼性と限界・規約遵守
docs/SECURITY.mdAPI キー管理・漏洩時対応
docs/PRODUCTION_READINESS.md本番公開前 見直しチェックリスト
docs/BRIEF_RCA_COHERENCE_AND_EVAL.mdRCA / coherence / evaluator の設計
docs/EVALUATOR_REFACTOR_PLAN.mdevaluator の Plugin 化計画
docs/ROADMAP.md進行状況・残タスク
docs/FAQ.mdよくあるトラブルと対処
docs/GLOSSARY.mdプロジェクト固有の用語集

---

貢献・コンタクト

---

ライセンス

  • コード: MIT License
  • データ: 政府標準利用規約 (出典: 会計検査院 / 行政事業レビュー) に準拠
  • AI 生成テキスト (分類タグ・教訓・根本原因等): 出典明記・改変明示の条件下で再利用可

詳細は docs/GOVERNANCE.md。