version: 0.6.0
kind: app
app:
  description: 社員からの「この案件で何を確認すべきか」「どの申請が必要か」に対し、社内規定・商品マニュアル・事務手続き・FAQを横断検索して回答サマリ・確認チェックリスト・必要申請手続き・参照規定・エスカレーション助言を生成する全社員向け案件ガイダンスエージェント。v3.2 でQuestion Classifier + 3並列LLM構成に再設計、時間半減+質問種別ごとの最適化を実現。
  icon: 🧭
  icon_background: '#DBEAFE'
  mode: workflow
  name: リース社内ナビゲーションエージェント
  use_icon_as_answer_icon: false
workflow:
  conversation_variables: []
  environment_variables: []
  features:
    file_upload:
      image:
        enabled: false
    opening_statement: |
      こんにちは。リース業務の社内ヘルプデスクです 🧭
      「この案件で何を確認すべきか」「どの申請が必要か」「誰に相談すべきか」など、案件対応で迷ったらお気軽にどうぞ。
      質問+案件情報(顧客名・契約情報など)を入れていただくと、関連規程・申請フォーム・エスカレーション先まで一気にご案内します。
    suggested_questions:
    - "リース満了前に顧客が機器入れ替えを希望。中途解約と再リース、どちらを提案すべき?"
    - "新規顧客で投資総額が3億円超。役員会案件にしないスキームはある?"
    - "EV車両の残価設定型リース、バッテリー残価リスクへの社内基準は?"
    - "緊急案件で通常5-7営業日の承認を3営業日に短縮したい。どの申請フォームが必要?"
    - "顧客から倒産通知を受領した。即時すべきアクションを教えて"
    suggested_questions_after_answer:
      enabled: true
    text_to_speech:
      enabled: false
  graph:
    edges:
    - data:
        sourceType: start
        targetType: knowledge-retrieval
      id: start-to-kr1
      source: start
      target: kr1
    - data:
        sourceType: start
        targetType: question-classifier
      id: start-to-qc1
      source: start
      target: qc1
    - data:
        sourceType: knowledge-retrieval
        targetType: llm
      id: kr1-to-llm_check
      source: kr1
      target: llm_check
    - data:
        sourceType: knowledge-retrieval
        targetType: llm
      id: kr1-to-llm_action
      source: kr1
      target: llm_action
    - data:
        sourceType: knowledge-retrieval
        targetType: llm
      id: kr1-to-llm_source
      source: kr1
      target: llm_source
    - data:
        sourceType: question-classifier
        targetType: llm
      id: qc1-to-llm_check
      source: qc1
      sourceHandle: '1'
      target: llm_check
    - data:
        sourceType: question-classifier
        targetType: llm
      id: qc1-to-llm_check2
      source: qc1
      sourceHandle: '2'
      target: llm_check
    - data:
        sourceType: question-classifier
        targetType: llm
      id: qc1-to-llm_check3
      source: qc1
      sourceHandle: '3'
      target: llm_check
    - data:
        sourceType: question-classifier
        targetType: llm
      id: qc1-to-llm_check4
      source: qc1
      sourceHandle: '4'
      target: llm_check
    - data:
        sourceType: question-classifier
        targetType: llm
      id: qc1-to-llm_check5
      source: qc1
      sourceHandle: '5'
      target: llm_check
    - data:
        sourceType: llm
        targetType: template-transform
      id: llm_check-to-tpl
      source: llm_check
      target: tpl1
    - data:
        sourceType: llm
        targetType: template-transform
      id: llm_action-to-tpl
      source: llm_action
      target: tpl1
    - data:
        sourceType: llm
        targetType: template-transform
      id: llm_source-to-tpl
      source: llm_source
      target: tpl1
    - data:
        sourceType: template-transform
        targetType: end
      id: tpl1-to-end
      source: tpl1
      target: end
    nodes:
    - data:
        title: 開始
        type: start
        variables:
        - label: 質問(社員からの問い合わせ内容)
          max_length: 2048
          options: []
          required: true
          type: paragraph
          variable: query
        - label: 案件情報(顧客名・物件・契約状況等、任意)
          max_length: 2048
          options: []
          required: false
          type: paragraph
          variable: case_info
        - label: 追加コンテキスト(緊急度・部門・関連案件等、任意)
          max_length: 1024
          options: []
          required: false
          type: paragraph
          variable: context
      height: 160
      id: start
      position:
        x: 80
        y: 282
      type: custom
      width: 244
    - data:
        title: 質問種別分類
        type: question-classifier
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.1
        query_variable_selector:
        - start
        - query
        classes:
        - id: '1'
          name: 中途解約・差し替え系 (中途解約/差し替え契約/残価精算/物件入れ替えの相談)
        - id: '2'
          name: 与信・申込系 (新規申込/与信枠/役員会案件/反社チェックの相談)
        - id: '3'
          name: スキーム選択系 (ファイナンス/オペレーティング/残価設定型/再リース/PPAの選び方)
        - id: '4'
          name: 法務・コンプラ系 (法務確認/契約条項/倒産対応/訴訟リスクの相談)
        - id: '5'
          name: 事務手続き・申請系 (申請フォーム/承認フロー/緊急処理/必要書類の相談)
        instruction: 社員からのリース業務問い合わせを5カテゴリに分類してください。複数該当する場合は最も主要なカテゴリを選びます。
      height: 200
      id: qc1
      position:
        x: 320
        y: 100
      type: custom
      width: 244
    - data:
        title: 'ナレッジ検索（横断: 社内規定・商品マニュアル・事務手続き・FAQ）'
        type: knowledge-retrieval
        dataset_ids:
        - __KR_0__
        retrieval_mode: single
        query_variable_selector:
        - start
        - query
        single_retrieval_config:
          model:
            provider: openai
            name: gpt-5-mini
            mode: chat
            completion_params:
              temperature: 0.2
          score_threshold_enabled: false
          top_k: 8
      height: 100
      id: kr1
      position:
        x: 320
        y: 460
      type: custom
      width: 244
    - data:
        title: チェックリスト生成 (並列1)
        type: llm
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.3
        retry_config:
          retry_enabled: true
          retry_count: 2
          retry_interval: 200
        prompt_template:
        - role: system
          text: |
            あなたはリース会社の社内ヘルプデスクです。
            社員からの問い合わせと案件情報、参考ナレッジを元に「## 2. 確認すべき事項チェックリスト」セクションのみを生成します。
            質問カテゴリ(中途解約/与信/スキーム/法務/事務)に応じて重視ポイントを変えてください:
            - 中途解約系: 契約種別・残債・スキーム選択肢・法務承認の必要性を優先
            - 与信系: 財務指標・取引履歴・与信枠・閾値超過の判定を優先
            - スキーム選択系: 物件特性・期間・残価リスク・税務影響を優先
            - 法務系: 関連条項・契約条件・社内承認フローを優先
            - 事務手続き系: 申請フォーム・承認権限・所要日数を優先

            【出力フォーマット (Markdown のみ、コードフェンス禁止)】

            ## 2. 確認すべき事項チェックリスト

            (優先度順: 高 → 中 → 低、最低 4項目以上)

            - [ ] **【優先度: 高/中/低】 確認項目**
              - なぜ: ...
              - どうやって: 確認方法(誰に・どこで・何を)
              - 参考根拠: `[社内規定:XX規程 第X条]` または `[商品マニュアル:項目]` または `[事務手続き:フォーム番号]` または `[FAQ:Q番号]` または `[案件固有事実]`

            【厳守事項】
            - 案件情報の固有事実(顧客名・契約番号・残期間・金額等)を必ず本文中に引用
            - 各項目に参考根拠タグを必ず1つ以上付与
            - 「## 2. 確認すべき事項チェックリスト」の見出しから開始、他セクションは生成しない
        - role: user
          text: |
            ## 社員からの質問
            {{#start.query#}}

            ## 案件情報
            {{#start.case_info#}}

            ## 追加コンテキスト
            {{#start.context#}}

            ## 質問カテゴリ (Question Classifier 結果)
            {{#qc1.class_name#}}

            ## 参考ナレッジ
            {{#kr1.result#}}
        vision:
          enabled: false
        memory: null
        context:
          enabled: true
          variable_selector:
          - kr1
          - result
      height: 100
      id: llm_check
      position:
        x: 640
        y: 100
      type: custom
      width: 244
    - data:
        title: 必要申請・手続き生成 (並列2)
        type: llm
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.3
        retry_config:
          retry_enabled: true
          retry_count: 2
          retry_interval: 200
        prompt_template:
        - role: system
          text: |
            あなたはリース会社の社内ヘルプデスクです。
            社員からの問い合わせと案件情報、参考ナレッジを元に「## 3. 必要な申請・手続き」セクションのみを生成します。

            【出力フォーマット (Markdown のみ、コードフェンス禁止)】

            ## 3. 必要な申請・手続き

            (申請フォームが該当する場合は必ずフォーム番号を含める。最低 3項目以上)

            | 申請・手続き | カテゴリ | フォーム番号 | 提出先 | 想定日数 |
            |---|---|---|---|---|
            | ... | ... | ... | ... | ... |

            ### 各申請の詳細

            ### 申請1: <action>
            - 承認フロー: <営業担当→課長→部長→...等>
            - 想定日数: <想定処理日数>
            - 参考根拠: `[社内規定:XX規程 第X条]` または `[事務手続き:フォーム番号]` または `[FAQ:Q番号]`

            (申請2, 申請3... も同様)

            【厳守事項】
            - 案件情報の固有事実(顧客名・契約番号・残期間等)を必ず引用
            - フォーム番号(A-201/B-101/B-102/C-301/D-201/E-101/X-901等)を該当時は必ず明示
            - 各申請に参考根拠タグを必ず1つ以上付与
            - 「## 3. 必要な申請・手続き」の見出しから開始、他セクションは生成しない
        - role: user
          text: |
            ## 社員からの質問
            {{#start.query#}}

            ## 案件情報
            {{#start.case_info#}}

            ## 追加コンテキスト
            {{#start.context#}}

            ## 参考ナレッジ
            {{#kr1.result#}}
        vision:
          enabled: false
        memory: null
        context:
          enabled: true
          variable_selector:
          - kr1
          - result
      height: 100
      id: llm_action
      position:
        x: 640
        y: 280
      type: custom
      width: 244
    - data:
        title: 参照規定・エスカレーション生成 (並列3)
        type: llm
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.3
        retry_config:
          retry_enabled: true
          retry_count: 2
          retry_interval: 200
        prompt_template:
        - role: system
          text: |
            あなたはリース会社の社内ヘルプデスクです。
            社員からの問い合わせと案件情報、参考ナレッジを元に「## 4. 参照した規定・マニュアル」と「## 5. エスカレーション・追加判断」のセクションを生成します。

            【出力フォーマット (Markdown のみ、コードフェンス禁止)】

            ## 4. 参照した規定・マニュアル

            (実際にナレッジから引用した文書を最低3件記載)

            - **<ナレッジ文書名 (社内規定_リース契約規程 等)>** — <該当条項・節 (第18条 中途解約 等)>
              - 要約: <なぜこの案件に該当するか>

            ## 5. エスカレーション・追加判断

            - **エスカレーション要否**: Yes / No
            - **相談すべき先** (相談順):
              - <部署名1> (理由)
              - <部署名2> (理由)
              - ... (最低 3部署)
            - **エスカレーション理由**: <なぜ必要か>
            - **AIで判断不可な領域**:
              - <最終判断・法的解釈・査定・取引条件等で人間専門家確認が必須な領域を箇条書き>

            **次のアクション順序**:
            1. <最初に取るべき行動>
            2. <2番目>
            ... (最低 4ステップ)

            【厳守事項】
            - 案件情報の固有事実(顧客名・契約番号・残期間等)を必ず引用
            - 新人/若手の社員が独断で動かないよう、エスカレーション順序を明確に
            - 「## 4. 参照した規定・マニュアル」の見出しから開始、それより前のセクションは生成しない
        - role: user
          text: |
            ## 社員からの質問
            {{#start.query#}}

            ## 案件情報
            {{#start.case_info#}}

            ## 追加コンテキスト
            {{#start.context#}}

            ## 参考ナレッジ
            {{#kr1.result#}}
        vision:
          enabled: false
        memory: null
        context:
          enabled: true
          variable_selector:
          - kr1
          - result
      height: 100
      id: llm_source
      position:
        x: 640
        y: 460
      type: custom
      width: 244
    - data:
        title: 統合レポート整形
        type: template-transform
        template: |
          ## 1. 回答サマリ

          - **質問カテゴリ判定**: {{ category_name }}
          - **案件**: {{ case_summary }}
          - **AI推奨アクション要点**: 以下の確認チェックリストとエスカレーション順序を確認してください

          ---

          {{ checklist_md }}

          ---

          {{ action_md }}

          ---

          {{ source_md }}

          ---

          ※本ガイダンスは社内ヘルプデスクAIによる初動支援です。最終判断は各担当部署(課長・契約管理部・法務・与信部 等)の確認・承認を得てください。
        variables:
        - value_selector:
          - qc1
          - class_name
          variable: category_name
        - value_selector:
          - start
          - case_info
          variable: case_summary
        - value_selector:
          - llm_check
          - text
          variable: checklist_md
        - value_selector:
          - llm_action
          - text
          variable: action_md
        - value_selector:
          - llm_source
          - text
          variable: source_md
      height: 100
      id: tpl1
      position:
        x: 960
        y: 280
      type: custom
      width: 244
    - data:
        title: 終了
        type: end
        outputs:
        - value_selector:
          - tpl1
          - output
          variable: result
      height: 90
      id: end
      position:
        x: 1240
        y: 280
      type: custom
      width: 244
  hash: null
