第 17 章 面向生产的 RAG¶
很多 RAG Demo 都能在公开资料上跑出漂亮效果,但一进生产就暴露问题。原因不是 Demo 做得假,而是生产环境比 Demo 多了几个硬约束:权限、版本、时效、可观测性和评测。RAG 要真正可用,必须把这些东西作为一等公民设计。
17.1 多租户与权限隔离¶
企业知识系统最先遇到的问题通常不是“检索准不准”,而是“这个用户能不能看到这段资料”。只要存在多租户、多部门或私有文档,权限过滤就不能放在结果之后补,而应进入检索链路本身。
17.2 版本管理¶
同一知识对象在不同时间可能有不同版本。生产系统如果不保留版本概念,就无法解释为什么今天和昨天给出了不同答案,也无法回溯某次回答当时到底依据了哪份资料。
17.3 混合检索¶
仅靠向量检索很难覆盖所有场景。很多生产系统最终会采用混合检索:
- 关键词匹配负责显式命中。
- 向量检索负责语义召回。
- 结构化过滤负责权限、时间和类型约束。
混合检索的目标不是技术堆料,而是让不同类型的问题都有稳定入口。
17.4 RAG 评测¶
没有评测,RAG 迭代几乎只能靠印象。至少要建立几类样例:
- 明确应命中的查询。
- 容易错召回的查询。
- 存在冲突版本的查询。
- 权限受限查询。
只有这样,团队才能判断某次索引、切分或重排调整到底在改善什么。
17.5 本章小结¶
面向生产的 RAG,重点不再只是召回效果,而是权限隔离、版本回溯、混合检索和持续评测。到这里,知识系统的基础部分已经完整。下一部分会继续进入另一个紧密相关但又不能混淆的系统:Memory,也就是 Agent 如何保留和复用长期信息。