项目深度扩展方向#
本文档记录 DocMind 项目的战略性扩展方向,目标是从”功能完整的 RAG 系统”提升为”具备技术深度和工程纵深的企业级 Agentic 平台”。
与 06-待优化清单.md 的区别:06 聚焦小步快跑的迭代项,07 关注架构级演进和面试区分度。
一、检索与排序层——从”能用”到”精准”#
1. Query-Aware Adaptive Retrieval(查询感知自适应检索) → 已实现 ✅(2026-04-28)#
演化说明:原方案计划引入 LLM few-shot 或 fasttext 模型做 query classifier。落地时发现纯规则足够——Complexity(SIMPLE/MODERATE/COMPLEX)× Specificity(PRECISE/BROAD)二维矩阵 + REALTIME/FOLLOWUP 两个独立策略,共 8 套参数预设,覆盖全部常见查询类型。
最终实现:QueryProfiler 纯规则引擎(<1ms),输出查询级别的 RetrievalParams(vectorTopK / bm25TopK / rrfK / vectorWeight / bm25Weight / contextMaxTokens 等),注入到 LLM 驱动检索的系统提示词 + RRF 加权融合 + 降级路径。详见 04-优化迭代记录.md #5。
为什么没用 LLM/模型而是纯规则:
- 零额外延迟和成本(不调 LLM、不需要部署 fasttext)
- 意图分类已有
QueryRouter做了,不需要重复分类 - 规则覆盖度够用(8 套预设 × 热配开关),不需要学习型分类器
- 通过
rag.adaptive.enabled数据库开关可运行时关闭,回退到原全局参数
2. 基于 ColBERT 的 Late Interaction Reranking#
现状:Cross-Encoder 重排是单次打分,token 级交互信息损失大。
扩展方案:在 Cross-Encoder 之前加一层 ColBERT 风格的 late interaction 预筛,做 MaxSim 粗排后再给 Cross-Encoder 精排。这对长文档尤其有效——chunk 数量大时能将 reranker 的输入从几百条压缩到几十条。
面试亮点:体现对不同 reranking 范式(point-wise / late interaction / cross-attention)的 trade-off 理解。
3. Chunk 级别的知识图谱增强(GraphRAG)#
现状:chunk 之间是扁平的,没有结构化关系。
扩展方案:
- 文档入库时用 LLM 抽取 chunk 间的关系(引用、因果、层级)
- 构建一个轻量 chunk-level knowledge graph(存在 MySQL 或 Neo4j)
- 检索时不仅返回匹配 chunk,还沿图谱返回上下文关联 chunk
这对”跨章节推理”类问题效果显著。
面试亮点:GraphRAG 是当下最前沿的 RAG 增强方向。
二、Agent 层——从单轮 ReAct 到复杂推理#
4. Multi-Step Planning with Decomposition(多步规划与任务分解) → 两阶段落地 ✅#
第一阶段(Phase 1, 2026-04-28):Query Decomposition——把复杂查询拆成同构子问题并行检索。详见 04-优化迭代记录.md #4。
第二阶段(Phase 2, 2026-05-05):Supervisor-Worker + Plan-and-Execute——对 COMPLEX 查询由 LLM 生成有依赖关系的异构多步计划,PlanExecutor 按拓扑分层并行执行。详见 04-优化迭代记录.md #13。
第三阶段(2026-06):Plan-and-Execute 已移除,链式多跳改由串行有界迭代(Self-Ask/MultiStep)覆盖——Plan-and-Execute 规划早于检索、处理不了”下一跳依赖上一跳答案”,且与 Decomposition 能力重叠。详见 04-优化迭代记录.md #21、18-串行多跳检索与RAG链路生产加固。
当前形态(四刀改造后):
- “多焦点”与”链式多跳”现统一由 agentic 检索循环(
AgenticSearchOrchestrator,真·LLM 工具调用,模型在运行时自驱拆解 / 多跳 / web 补检索 / 何时停)覆盖。 - 自研 Query Decomposition 与串行多跳(Self-Ask/MultiStep)已移除——拆解/多跳是否发生不再由分类器或固定分支判定,而是交给模型运行时自决(见 04-优化迭代记录.md #22)。
- 路径决策由
DocMindAgent.routePath三模式(SELECTED_DOC / RULE_PLANNER / AGENTIC)承担,复杂/多焦点/歧义查询路由进 agentic 循环。
5. Tool Use Observability + 自动熔断 → 部分实现 ✅(2026-05-05)#
已实现部分(CRAG 生成前质量闸):
- RetrievalGrader 三档评分(HIGH / AMBIGUOUS / LOW)评估检索质量
- LOW 时走降级 prompt 明确告知”证据不足”,避免幻觉
注:四刀改造后 CRAG 收敛为生成前质量闸,原”AMBIGUOUS 时迭代触发 WebWorker 回溯补偿检索”的回溯块已随
oneShotRetrieval精简删除(见 04 #22);web 补检索现由 AGENTIC 路径下模型自驱发起。
未实现部分(仍可作为扩展方向):
- 给每个 tool call 记录 latency、token cost、result quality score(LLM 自评)
- 连续 N 次超时的硬熔断(circuit breaker)
- MCP Console 页面展示工具健康度热力图
面试亮点:微服务级别的可观测性思维应用到 AI Agent 领域。
6. 对话级 Memory 升级:Episodic + Semantic 双层记忆#
现状:长期记忆已是三层存储(MySQL user_memory SoR + Redis 读缓存 + Milvus 向量召回,见 05 / 04 #34),含按 type(PREFERENCE/FACT/CONTEXT)分类、语义去重、冲突消解(supersede)、recency×frequency 淘汰;但仍是扁平的单条记忆,缺情景化与跨条整合,比较粗粒度。
扩展方案:
- Episodic Memory(情景记忆):存储完整对话片段 + 时间戳 + 情绪标签,用 vector search 做相似情景召回
- Semantic Memory(语义记忆):从多轮对话中提炼持久化的用户偏好和知识图谱节点
- Memory Consolidation:类似人类”睡眠整理记忆”,定时将 episodic 提炼为 semantic
面试亮点:MemGPT / Letta 级别的记忆架构思路。
三、系统工程层——从”能跑”到”可量化、可演进”#
7. 离线评估体系(RAG Evaluation Pipeline) → 已实现 ✅(2026-05-02)#
已实现:52 条 × 4 档对照(V1 朴素 → V2 RRF → V3 重排 → V4 反思重写),覆盖 7 类查询,产出 Recall@5 / MRR / 忠实度 / 相关性等指标。详见 09-评测体系建设.md 和 10-评测结果与发现.md。
仍可扩展:
- LLM 自动生成 QA pairs(当前是人工标注)
- 参数变更后自动触发 eval + 结果存库 + Dashboard 趋势图
V5 对照档(+Query Decomposition)—— Query Decomposition 已在四刀改造中移除(见 04 #22),该对照档随之作废;如需评测”自驱多步检索”,应改为针对 agentic 检索循环设计对照档
8. A/B 实验框架#
现状:sys_ai_config 支持热更新,但只有全局一套配置。
扩展方案:
- 支持按用户/按对话分配不同的 RAG 策略(reranker 阈值、chunk size、prompt 模板)
- 记录每组的质量指标,做统计显著性检验
- 与第 7 点的评估体系联动
面试亮点:展示数据驱动优化的工程素养,不只是”调参靠感觉”。
9. 文档变更感知与增量索引#
现状:文档入库是一次性的全量处理。
扩展方案:
- 支持文档版本管理(同一文档多版本,保留历史)
- 文档更新时只对 diff 部分重新 chunk + embedding,复用未变更 chunk 的向量
- 引入 chunk fingerprint(内容 hash),精确判断哪些 chunk 需要更新
- 下游检索结果标注”来源版本”
面试亮点:解决生产环境中”知识库持续更新”的真实痛点。
四、前端与交互层——从”功能页面”到”专业产品”#
10. Agent 推理过程可视化 → 已实现 ✅(Phase 6, 2026-05-09)#
已实现:Phase 6 前端思考时间线——SSE 事件驱动的 11 步时间线组件(scope → understand → rewrite → routing → plan → retrieval → grader → rerank → warning → reflection → generating),实时展示每步状态,完成后自动折叠为一行摘要。三色路由/评分徽章,检索日志弹窗。详见 04-优化迭代记录.md #20。
仍可扩展:
- 用 D3.js 绘制 DAG 图(当前是线性时间线)
- 点击 chunk 节点查看 rerank 分数变化
11. 语音交互完善(已有 WebSocket 基础)#
现状:SpeechWebSocketServer 已经有语音识别代理的骨架。
扩展方案:完整的语音对话闭环——STT → Agent → TTS streaming,支持打断(interrupt),前端做音频波形可视化。
面试亮点:多模态交互能力,体现完整产品思维。
推荐优先级#
按投入产出比排序:
| 优先级 | 方向 | 理由 |
|---|---|---|
| 52 条 × 4 档对照已落地(09/10) | ||
| Phase 6 思考时间线已落地(04 #20) | ||
| 落地(04 #4 + 18 多跳);Plan-and-Execute 曾落地后移除(04 #21) | ||
| P1 | #3 Chunk 知识图谱 | GraphRAG 是热点话题,面试区分度高 |
| P2 | #9 增量索引 | 工程成熟度的体现 |
| CRAG 三档评分已实现质量感知降级,硬熔断待补 | ||
| P2 | #6 双层记忆 | 概念前沿,但实现复杂度高 |
| 已落地(纯规则 QueryProfiler + RRF 加权,详见 04 #5) | ||
| P3 | #2 ColBERT 重排 | 需要额外模型部署成本 |
| P3 | #8 A/B 框架 | 依赖 #7 先建立 |
| P3 | #11 语音交互 | 完善型功能,非核心差异点 |
12. CRAG 更细粒度策略(per-chunk 评分)#
现状:RetrievalGrader 用全局 topScore 判定三档,但混合检索可能出现”top-1 高分但 top-2~5 全部低分”的情况,global topScore 掩盖了整体质量低的事实。
扩展方案:per-chunk 评分 + 加权聚合,给每条 chunk 独立的 relevance 标签(relevant / partial / irrelevant),用 relevant 比例决定整体 tier。
面试亮点:展示对 CRAG 论文的深入理解和改进思考。
13. Multi-modal RAG(图表/公式直接理解)#
现状:MinerU 把图表转为文本描述,但复杂图表(架构图、流程图、数据表)的文本化信息损失严重。
扩展方案:引入多模态 LLM(qwen-vl)直接理解图片 chunk,在检索阶段用图片 embedding 做匹配。
面试亮点:Multi-modal RAG 是 2025 年后的热点方向。
与 06-待优化清单的关系#
- 06:迭代清单,每项都是 1-3 天可完成的小步优化(如算法单测、置信度评分、报错日志结构化等)
- 07:架构级扩展,每项都是 1-2 周的小型项目,会改变系统能力边界
建议节奏:
- 先把 06 的 H 级清单做完(基础工程素养)
- 再从 07 选 1-2 个 P0 方向深度落地(技术深度展示)
- 在 04-优化迭代记录.md 中记录每次落地的迭代过程
面试话术模板#
当面试官问 “这个项目你后续打算怎么演进?” 时,可以这样答:
“当前系统已经能覆盖团队日常 80% 的文档查询需求。后续演进我分了四个层面:
检索层——已经做了两个关键优化:MMR 多样性重排保证信息密度,Query-Aware Adaptive Retrieval 让不同类型的查询走不同的检索配方。下一步想引入 GraphRAG,把文档间的引用、依赖关系建成图谱解决跨文档推理问题。
Agent 层——路径决策现在是三模式:用户选中文档走 SELECTED_DOC 直读;简单非歧义查询走 RULE_PLANNER 一次性检索(
oneShotRetrieval:并行 Worker → RRF → rerank → MMR → 压缩 → CRAG 质量闸);其余复杂/多焦点/歧义查询走 AGENTIC——真·LLM 工具调用循环(AgenticSearchOrchestrator),由模型在运行时自驱拆解 / 多跳 / web 补检索 / 何时停。CRAG 现在是生成前的检索质量闸(三档评分,LOW → 降级 prompt),不再有 AMBIGUOUS → WebWorker 的迭代回溯补偿。早期 Phase 2 做过 Plan-and-Execute,后来发现它规划早于检索、处理不了链式多跳又与 Decomposition 重叠,已移除(见 04 #21);自研的 Query Decomposition 与串行多跳(Self-Ask/MultiStep)也已收敛到 agentic 循环里,由模型自驱替代了固定分支(见 04 #22)。检索增强方面 HyDE 假设性文档生成已落地(增强低分召回),下一步想把记忆系统从单层 KV 升级到 episodic + semantic 双层记忆。工程层——最重要的是建立离线评估体系,用 RAGAS 那一套指标(Faithfulness、Answer Relevance、Context Precision),让每次参数调整都有数据支撑,再配合 A/B 框架做线上灰度。
交互层——前端要把 Agent 完整推理链路可视化,让用户能看到每个 chunk 为什么被召回、为什么被 rerank 过滤掉,这也是我对’可解释 AI’的实践。”