1.7 KiB
1.7 KiB
RAG 查询改写能力薄弱
状态:待规划
严重程度:中
发现时间:2026-07-04
范围:检索工具、Agent 查询生成、召回稳定性
现象
当前检索主要使用 Agent 传入 lookup_knowledge 的原始 query。工具层没有显式的 query rewrite、同义词扩展、领域词补全或多 query 检索。
当用户问题口语化、上下文依赖强,或缺少领域关键词时,L0 和 L1 的召回都可能不稳定。
当前实现
- Agent 决定何时调用
lookup_knowledge和传入什么 query。 LookupKnowledgeTool接收 query 后直接进入 L0/L1 检索。- 工具层没有把用户问题改写成多个检索 query。
- 也没有把当前任务域、Planner step、告警 payload 等上下文显式拼入检索 query。
影响
- Agent query 写得好时召回正常,query 写得差时检索链路缺少兜底。
- AIOps 场景里,告警名称、服务名、指标名、故障类型之间的别名关系没有被充分利用。
- 很难稳定复现同一类问题的检索质量。
建议修复
- 在工具层增加轻量 query rewrite:原始问题、领域词增强问题、关键词查询并行召回。
- 对 AIOps 场景,把 alertName、service、metric、symptom 显式构造成检索 query。
- 记录 rewrite 前后的 query 到
tool_invocation,便于分析。 - 后续可以引入 LLM query rewrite,但 MVP 先用规则模板更可控。
相关文件
src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.javasrc/main/java/com/superbiz/agent/service/KnowledgeIndexService.javasrc/main/java/com/superbiz/agent/service/VectorSearchService.java