docs(mvp): organize mvp documentation

This commit is contained in:
zhuyongxin
2026-07-09 13:40:08 +08:00
parent 9c9a0024d4
commit 841437fa06
57 changed files with 452 additions and 675 deletions
@@ -0,0 +1,60 @@
# RAG 使用 DocumentPostProcessor 做后处理
**状态**:待规划
**严重程度**:中
**发现时间**:2026-07-05
**范围**:检索后处理、去重、上下文打包、轻量 rerank
---
## 背景
当前检索结果返回给 Agent 前,主要依赖 `LookupKnowledgeTool` 自己拼接内容。系统还缺少统一的后处理阶段。
Spring AI RAG 流程中可以使用 DocumentPostProcessor 类能力,在文档进入模型上下文前做过滤、去重、压缩或 rerank。
---
## 问题
当前检索后处理不足:
1. L1 topK 候选没有被充分利用。
2. 同文档或同章节结果可能重复。
3. 命中 chunk 后没有统一处理前后文扩展。
4. 证据块缺少统一格式,后续 verifier / evaluator 不容易复用。
---
## 改造方向
建立一个轻量后处理链:
```text
retrieved documents
-> deduplicate
-> optional neighbor / section expansion
-> score / reason annotation
-> token budget packing
-> evidence blocks
```
优先做规则型后处理,不急于引入 cross-encoder 或 LLM rerank。
---
## 验收标准
- 同一个 docId/chunkIndex 不重复进入 Agent 上下文。
- 最终返回内容包含 source、title、breadcrumb、score、hitReason。
- 可以限制单次工具调用返回的最大 token 或最大字符数。
- 后处理前后的候选数量、去重数量、最终 evidence 数量记录到 `tool_invocation`。
---
## 相关文件
- `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/DocumentChunkService.java`
- `src/main/java/com/superbiz/agent/service/ToolInvocationRecorder.java`