diff --git a/src/main/java/com/superbiz/agent/service/AiOpsService.java b/src/main/java/com/superbiz/agent/service/AiOpsService.java index 72dfb50..0d0e630 100644 --- a/src/main/java/com/superbiz/agent/service/AiOpsService.java +++ b/src/main/java/com/superbiz/agent/service/AiOpsService.java @@ -146,14 +146,15 @@ public class AiOpsService { /** * 动态构建方法工具数组 * 根据 cls.mock-enabled 决定是否包含 QueryLogsTools + * 工具顺序:知识库查询优先,日志查询次之,弃用工具最后 */ private Object[] buildMethodToolsArray() { if (queryLogsTools != null) { // Mock 模式:包含 QueryLogsTools - return new Object[]{dateTimeTools, internalDocsTools, queryMetricsTools, queryLogsTools, lookupKnowledgeTool}; + return new Object[]{dateTimeTools, lookupKnowledgeTool, queryMetricsTools, queryLogsTools}; } else { // 真实模式:不包含 QueryLogsTools(由 MCP 提供日志查询功能) - return new Object[]{dateTimeTools, internalDocsTools, queryMetricsTools, lookupKnowledgeTool}; + return new Object[]{dateTimeTools, lookupKnowledgeTool, queryMetricsTools, internalDocsTools}; } } } diff --git a/src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java b/src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java index d7b1e8b..3aa64db 100644 --- a/src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java +++ b/src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java @@ -30,9 +30,15 @@ public class LookupKnowledgeTool { * @param query 查询关键词 * @return 查询结果 */ - @Tool(description = "查询内部知识库文档。采用两阶段检索:L0 精确匹配关键词(< 10ms),L1 语义检索补充(200-500ms)。" + - "支持查询错误码定义、接口文档、排障步骤、配置说明等。" + - "参数 query: 查询关键词或描述,例如 'ERR_TIMEOUT'、'支付超时排查'") + @Tool(description = "查询内部知识库文档,获取错误码定义、接口文档、排障步骤、配置说明等背景信息。" + + "采用两阶段检索:L0 精确匹配关键词(< 10ms),L1 语义检索补充(200-500ms)。" + + "IMPORTANT: 遇到错误码、接口名、配置项、排障问题时,优先使用此工具。" + + "支持的查询场景:" + + "1) 错误码定义 - 查询错误码的含义和处理方法,例如 'ERR_TIMEOUT'、'ERR_CONNECTION_REFUSED';" + + "2) 接口文档 - 查询 API 接口定义、参数说明、返回格式,例如 'payment-gateway'、'/api/v1/orders';" + + "3) 排障步骤 - 查询故障诊断流程、最佳实践,例如 '支付超时排查'、'数据库连接池配置';" + + "4) 配置说明 - 查询系统配置、中间件参数,例如 'HikariCP'、'Redis 集群配置'。" + + "参数 query: 查询关键词或描述") public LookupResult lookupKnowledge(String query) { // 生成请求ID用于追踪 String requestId = java.util.UUID.randomUUID().toString().substring(0, 8);