1.7 KiB
1.7 KiB
RAG 将 L0 降级为领域和实体 Hint
状态:待规划
严重程度:中
发现时间:2026-07-05
范围:L0 检索、metadata filter、业务可解释性
背景
当前 L0 是基于 frontmatter / keyword 的轻量检索。它具备可解释性,但不适合作为最终相关性判断。
在引入 Spring AI VectorStore / Retriever 后,L0 更适合从“召回主链路”调整为“检索前处理和解释信号”。
问题
当前 L0 如果唯一命中,容易被过度信任:
L0 unique hit -> 直接返回 / 优先采信
这会带来误召回风险,尤其是关键词过泛、frontmatter 质量不稳定时。
改造方向
L0 保留,但职责调整为:
-
Domain detector
- 识别 query 所属 category/domain。
- 用于 Spring AI retriever metadata filter。
-
Entity extractor
- 识别组件名、服务名、指标名、错误码、接口名。
- 用于 query augmentation。
-
Explainability signal
- 记录 matched keywords。
- 解释为什么进入某个知识域。
目标链路:
query / payload
-> L0 domain/entity hint
-> metadata filter + query augmentation
-> vector retriever
-> post processor
验收标准
- L0 不再默认作为最终检索结果直接返回。
- L0 命中的 domain/category 能传给 retriever filter。
- L0 命中的实体能进入增强 query 或工具调用记录。
tool_invocation能展示 L0 matched keywords 和使用方式。
相关文件
src/main/java/com/superbiz/agent/service/KnowledgeIndexService.javasrc/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.javasrc/main/java/com/superbiz/agent/service/VectorSearchService.java