app:
  description: エンゲージメントサーベイの自由記述回答を分析し、意見の傾向や主要な不満点の要因を特定します。
  icon: 🤖
  icon_background: '#FFEAD5'
  mode: workflow
  name: 社員エンゲージメント要因分析
  use_icon_as_answer_icon: false
kind: app
version: 0.1.5
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-llm_analysis
      source: start
      target: llm_analysis
    - data:
        sourceType: llm
        targetType: code
      id: llm_analysis-to-code_format
      source: llm_analysis
      target: code_format
    - data:
        sourceType: code
        targetType: template-transform
      id: code_format-to-template_report
      source: code_format
      target: template_report
    - data:
        sourceType: template-transform
        targetType: end
      id: template_report-to-end
      source: template_report
      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.7
        prompt_template:
        - role: system
          text: 'あなたは人事コンサルタントであり、社員エンゲージメント分析の専門家です。

            以下の社員エンゲージメントサーベイの自由記述回答を詳細に分析し、社員の主要な不満点、懸念事項、エンゲージメント低下につながる要因を具体的に特定してください。

            さらに、それらの要因がどのような傾向を持っているかを分析し、改善のための示唆を与えてください。

            以下の項目に沿って、簡潔かつ具体的に記述してください。


            - 主要な不満点/懸念事項 (箇条書き)

            - 不満点の要因分析 (具体例を挙げながら)

            - 全体的な傾向とパターン

            - 改善のための示唆


            分析結果は、後続のシステムで処理しやすいように、構造化されたテキスト形式で出力してください。

            '
        - role: user
          text: '{{#start.query#}}'
        vision:
          enabled: false
        memory: null
        context:
          enabled: false
      height: 90
      id: llm_analysis
      position:
        x: 380
        y: 282
      type: custom
      width: 244
    - data:
        title: 分析結果整形
        type: code
        code_language: python3
        code: "def _safe_str(v):\n    \"\"\"Convert any value to string safely.\"\"\
          \"\n    if v is None:\n        return \"\"\n    if isinstance(v, list):\n\
          \        return \"\\n\".join(str(i) for i in v)\n    return str(v)\n\ndef\
          \ _safe_list(v):\n    \"\"\"Ensure value is a list.\"\"\"\n    if v is None:\n\
          \        return []\n    if isinstance(v, str):\n        return [v]\n   \
          \ if isinstance(v, list):\n        return v\n    return [v]\n\ndef main(**kwargs)\
          \ -> dict:\n    inputs = kwargs\n    analysis_text = inputs[\"llm_output\"\
          ]\n    # LLMの出力をさらに整形するロジックをここに追加できます。\n    # 例: 不要な空白や改行の除去、特定のキーワードの正規化など。\n\
          \    # 現状は、後続のテンプレートノードで整形するため、シンプルなパススルーとします。\n    formatted_output = analysis_text.strip()\n\
          \    return dict(formatted_analysis=formatted_output)\n"
        variables:
        - value_selector:
          - llm_analysis
          - text
          variable: llm_output
        outputs:
          formatted_analysis:
            type: string
            children: null
      height: 90
      id: code_format
      position:
        x: 680
        y: 282
      type: custom
      width: 244
    - data:
        title: 最終レポート生成
        type: template-transform
        template: '**社員エンゲージメント要因分析レポート**


          **分析概要**

          本レポートは、提供された社員エンゲージメントサーベイの自由記述回答を基に、主要な不満点、その要因、全体的な傾向、および改善のための示唆をまとめたものです。


          **分析結果詳細**

          {{ analysis_result }}


          ---

          このレポートが社員エンゲージメント向上の一助となれば幸いです。

          '
        variables:
        - value_selector:
          - code_format
          - formatted_analysis
          variable: analysis_result
      height: 90
      id: template_report
      position:
        x: 980
        y: 282
      type: custom
      width: 244
    - data:
        title: 終了
        type: end
        outputs:
        - value_selector:
          - template_report
          - output
          variable: result
      height: 90
      id: end
      position:
        x: 1280
        y: 282
      type: custom
      width: 244
  hash: null
