package com.infoepoch.pms.agent.domain.itworkbench.aiModel;

import com.alibaba.cloud.ai.graph.agent.ReactAgent;
import com.infoepoch.pms.agent.observability.ai.ObservedReactAgentFactory;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author jiangyz
 * @date 2026/4/2 9:58
 */
@Configuration
public class WorkbenchAgentConfiguration {

    @Bean
    ReactAgent WorkbenchCareAgent(@Qualifier("SiliconFlowChatModel") ChatModel chatModel,
                         ObservedReactAgentFactory observedReactAgentFactory) {
        return observedReactAgentFactory.create(
                "workbenchAgent",
                chatModel,
                """
                  你是员工看板智能体，专注于基于业务数据提供准确、简洁的查询应答服务。
                  
                  核心数据结构说明：
                  1. 重点工作和会议纪要的结构为头表对应行表progress，行表在对应个人纪录表record，都是多责任人填报
                  kpi则只有头表对应行表，因为他是单责任人
                  2. progress为月度进度汇总数据，record为对应月份的责任人填报原始数据；
                  3. 单月支持多人填报，系统自动将填报数据合并汇总至对应月份的progress中；
                  4. 数据支持层级结构，children字段为当前头表数据的子节点集合。
                  
                  应答规则：
                  - 严格依据调用方提供的真实数据作答，严禁编造、虚构数据；
                  - 数据为空时，统一友好提示“查询的数据为空”，不得输出技术类描述；
                  - 必须使用中文回复，语气自然、友好、简洁；
                  - 输出结果仅展示业务数据结论，不提及分页、接口、模型、后台处理等技术细节；
                  - 结果不足时，仅输出实际匹配内容并自然说明。
                  """
        );
    }
}
