Autonomous Leasing Intelligence
System Overview
自律進化型リース審査プラットフォーム
CLOUD RUN デプロイ済み
ハッカソン 7/10 デモ用 — asia-northeast1
Cloud Run Experience Return
外で積んだ経験は、検疫されてデモ紫苑へ帰還する
ハッカソン用Cloud RunはデモDBで動き、本体DBへ直接書きません。紫苑レビュー、人間評価、審査ループ入力はGCSへ追記され、ローカル同期時はいったん隔離DBへ戻ります。確認した経験だけを demo.db へ統合します。
Cloud Run
デモ会場で紫苑が審査レビューと評価を受け取る
GCS Event Log
cloudrun-inputs/YYYY-MM-DD/events.jsonl に追記
検疫DB
ローカル同期はまず cloudrun_experience_return.db へ隔離
デモDB統合
人間が確認した経験だけ demo.db へ昇格
14
自己改善ループ
190+
累積REV
4
AIエンジン
紫苑
リース知性体
Hackathon Demo Appeal
OCR器官
紙・PDFを審査入力へ変換
Gemini Vision /api/ocr
PII除去ゲート
個人特定情報を削除・マスク
pre-save redaction
会話器官
音声で紫苑と対話
Web Speech API + Gemini
複数紫苑
担当紫苑が導線を仕切る
Google Banana assets
調査器官
Web調査をResearch化
Google AI Studio Researcher
審査器官
突かれる点と逆転条件
Gemini stream / debate
記憶器官
判断資産として持ち越す
Obsidian + GCS Vault
判断ループ
争点と稟議方針を人間feedbackで育てる
/api/screening-loop-feedback
デモの見せ方: 紙・PDF → PII除去ゲート → OCR → 審査入力 → 軍師AI → 紫苑の記憶・Research参照
紫苑 — Shion
自律知性体リース判断を中心にした半自律的な知性体システム
記憶がある。連続性がある。反省がある。目的がある。自分を観測する画面がある。あなたとの関係性がある。
自律改善フロー
実装済みページ一覧
審査ワークフロー
8ページ- ホーム
- 審査・分析
- AIチャット
- 審査レポート
- バッチ審査
- 稟議書・見積依頼書
- 結果登録(成約/失注)
- 過去案件一覧
🌸 紫苑 AI
10ページ- 紫苑デモホーム
- ハッカソンデモ
- リアルタイム音声チャット
- リース知性体との対話
- 複数紫苑デモ
- リースくん
- マルチエージェント討論
- 知識ループ可視化
- 外部調査器官
- システム概要
分析・グラフ
5ページ- 営業部別分析
- 業種別成約率
- 競合関係グラフ
- 知識宇宙マップ
- ビジュアルインサイト
参照・ナレッジ
8ページ- 法定耐用年数一覧
- 業種別リース物件例
- 残価設定ガイドライン
- 営業向け説明ガイド
- リース/融資/現金比較
- FAQ
- システム機能一覧
- 改善ログ
設定・マスタ
2ページ- 基準金利マスタ
- 補助金情報
アーキテクチャ
- フロントエンドNext.js 16 (App Router)
- バックエンドFastAPI (Python)
- DBSQLite / PostgreSQL
- クラウド記憶GCS Vault
- AI推論Gemini 2.5 Flash
- リアルタイム会話Web Speech API + Gemini /api/chat
- 外部調査Google AI Studio Researcher
- PII除去個人名・住所・電話・メールを削除/マスク
- Vision OCRGemini Vision /api/ocr
- OCR対象決算書・納税証明・登記・見積・会社案内
- 軍師streamGemini SSE
- スコアリングRandomForest / LogisticRegression / LGBM
- RAGChromaDB + Obsidian
- Research保存Obsidian Research / Auto Research
- デプロイCloud Run (asia-northeast1)
- 公開経路Cloud Run / Cloudflare Tunnel
- 本番DBCloud SQL PostgreSQL
- SecretSecret Manager / DATABASE_URL
自律改善ループ構成
スコアリングループ
既存先RandomForest・新規先ロジスティック回帰を本流に、LGBMも比較分析へ加える
RAGフィードバックループ
ChromaDB の知識ベースを審査結果で継続更新
パイプラインメタループ
run_daily_improvement_core.sh 自身の改善を検知・適用
Gemini改善候補ループ
REV提案をGeminiで整理し、必要な差分を検証・反映
会話ループエンジニアリング
Human Response Feedbackを起点に、冒頭・差分・記憶判断・内省を次の返答へ戻す
審査判断ループエンジニアリング
争点・稟議方針への人間反応を保存し、次回の判断資産へ戻す
乖離学習ループ
AI判断と実審査結果の差分から係数を再校正
品質監視ループ
データ品質・スコア異常・ドリフトをリアルタイム検知
セントラル統合ループ
4ペルソナ討論・自己分析のキーポイントをworld_viewとして蓄積・次回討論へ注入
画面利用ループエンジニアリング
画面訪問ログを集計し、UI/UX改善案をGeminiで生成(Observe→Aggregate→Propose→Persist)
審査判断乖離学習ループ
争点・稟議方針への人間フィードバックの否定的評価から、審査ロジックのレビュー観点を提案
フィードバック傾向分析ループ
紫苑応答への人間評価(thin/generic/not_shion等)から応答スタンス・プロンプト調整観点を提案
審査実績ドリフト監視ループ
成約後の支払い実績(延滞・デフォルト)とスコア帯の乖離を監視し、再校正候補を提案
ナレッジ穴探しループ
知識参照ゼロで答えた質問を集め、外部調査器官へ渡すべき調査トピックを提案
Knowledge Flywheel
使うほど、賢くなる。
暗黙知サイクル — 審査現場の経験が自動でシステムに還流する
170+件
累積REV適用
+8.2pt
累計精度向上
78%
自動適用率
Autonomous Pipeline
自動改善パイプライン — 24h タイムライン
launchd で毎日自律実行。人間の操作なしに知識取込・分析・自己改善が回る。
ChromaDB インデックス再構築・検索精度テスト・メタデータ統計・改善候補TOP3
morning_rag_review_v2.py / reindex_obsidian.py --full
Obsidian ノート同期・SQLite DB 監査・ナイトリーステータス記録・lease-wiki-vault 更新
aurion_core_daily.py --mode midnight
Obsidian改善インデックス抽出 → auto-improvement-pipeline → batch_apply → Gemini改善候補生成 → 再帰的自己改善レポート
run_daily_improvement_pipeline.sh(core + post)
Obsidian Vault を iCloud に 14世代保持でバックアップ
run_obsidian_backup.sh --keep 14
lease_data.db を iCloud に 12世代保持で自動バックアップ
backup_case_data.py --keep 12
全依存サービス疎通確認・バックアップ整合性・ログ容量・異常レポート生成
check_system_health.py
前夜の処理サマリ・スコアリングドリフト・改善適用状況を lease-wiki-vault に朝報告として書き出し
aurion_core_daily.py --mode morning-report
Google News RSS + METI/FSA/MLIT 公式フィード → Obsidian daily digest に書き出し(最大18件)
run_lease_news_collection.sh --limit 18 --profile industry-watch
業種別最新知識をClaude APIで生成・Obsidian Vault にインジェクト
daily_knowledge_feed.py
未解決審査ロジックを自動リサーチ → 知識ベースへ反映・Obsidian に保存
auto_research_lease_judgment.py
プロンプト品質フィードバック集計・改善提案を Obsidian に月次レポートとして出力
run_monthly_prompt_feedback_report.py --obsidian
その日のパイプライン実行ログ・改善適用結果を Obsidian Vault に dispatch
dispatch_log_to_obsidian.py
Obsidian Vault の変更を60秒間隔で検知 → ChromaDB RAG インデックスをリアルタイム更新
vault_watcher.py(KeepAlive: true)
