Files
SuperBizAgent-java/mvp/issues/rag/rag-query-rewrite-gap.md

49 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 场景里,告警名称、服务名、指标名、故障类型之间的别名关系没有被充分利用。
- 很难稳定复现同一类问题的检索质量。
---
## 建议修复
1. 在工具层增加轻量 query rewrite:原始问题、领域词增强问题、关键词查询并行召回。
2. 对 AIOps 场景,把 alertName、service、metric、symptom 显式构造成检索 query。
3. 记录 rewrite 前后的 query 到 `tool_invocation`,便于分析。
4. 后续可以引入 LLM query rewrite,但 MVP 先用规则模板更可控。
---
## 相关文件
- `src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java`
- `src/main/java/com/superbiz/agent/service/KnowledgeIndexService.java`
- `src/main/java/com/superbiz/agent/service/VectorSearchService.java`