# リース既存顧客深耕提案 — 運用ガイド

## 基本情報

| 項目 | 内容 |
|------|------|
| 業種 | リース |
| ユースケース | リース既存顧客深耕提案 |
| WFパターン (v4) | `start(営業メモ+タグ2) → kr1(知識検索 top_k=5) → llm1(JSON抽出+crosssell, temp=0.2, retry×2) → llm2(Markdown整形+クロスセルロードマップ, temp=0.5, retry×2) → end` |
| RAG | あり (5文書: 稟議パターン/業種テンプレ/競合対比/脱炭素制度/金融サービス・クロスセルカタログ) |
| 検証結果 | v4 E2E pass (2026-06-11, 5,557文字, 4/4 keys hit, 顧客固有引用 8/10, クロスセル 6/8, ≈142s, ≈23.5Ktokens, gpt-5-mini) |
| デモURL例 | テスト実行時に自動生成 (cleanup ルールにより都度削除) |

## 概要

既存顧客の **過去のリース取引履歴** と **社内稟議履歴** を踏まえて、
今回検討中の物件に対する「次の一手」を以下4セクションで生成する営業提案支援エージェント。
v4 では事務機・OA起点の取引から **リース以外の金融周辺サービス（集金代行・口座振替・ファクタリング・決済）** や
環境・省エネ設備、満了更改まで横展開する **クロスセル余地** を抽出し、提案書末尾の表として出力する
（総合ファイナンス系リース向け。大型設備の役員会突破と小口・多拠点の継続深耕の両方に対応）。

1. **提案方針** — 戦略ストーリーと差別化ポイント（金利以外＋リース以外の金融/周辺サービスのクロスセル余地を必ず含む）
2. **想定ニーズ** — 顕在ニーズ（入力中の根拠付き）と潜在ニーズ（経営層/現場/財務の3視点）
3. **トークスクリプト** — 営業現場で使えるQA形式 3-5本（過去稟議の固有事実を引用）
4. **提案書叩き台** — エグゼクティブサマリ（宛先=顧客名/キーパーソン明記）／推奨スキーム／概算月額表／期待効果／競合比較／次のステップ／**取引深耕・クロスセルロードマップ表**

## 既存UCとの差別化

| | 「リース営業提案書生成」 | 「リース既存顧客深耕提案」(本UC) |
|---|---|---|
| 想定顧客 | 新規見込み顧客 | 既存顧客（過去取引あり） |
| 主な入力 | 企業情報＋設備見積 | 顧客業種＋**過去取引履歴**＋**稟議履歴**＋今回検討物件 |
| 主な出力 | 提案書ドラフト | 提案方針／**ニーズ仮説**／**トークスクリプト**／提案書叩き台 |
| 営業現場での使い方 | 初回提案資料の即時生成 | 役員会前の戦略策定／反論対策の事前訓練 |

## デモ手順

1. DDF Web UI (`/dashboard`) を開く
2. 「リース既存顧客深耕提案」の「デモ生成」ボタンをクリック
3. 業種「リース」、UC「リース既存顧客深耕提案」が自動入力される
4. 「デモ生成開始」をクリック
5. 生成完了後、デモURLを顧客に共有

## テスト入力例（抜粋）

```
■既存顧客
株式会社みらい物流（中堅運送業／埼玉、420名、売上78億円）

■過去のリース取引履歴
2018年: 中型トラック12台（5年リース・1.8億円）— 再リース継続中
2020年: フォークリフト8台（4年・3,200万円）— 買取済み
2022年: WMS（5年・6,500万円）— 残り1年
2023年: 営業所什器（4年・1,200万円）

■今回検討中
・EV配送トラック15台（1.5億円）
・倉庫太陽光＋蓄電池（8,000万円）
・倉庫AMR 10台（6,000万円）
総額 約2.9億円

■社内稟議履歴
2018: CFOキャッシュフロー平準化評価で1回通過
2020: 当初却下→残価設定型に修正して通過
2022: 役員会「5年は長い」指摘→保守込みで通過
社長「環境投資はやる、ただし数値根拠を出せ」
CFO「3億超は役員会＋大株主説明が必要」

■競合
地場銀行系リース 金利1.7%
```

## 顧客への説明ポイント

- 「**過去の稟議パターン** を学習に使うので、その顧客固有の意思決定文脈を踏まえた提案ができます」
- 「営業担当が変わっても、過去の取引・稟議履歴さえ渡せば同じ品質の提案戦略が出力できます」
- 「Self-hostedなので、御社の顧客台帳/稟議データは外部に出ません」

## v4 アーキテクチャ

```
start (営業メモ1枚 + タグ2)
  ├ sales_memo    (paragraph, required)  ← 顧客名/業種/過去取引/検討物件/稟議履歴/競合/資金繰り を1フィールドに貼付
  ├ industry_tag  (select,   optional)  ← 製造/医療・クリニック/介護/物流/小売・サービス/士業・オフィス/学校・自治体/建設/その他
  └ topic_tag     (select,   optional)  ← 複合機OA更新/集金代行・口座振替/ファクタリング/決済・後払い/環境省エネ/医療介護/満了更改/残価OL/役員会大型/補助金/その他
   │
   ▼
kr1: 知識検索 (knowledge-retrieval)
  - dataset_ids: [__KR_0__] (5文書: 稟議パターン/業種テンプレ/競合対比/脱炭素制度/金融サービス・クロスセルカタログ)
  - retrieval_mode: single, top_k: 5
  - query_variable_selector: [start, sales_memo]
   │
   ▼
llm1: 顧客分析・構造化JSON抽出
  - model: gpt-5-mini, temperature: 0.2
  - 入力: sales_memo + industry_tag + topic_tag + {{#kr1.result#}}
  - 出力: customer_profile / past_deals_summary / current_proposal_targets /
          approval_constraints / manifest_needs / latent_needs / proposal_strategy /
          crosssell_opportunities / talk_scripts / proposal_outline を厳密JSONで返す
  - retry_config: retry_count=2, retry_interval=200ms
   │
   ▼
llm2: 提案書叩き台 Markdown 整形
  - model: gpt-5-mini, temperature: 0.5
  - JSON を読み取り、4セクション固定構成 + 取引深耕クロスセルロードマップ表 のMarkdownに整形
  - retry_config: retry_count=2, retry_interval=200ms
   │
   ▼
end (result: Markdown)
```

### v1 → v2 → v3 → v4 進化

| 観点 | v1 | v2 | v3 | v4 |
|---|---|---|---|---|
| 入力 | query 単一 | 5変数 | 6変数(+検索焦点) | 営業メモ+タグ2 |
| LLM | 1段(0.6) | 2段(0.2/0.5) | 2段+RAG | 2段+RAG(5文書) |
| 出力 | Markdownのみ | +中間JSON | +業界知見引用 | +クロスセルロードマップ表 |
| 障害耐性 | なし | retry×2 | retry×2 | retry×2 |
| 時間/トークン | 69.5s / 10K | 117.2s / 19K | 162.9s / 23K | ≈142s / ≈23.5K |
| 顧客固有引用 | 高 | 高 | 高(9/10) | 高(8/10) |
| 差別化 | なし | なし | 業界事例引用 | **金融周辺サービスのクロスセル(集金代行/ファクタリング/決済)** |

### ナレッジベース構成

`knowledge/` 配下5ファイル (検索時 top_k=5 で全文書ヒット):

| ファイル | 内容 | 主な利用シーン |
|---|---|---|
| `稟議通過パターン事例集.txt` | 車両/倉庫自動化/環境設備/IT/役員会閾値＋小口OA即決・多拠点一括更改・満了更改・金融サービス提案タイミング | トークスクリプトの反論対応 |
| `業種別リース活用テンプレート.txt` | 物流/製造/医療/小売/建設＋オフィスOA/士業・サービス業/学校・自治体の典型パッケージ | 推奨スキームの構成 |
| `競合対比_銀行系vs専門系.txt` | 金利以外の差別化＋金融サービスでメイン化＋販売店/ベンダー連携(計9観点) | 競合比較・差別化 |
| `脱炭素関連制度2026.txt` | EV/太陽光/蓄電池/省人化＋中小向け小口省エネ(LED/空調/自家消費太陽光)の補助金・税制 | 期待効果セクションの数値根拠 |
| `金融サービス・クロスセルカタログ.txt` | 集金代行・口座振替/ファクタリング/決済・後払い/割賦ローン/保険/レンタル/満了更改の「トリガー→トーク→広げ方」 | クロスセルロードマップ生成 |

## AI品質評価コメント

v4 E2E pass (2026-06-11)。みらい物流(大型設備＋資金繰り/OA満了シグナル入り)の営業メモに対し、≈142秒で5,557文字を生成。
顧客固有事実の引用に加え、**リース以外の金融周辺サービスのクロスセル余地**が顧客シグナルから自動抽出された:

- **提案書末尾「取引深耕・クロスセルロードマップ」表**: 入力の固有シグナルから (1)荷主回収サイト長期化→ファクタリング (2)協力会社支払の振込/消込事務→集金代行・口座振替 (3)電気代高騰→環境・省エネ設備 (4)複合機12台+PC満了集中→満了更改 の4行を「きっかけ→顧客メリット→取引拡大の道筋」付きで生成
- **提案方針**: 「金利以外＋集金代行/ファクタリングで運転資金改善＋事務削減」を差別化点として明示、「メインバンク的取引へ拡大する基盤」と位置づけ
- **トークスクリプト**: 銀行系1.7%への切り返しに「金利以外＋運転資金メニュー(集金代行/ファクタリング)同時提供」を織り込み
- **RAG**: KB5文書から残価スライド・発電量保証・補助金申請支援・過去稟議パターンを引用

大型設備案件(役員会3億回避・物件分割)の品質を維持しつつ、総合ファイナンス系リースの「リース以外でメイン化する」差別化を実証。競合(銀行系の単機能リース提案ツール)に対する明確な優位。

## デプロイ上の注意

本UCは `postprocess_yaml()` を **通してはいけない**。理由: `_force_start_query_var` が start variables を `query` 単一に強制書き換えてしまい、営業メモ+タグ構成が壊れる。

デプロイ時は手動で `__KR_0__` placeholder を実 dataset_id に置換する:

```python
yaml_content = yaml_raw.replace("__KR_0__", dataset_id)
app_id = dify.import_workflow(yaml_content)
```

- KBの正本は `knowledge/*.txt` (本番 `app.py:_load_bundle_knowledge_docs` が title=ファイル名stem で読み込む)。`inputs.json` の `knowledge_docs` はこの5ファイルのミラー。
- 参照: `scripts/test_leasing_deepening.py` (E2E スモークテスト)。**ホストから実行する場合は `DIFY_LOCAL_BASE_URL` / `DIFY_LOCAL_CONSOLE_URL` / `DIFY_LOCAL_WORKFLOW_URL` を `localhost` 系に上書き** (既定の `docker-nginx-1` はコンテナ内専用)。
- `orchestrator.run_pipeline()` 経由の fast-path は `_find_verified_yaml` が bundle layout 未対応のため効かない (既知問題)。

## 次のステップ（受託提案）

1. 顧客の実データ（CRM/Salesforce/独自台帳）でカスタマイズデモ（POC: 5-10万円）
2. 過去稟議の社内ナレッジをRAG化（KR添付に切替）して精度向上
3. CRM連携（Salesforce、kintone、独自台帳）でワンクリック実行化
4. 提案書PDF自動生成（Markdown→PDFパイプライン）の追加
