Files
MemoryBear/docs/rag/review/S3-T2-final-review.md
Multica PM Agent 343a5eebe3
Some checks failed
Sync to Gitee / sync (push) Has been cancelled
docs(rag): add MemoryBear RAG implementation docs v1.0
Submit the formed RAG documentation set produced across Sprint-1/2/3
(WS-12 through WS-26) under docs/rag/. Includes:

- README.md / INDEX.md: landing + total index (responsibility matrix,
  review verdicts, dual-link to source issues)
- overview/: full-pipeline architecture (4 .mmd diagrams),
  11-stage boundary contracts, doc map, source-code inventory
- pipeline/: 5 deep-dives (Loader/Parser/Chunking, Embedding,
  VDB & retrieval, GraphRAG, Rerank/Prompt/LLM)
- graphrag/, end-to-end/: v1.0 formal versions with full source
  retained as reference
- evolution/: 11 architecture-refactor proposals,
  6-direction roadmap, capability map
- review/: S3-T1 / S3-T2 final reviews, S2-T7 final summary
- _indexes/: glossary (81 terms), source->doc reverse index, chart index
- _release/: v1.0-RC1 release manifest, versioning convention,
  ops & freshness plan
- _meta/README.md: placeholder noting WS-12 governance assets gap

Aggregate review score 92.6/100 (8/8 PASS, 31/31 source-code spot
checks hit). The legacy docs/ ignore in .gitignore is narrowed to
docs/* with an explicit allowlist for docs/rag/.

Refs: WS-26
Co-authored-by: multica-agent <github@multica.ai>
2026-05-09 10:51:48 +08:00

82 lines
7.4 KiB
Markdown
Raw 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.
---
name: S3-T2 终审报告 — 后续迭代功能新增方式建议
description: 知识运营终审,对 S3-T2 交付物按 5 维评分卡评分;总分 95/100PASS
type: review
sprint: 3
task: T2
reviewer: 知识运营与治理专家
reviewed-at: 2026-05-08
target-doc: docs/rag/evolution/future-extensions-roadmap.md
target-comment: 0de2c8f6-717d-43c7-af31-1c055550a5e7 / 2026-05-08T11:32:27Z
target-attachments:
- future-extensions-roadmap.md (32 KB)
- capability-map.mmd (4 KB)
---
# [S3-T2] 终审报告:后续迭代功能新增方式建议
> **决议**:✅ **PASS**(综合 95/100超过 80 通过线 + 0 触发一票否决项)。
## 1. 评分明细(按 S1-T1 评分卡)
| 维度 | 权重 | 得分 | 关键观察 |
|---|---|---|---|
| **准确性 (Accuracy)** | 25 | **24** | §0.2 列出的 8 条"关键源码事实"全部带行号,抽查 5 条全部可复现:`MatchSparseExpr` 已声明未启用(`rag/utils/doc_store_conn.py:75``vdb/field.py:11`grep 验证 0 调用)、`weighted_sum 0.05/0.95``rag/nlp/search.py:439`)、`core/memory``core/rag` 完全独立grep 互无引用)、`RetrieveType` enum 硬编码(`schemas/chunk_schema.py`、Reranker 仅推理(`core/models/rerank.py:11`)。扣 1 分因 D1.1.4 工作量估算的"+30% 存储"为业内经验值,未在本仓做基线测试,可能与实际 mapping 选择有出入。 |
| **完整性 (Completeness)** | 25 | **25** | 6 个方向D1-D6超出"≥5"硬要求5 个强制覆盖项(多模态 / 混合搜索 / KG / 对话记忆 / 评估闭环全部命中2 套 Quick PoCPoC-A RRF + PoC-B Memory Rewrite超过"≥2"硬要求,且每条 PoC 给出 ≤30 行代码草案 + 风险描述。优先级矩阵 14 行覆盖全部 6 方向 × 多层级,附 Mermaid 甘特路线图、能力地图Mermaid 附件 `capability-map.mmd`)。 |
| **时效性 (Timeliness)** | 15 | **13** | 路线图日期 2026-06-02 起 → 与 Sprint-3 内 PoC 启动节奏一致6 个方向均带"立即 / 短 / 中 / 长"四级时间标签;扣 2 分因部分依赖 [S2-T7] 评审产出的新事实D5 评估集质量、D2 SPLADE 索引重建口径),需保留增量更新窗口(已在 §6 对齐清单中提及)。 |
| **可读性 (Readability)** | 15 | **15** | 能力地图Mermaid+ 优先级矩阵(综合分公式)+ 落地路线图Gantt三件套使决策路径清晰每个方向严格五段式触发场景 → 技术方案 → 接口改造点 → 工作量 → 风险/依赖);强调"基于 Protocol 注入而不改调用方"作为统一原则,把 6 个方向的耦合打散为可并行落地的 6 条独立通道。 |
| **可执行性 (Actionability)** | 20 | **18** | PoC-ARRF改动范围最小集化仅在 `rag/nlp/search.py:Dealer.search` 加 feature flag可直接成为 Sprint-3 PRPoC-BMemory Rewrite通过 5 行代码加 feature flag 接入;每个方向有人周估算 + 优先级 + 风险三件套;扣 2 分因:(1) D6 自适应路由的"小型 LLM 路由器训练数据来源"仍依赖 D5 反馈数据,链路较长;(2) D5 评估集冷启动方案("先用大模型 LLM-as-Judge 合成")只给了方向,缺一份具体的数据规模与验收标准。 |
| **总分** | **100** | **95** | — |
> 通过门槛≥80。**S3-T2 以 95 分通过终审**。
## 2. 一票否决项排查
| 否决项 | 是否触发 | 证据 |
|---|---|---|
| 源码虚构 | ❌ 未触发 | 8 条"关键源码事实"抽查 5 条均可复现;`core/memory``core/rag` 互不引用的论断与 [S1-T3] §一 模块清单中 `rag_utils` vs `rag/utils` 双目录相印证。 |
| 核心章节缺失 | ❌ 未触发 | 验收标准 6 项全部覆盖能力地图、6 方向、接口改造点、≥2 PoC、优先级矩阵、路线图、风险表、对齐清单。 |
| 安全风险描述 | ❌ 未触发 | D4.6 显式提及"跨用户记忆隔离需在 code review 重点核查"§5 风险表把"D4 跨用户记忆泄露"列为隐私风险并给出"user_id 级强隔离 + 上线前 review"缓解策略。 |
| 架构严重脱节 | ❌ 未触发 | §0.3 明确把所有方向锚定到 [S3-T1] 提议的 4 大 Protocol§6 对齐清单逐条核对;与 [S3-T1] 命名一致(已与 S3-T1 评审交叉确认)。 |
## 3. Must-Fix必改项
无。
## 4. Should-Fix建议落地前修补
| # | 建议 | 责任 | 处理方式 |
|---|---|---|---|
| SF-1 | D5.5.1 提到的"评估集冷启动 LLM-as-Judge 合成"应给出最小数据规模(建议每 KB 200 条 query × ground-truth + 50 条 hard-negatives和验收标准与人工评审一致率 ≥ 75%)。 | AI 知识库专家 | 落 D5 第一条工作项时同步交一份《评估集生产 SOP》。 |
| SF-2 | D6 自适应路由强依赖 D5 反馈数据,建议在路线图甘特图中显式画出 D5 → D6 的依赖箭头,避免错位启动。 | AI 知识库专家 | 在路线图 §4 增量补一行依赖说明。 |
| SF-3 | D1 多模态 L2 跨模态的"存储膨胀 +30%" 估算应在 PoC 阶段实测一次,结果回填本文档(增量补丁)。 | AI 知识库专家 | 与 [S3-T1] §3.1 短期任务"建立 baseline"合并执行。 |
## 5. Could-Fix可选优化
| # | 建议 |
|---|---|
| CF-1 | §1.5 D1 风险中"VLM 描述漂移"可与 [S2-T1] §11 限制中的"OCR 与版面识别 CPU/GPU 重负载"合并撰写,作为多模态扩展的统一约束。 |
| CF-2 | §3 优先级矩阵的综合分公式 `V × 1/√(C×R)` 略简化,可在脚注里说明这是"产品快速排序工具,不替代正式架构会",避免被误读为权威。 |
| CF-3 | D3.3.2 "路径解释性"与 [S2-T6] E2E 链路时序图存在天然结合点,建议在 [S2-T6] 复活时补一段 "GraphRAG with evidence_path" 的时序示意。 |
## 6. 与 Sprint 文档生态的兼容性
-**与 [S1-T2 架构图] 一致**6 个方向均锚定 [S1-T2] DocMap.md 列出的 Sprint-2 各环节GraphRAG light/general 双路径在 D3 与 [S1-T2] §04-graphrag-indexing.mmd 描述一致。
-**与 [S2-T1 Loader/Parser/Chunking] 一致**D1 多模态 L1 把 `rag/app/picture.py:54``rag/app/audio.py:29` 列为现有 baseline与 [S2-T1] §4 LibreOffice + Apache Tika 兜底链一致。
-**与 [S2-T2 Embedding] 一致**D1.3 提到的"`Embedder.encode(items: list[Embeddable])`"接口与 [S2-T2] §1.2 RedBearEmbeddings 多模态分支可平滑衔接。
-**与 [S2-T3 VDB] 一致**D2 中"BM25 + dense + sparse 三路融合 + RRF"与 [S2-T3] §6 应用层"双路 + 去重 + Rerank"形成升级路径。
-**与 [S2-T5 Reranking/Prompt/LLM] 一致**D5 的 Cross-Encoder 微调与 [S2-T5] §1 三种 rerank 方案兼容(视为新 Reranker 实现)。
-**与 [S3-T1 架构改造] 一致**§0.3 与 §6 双重对齐,所有 6 方向接口改造点全部落地到 [S3-T1] 4 大 ProtocolRetriever / Reranker / Embedder / Generator
## 7. 终审结论与下一步
| 决议项 | 内容 |
|---|---|
| **总分** | 95 / 100 |
| **决议** | ✅ **PASS终审通过** |
| **建议落入版本** | `MemoryBear RAG Docs v1.0`(落入 `docs/rag/evolution/future-extensions-roadmap.md` + `capability-map.mmd` |
| **状态变更建议** | 由 `in_review``done`,由 PM 执行 |
| **后续衔接** | (1) Should-Fix 进入 [S3-T4] PM 复盘清单;(2) PoC-A / PoC-B 列入 Sprint-3 内立即可执行清单(与 [S3-T1] §3.1 短期路线图工作项 #1-#5 合并排期);(3) [S2-T7] 评审若引入新事实,本文档以增量补丁形式更新(不重写)。 |
— END —