refactor(ai-ops): 增强 lookup_knowledge 工具描述并调整工具优先级

## 主要改动

1. 增强 lookup_knowledge 工具描述
   - 参考 queryLogs 的详细描述格式
   - 添加 IMPORTANT 关键词强调优先使用场景
   - 详细列举 4 种查询场景及示例:
     * 错误码定义(ERR_TIMEOUT)
     * 接口文档(payment-gateway)
     * 排障步骤(支付超时排查)
     * 配置说明(HikariCP)
   - 保留性能优势说明(L0 < 10ms, L1 200-500ms)

2. 调整工具数组顺序
   - 将 lookupKnowledgeTool 提前到第 2 位(仅次于 dateTimeTools)
   - Mock 模式顺序:dateTimeTools → lookupKnowledgeTool → queryMetricsTools → queryLogsTools
   - 真实模式顺序:dateTimeTools → lookupKnowledgeTool → queryMetricsTools → internalDocsTools
   - 弃用工具(internalDocsTools)放在最后

## 设计目标

解决 Executor 优先选择 queryLogsTools 的问题:
- 工具描述对等:lookup_knowledge 与 queryLogs 同等详细
- 位置优先:知识库查询排在日志查询之前
- 明确引导:IMPORTANT 关键词强调使用时机

## 预期效果

Executor 在遇到错误码、配置项、排障问题时,应优先调用 lookup_knowledge,
而不是直接查询日志。
This commit is contained in:
zhuyongxin
2026-06-25 09:55:02 +08:00
parent 553d1d1faf
commit f002571629
2 changed files with 12 additions and 5 deletions
@@ -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};
}
}
}