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

1.7 KiB
Raw Blame History

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