高级实战场景 · 场景4
RAG 实战
面向企业知识库、私有文档助手和长代码分析场景,掌握从语料准备、检索链路设计到效果评估与持续优化的完整 RAG 落地流程,真正把 RAG 做成可迭代的工程系统。
学习目标
理解 RAG-DD 的端到端落地流程,并能把问题拆到语料、检索、生成各层验证
能够设计知识库分块、元数据、更新机制与权限边界
掌握检索、重排序、上下文组装之间的关键权衡
能够通过评估集与失败复盘持续优化 RAG 效果
方法论
RAG-DD 工作流
1
问题定义:明确用户问题类型、可接受延迟、回答可信度要求,以及是否需要引用来源。
2
语料治理:清理文档、去重、打标签、建立更新时间和权限边界,避免把脏数据直接送进知识库。
3
检索设计:决定分块策略、向量检索或混合检索、是否需要重排序,以及最终注入模型的上下文结构。
4
评估迭代:通过命中率、召回率、答案准确率与失败样本复盘,持续优化分块、召回和 Prompt。
检索链路设计
知识分块
- • 以语义完整性优先,不要只按固定字数粗暴切片
- • 为每个 chunk 增加来源、时间、业务域、权限等元数据
- • 对架构文档、接口文档、代码说明书使用不同的分块策略
检索与重排序
- • 通用问答优先考虑混合检索,兼顾语义召回与关键词精确匹配
- • 对长代码分析场景,重排序通常比单纯增加 top-k 更有效
- • 上下文组装时要保留来源和层级,避免片段脱离原语境
实践原则:先做“能解释为什么答成这样”的 RAG,再追求“看起来更聪明”的回答质量。
评估与治理
- • 召回评估:问题对应的正确文档是否被检索出来
- • 答案评估:回答是否准确、完整、是否引用了正确来源
- • 失败复盘:区分是检索失败、上下文污染还是生成阶段幻觉
- • 权限治理:按知识域和用户身份隔离文档,避免越权召回
AI工具应用
用 Claude 设计评估集
让 AI 从历史 FAQ、工单、文档目录中生成评估问题集,覆盖查询改写、模糊问法和长尾场景。
重点不是“让 AI 评自己”,而是让 AI 帮你快速构造覆盖面更广的测试样本。
用向量数据库和重排序模型优化召回
- • 向量数据库负责初步召回,尽量保证“找得到”
- • 重排序模型负责把最相关的文档排到前面,保证“送得准”
- • 对失败样本做 Top-K 对比,比盲目调 Prompt 更有价值
实战案例
案例1:企业内部知识库问答
目标:让员工用自然语言查询制度、流程、FAQ 和架构文档,并返回带出处的答案。
- • 语料来源:制度文档、Wiki、FAQ、SOP
- • 关键设计:文档分域、权限控制、版本更新时间
- • 核心指标:命中率、引用正确率、问题解决率
案例2:大型代码仓库检索增强助手
目标:结合代码注释、README、架构设计文档和模块边界信息,辅助开发者快速定位实现逻辑。
- • 语料来源:代码说明、架构文档、接口契约、变更记录
- • 关键设计:按模块和上下游关系组织上下文,而不是只塞代码片段
- • 失败重点:召回到过期文档、缺失模块边界、片段脱离语义上下文
学习成果检查清单
能够根据场景设计 RAG 的语料、分块和检索链路
理解向量检索、混合检索和重排序的适用边界
能够建立最小可用的 RAG 评估集与失败复盘机制
知道如何处理来源引用、权限隔离和知识更新问题
能把 RAG 作为工程系统而不是单次 Prompt 技巧来设计