app:
  description: 現状の構成と制約から段階的なクラウド移行スケジュールと作業項目を作成するワークフロー
  icon: ☁️
  icon_background: '#E8F0FF'
  mode: workflow
  name: クラウド移行計画作成
  use_icon_as_answer_icon: false
kind: app
version: 0.6.0
workflow:
  conversation_variables: []
  environment_variables: []
  features:
    file_upload:
      image:
        enabled: false
    opening_statement: ''
    suggested_questions: []
    suggested_questions_after_answer:
      enabled: false
    text_to_speech:
      enabled: false
  graph:
    edges:
    - data:
        sourceType: start
        targetType: llm
      id: start-to-llm1
      source: start
      target: llm1
    - data:
        sourceType: llm
        targetType: end
      id: llm1-to-end
      source: llm1
      target: end
    nodes:
    - data:
        title: 開始
        type: start
        variables:
        - label: query
          max_length: 2048
          options: []
          required: true
          type: paragraph
          variable: query
      height: 90
      id: start
      position:
        x: 80
        y: 282
      type: custom
      width: 244
    - data:
        title: 移行計画生成
        type: llm
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.6
        prompt_template:
        - role: system
          text: "あなたはクラウド移行計画の専門家です。以下の指示に従って、与えられた現状の構成と制約を踏まえ、段階的な移行スケジュールと各作業項目を作成してください。\n\
            出力は必ず2部構成にしてください。 1) JSON（機械的にパース可能）を先に出力してください。JSONはトップレベルキー \"plan\"\
            \ を持ち、以下の形式を満たすこと：\n  - plan.phases: 配列。各要素はオブジェクトで、必須フィールド:\n      -\
            \ name: フェーズ名（例: \"準備\", \"移行テスト\", \"本番移行\"）\n      - duration_weeks:\
            \ 数値（週単位の期間）\n      - tasks: 配列。各タスクはオブジェクトで、必須フィールド:\n          - id:\
            \ タスク識別子（短い文字列）\n          - description: タスクの詳細説明（日本語）\n          - owner:\
            \ 担当（ロール名やチーム名）\n          - estimated_hours: 推定工数（時間、数値）\n          -\
            \ dependencies: 依存するタスクidの配列（なければ空配列）\n  - plan.prerequisites: 文字列配列（移行前に揃えるべき前提条件）\n\
            \  - plan.risks: 配列。各要素はオブジェクトで:\n      - risk: リスクの記述\n      - impact:\
            \ 影響の概要\n      - mitigation: 軽減策\n  - plan.assumptions: 文字列配列（想定条件）\n\n\
            2) JSONの後に続けて、人間向けの簡潔な要約（日本語）を出力してください。要約は各フェーズの目的と主要なマイルストーン、想定期間の概略を含めてください。\n\
            注意: - JSONは必ず先に完全に出力し、その後に要約をテキストで出力してください（両方とも日本語）。 - 期間や工数は現実的で一貫性のある数値を使ってください。理由や前提が必要なら\
            \ assumptions に明記してください。 - 出力の言語は日本語に統一してください。\n"
        - role: user
          text: '以下は現状の構成・制約・目標です。これらを考慮して、段階的なクラウド移行計画と作業項目を作成してください。

            {{#start.query#}}

            '
        vision:
          enabled: false
        memory: null
        context:
          enabled: false
      height: 90
      id: llm1
      position:
        x: 380
        y: 282
      type: custom
      width: 244
    - data:
        title: 終了
        type: end
        outputs:
        - value_selector:
          - llm1
          - text
          variable: result
      height: 90
      id: end
      position:
        x: 680
        y: 282
      type: custom
      width: 244
  hash: null
