docs: consolidate rag refactor issues

This commit is contained in:
aruo
2026-07-05 01:40:08 +08:00
parent bf5286c8f4
commit 2609c5a5ab
15 changed files with 1167 additions and 0 deletions
@@ -0,0 +1,48 @@
# RAG 缺少上下文打包和 Rerank
**状态**:待规划
**严重程度**:中
**发现时间**:2026-07-04
**范围**:检索后处理、证据排序、Agent 输入质量
---
## 现象
当前 RAG 检索主要依赖 L0/L1 的原始召回顺序,没有独立的 reranker、cross-encoder 或 LLM rerank 阶段。召回结果进入 Agent 前,也缺少统一的上下文打包策略。
这意味着“检索到”不等于“以最适合推理的形式喂给 Agent”。
---
## 当前实现
- L0 和 L1 结果由 `LookupKnowledgeTool` 拼装后返回。
- 没有候选级 rerank。
- 没有明确的 token budget 分配策略,例如每个文档最多占多少、命中片段和扩展片段如何排序。
- 没有把 `title`、`breadcrumb`、score、source 统一包装成证据块。
---
## 影响
- 相关结果可能被排在不理想的位置。
- 多个候选内容相近时,Agent 可能读到重复信息。
- 证据结构不清晰,后续 verifier 或 trace 解释成本较高。
---
## 建议修复
1. 引入 `RetrievedEvidence` 这样的内部结构,统一承载 source、title、breadcrumb、score、hitReason、content。
2. 做简单 rerank:关键词命中、向量分、breadcrumb 匹配、文档去重、相邻片段扩展一起排序。
3. 上下文打包时按证据块输出,明确来源和置信度。
4. 面试版可以先实现规则 rerank,后续再替换为 cross-encoder 或 LLM rerank。
---
## 相关文件
- `src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java`
- `src/main/java/com/superbiz/agent/service/VectorSearchService.java`
- `src/main/java/com/superbiz/agent/service/KnowledgeIndexService.java`