Skip to content

RAG 从 Demo 到生产检查清单

RAG 具备生产就绪度,不是因为它能回答几个演示问题,而是因为数据与索引可追溯、检索遵守权限、答案引用可验证、质量可以回归、成本和故障可控制,并且发布可以停止、降级和回滚。清单中的每一项都应对应负责人和证据。

先说结论

上线评审先检查三个不可妥协的条件:

  1. 不能越权:未授权内容不会进入召回候选、缓存、日志或回答。
  2. 不能无依据装作确定:系统能返回可验证引用,并在证据不足时拒答或降级。
  3. 不能不可逆:数据、索引和配置有版本,出现质量或安全事故时能够停止流量并回到兼容组合。

本文不提供通用准确率、延迟、Chunk Size、Top-K 或成本阈值。团队应根据业务风险、真实语料、服务目标和预算建立基线,记录阈值依据,并在数据或模型变化后复核。

适合谁,不适合谁

本文适合企业知识库、客服检索、内部问答、文档助手,以及把知识库作为 Agent 工具的项目。它可以用于方案评审、上线门禁和事故复盘。

它不是行业合规认证,也不能替代安全、隐私、法务和业务专家评审。医疗、金融、公共安全或其他高风险场景需要额外控制。若还不清楚 RAG 的索引和查询链路,先读 RAG 完整工作原理

如何使用这份清单

为每个检查项记录:

字段说明
状态未开始、进行中、通过、接受风险或阻断
负责人能执行修复和批准结果的人
证据测试报告、配置、仪表盘、审计记录或演练记录
适用范围租户、知识库、数据类型、模型与发布版本
复核时间数据、依赖或业务变化后的下一次检查

“代码里做了”不等于通过。评审者应能从证据复现结论;无法说明的项目按未完成处理。

1. 数据质量与生命周期

  • [ ] 已列出全部数据源、所有者、数据分类、处理目的和允许使用范围
  • [ ] 文档导入会校验格式、大小、编码、重复和恶意文件风险
  • [ ] PDF、网页、表格、代码和扫描件有代表性解析抽检
  • [ ] 页眉页脚、阅读顺序、表头、标题路径和来源定位不会被错误清洗
  • [ ] 原始文档与派生文本分离,清洗过程可重放且有版本
  • [ ] 文档 ID、源版本、内容哈希、解析器版本和导入时间可追溯
  • [ ] 新增、更新、权限变化和删除都有明确传播路径
  • [ ] 失败任务可重试且幂等,不会产生重复或半成品索引
  • [ ] 删除覆盖向量索引、关键词索引、缓存、引用和受影响的派生数据
  • [ ] 数据保留、删除请求、备份恢复和第三方处理符合组织政策

深入方法见 RAG 文档导入与清洗

2. 切片与索引

  • [ ] 切片优先保留标题、段落、列表、表格、代码和 FAQ 等语义边界
  • [ ] Chunk 保留稳定 ID、文档 ID、版本、标题路径、原文定位和访问范围
  • [ ] 长度单位明确为字符、Rune 或指定 tokenizer 的 Token
  • [ ] Chunk Size 与 Overlap 由代表性评估集选择,而不是复制示例参数
  • [ ] 不同文档类型可以使用不同切片策略,并记录策略版本
  • [ ] 重叠片段有去重方案,不会无控制地增加上下文与成本
  • [ ] Embedding 模型、预处理、向量维度和距离度量保持兼容
  • [ ] 新索引构建完成并抽检后再切换读取,不向在线索引混写不兼容向量
  • [ ] 索引别名或版本映射可以定位当前读版本并支持回退
  • [ ] 重建任务有容量评估、进度、失败统计与取消能力

决策方法见 RAG 文本切分与 Chunk Size

3. 检索质量与失败处理

  • [ ] 评估集覆盖事实、精确术语、条件、跨段、无答案和历史故障问题
  • [ ] 向量、关键词、查询改写、融合和重排分别可开关、可观测
  • [ ] 候选数量、融合参数、重排和截断规则有实验记录
  • [ ] 可以查看最终候选的 Chunk ID、来源、排名、版本和过滤原因
  • [ ] 召回、重排和上下文组装的超时与错误分类清晰
  • [ ] 任一路检索失败不会被静默记为完整成功
  • [ ] 零召回、低证据和依赖故障有明确拒答或降级策略
  • [ ] 重复 Chunk、过期版本和冲突文档有确定性处理规则
  • [ ] 查询与文档语言、专有名词、错误码和缩写经过真实语料验证
  • [ ] 修改检索策略后运行同一数据快照上的版本回归

排查顺序见 RAG 检索不准怎么排查

4. 权限与租户隔离

  • [ ] 身份来自可信认证链路,模型或用户文本不能声明自己的权限
  • [ ] 服务端根据用户、租户、角色和资源策略生成过滤条件
  • [ ] 权限过滤覆盖向量、关键词、缓存、重排和引用打开接口
  • [ ] 重排与生成只接触已授权候选,不依赖 Prompt 要求模型保密
  • [ ] 管理接口、查询接口和 Agent 工具使用一致的授权事实来源
  • [ ] 权限变化和撤权能使索引、缓存和分享链接按设计失效
  • [ ] 跨租户、越权角色、已删除文档和撤权用户有负向测试
  • [ ] 检索后过滤的场景已评估候选不足与信息侧信道风险
  • [ ] 权限拒绝、策略版本和最终引用有审计记录
  • [ ] 管理员调试能力受额外权限、审批和审计约束

项目中的服务端过滤与多索引一致性示例见 企业级 RAG 知识库

5. 引用与答案边界

  • [ ] 每个可展示引用来自本次请求的真实授权候选
  • [ ] 引用包含文档 ID、版本、标题路径及可验证定位
  • [ ] 返回前校验引用存在、未失效,并支持相邻答案陈述
  • [ ] 用户打开引用时再次鉴权,而不是依赖生成时的权限结果
  • [ ] 文档更新或删除后,旧引用有明确失效与提示机制
  • [ ] 冲突来源按版本、权威性和时效规则处理,不让模型自行猜测
  • [ ] 证据不足时系统明确无答案、请求澄清或转人工
  • [ ] 引用格式与前端渲染经过注入和不可信 URL 测试
  • [ ] 生成模型不能伪造未被检索到的来源 ID
  • [ ] 引用缺失、失效和不支持陈述的情况进入质量指标

6. 离线评估、线上反馈与回归

  • [ ] 评估项包含问题、预期证据、参考答案、访问上下文、标签和审核状态
  • [ ] 样本来自真实问题、业务专家、边界案例和历史故障,而非只用合成数据
  • [ ] 检索、上下文、生成、引用、权限与系统指标分层评估
  • [ ] Golden Dataset 有版本、变更审核和数据权限
  • [ ] 评估运行锁定数据、索引、检索、Prompt、模型和 Judge 版本
  • [ ] LLM-as-a-Judge 已使用人工样本校准,失败与不确定结果单独处理
  • [ ] 候选版本同时报告总体结果、关键分组和逐案例退化
  • [ ] 线上负反馈、无答案、引用点击和人工改写可关联到请求版本
  • [ ] 线上样本经过脱敏、授权和审核后才进入回归集
  • [ ] 发布阻断与灰度停止条件由业务风险和基线决定,并有批准记录

完整方法与面试中的效果证明见 RAG 评估

7. 观测、日志与审计

  • [ ] request ID 贯穿导入、Embedding、检索、重排、生成和引用
  • [ ] 系统指标覆盖请求、错误、取消、阶段耗时、队列、限流和资源饱和
  • [ ] 质量指标覆盖零召回、无答案、引用错误、权限拦截和用户反馈
  • [ ] 日志和 Trace 能识别应用、Prompt、模型、索引与检索配置版本
  • [ ] 默认记录 ID、版本和统计,而不是完整 Query、Chunk 或 Prompt
  • [ ] 正文采样有审批、脱敏、隔离存储、访问审计和保留期限
  • [ ] 指标标签避免用户 ID、原始文本等敏感或高基数字段
  • [ ] 每个告警有阈值依据、负责人、操作手册和升级路径
  • [ ] 仪表盘可以按租户、知识库、查询类型和版本定位局部退化
  • [ ] 审计证据在回滚和事故处理中不会被覆盖或提前删除

实现边界见 RAG 部署与可观测性

8. 成本与容量

  • [ ] 记录导入、Embedding、存储、检索、重排、生成和观测的成本来源
  • [ ] 用组织核验的账单或费率估算,不复制未经维护的固定价格
  • [ ] 对单请求输入、候选、上下文、输出、重试和并发设置硬上限
  • [ ] 对租户、知识库和功能设置预算、配额、限流和异常用量告警
  • [ ] 文档去重、增量 Embedding 和缓存不会绕过版本与权限
  • [ ] 缓存键包含租户、权限、数据和配置版本,失效路径经过测试
  • [ ] 压测覆盖长文档、批量重建、热点查询、慢依赖和流式断开
  • [ ] 供应商限流或不可用时有排队、拒绝或经过评估的降级
  • [ ] 降级策略同时验证质量、权限与真实成本,而不是只验证能调用
  • [ ] 容量扩展、索引重建和备份恢复不会挤占在线服务关键资源

通用预算方法可继续阅读 LLM 成本控制

9. 安全与隐私

  • [ ] 文档、用户 Query、检索结果和工具返回均按不可信输入处理
  • [ ] 文档内提示注入不能覆盖系统规则、伪造授权或触发工具
  • [ ] 上传执行文件类型、内容、大小、压缩包和恶意载荷检查
  • [ ] HTML、Markdown、链接和下载内容在展示时进行对应安全处理
  • [ ] 密钥由服务端密钥系统管理,不进入仓库、镜像、日志和 Prompt
  • [ ] 发送给外部模型或服务的数据范围、地域和保留政策经过批准
  • [ ] 敏感数据识别、脱敏、删除和数据主体请求覆盖全部派生副本
  • [ ] Agent 使用知识库时,检索工具只读、参数受 Schema 和 allowlist 限制
  • [ ] 滥用、批量枚举、数据外带和异常查询模式有限流与响应流程
  • [ ] 安全测试与残余风险由有权限的负责人审核,不由模型自审代替

10. 部署、灰度与运行

  • [ ] 镜像、依赖、应用和配置可追溯,生产凭据不进入构建产物
  • [ ] 运行用户、网络访问、文件系统和资源权限遵循最小权限
  • [ ] Readiness、Liveness、优雅关闭、超时和取消行为经过验证
  • [ ] 数据库与索引迁移前后兼容,读写版本切换顺序明确
  • [ ] 发布组合包含应用、Prompt、模型、切片、Embedding、索引和检索配置
  • [ ] 离线回归通过后再进入内部验证、影子流量或小范围灰度
  • [ ] 每个阶段有扩大、保持和停止条件,不只观察 HTTP 错误
  • [ ] 流式中断、依赖超时、部分检索失败和队列积压有演练记录
  • [ ] 值班人员可以查看质量与系统仪表盘,并有处理权限
  • [ ] 上线后复核时间、负责人和评估集更新流程已经安排

11. 降级与回滚

  • [ ] 有停止新生成请求、索引写入或 Agent 检索工具的独立开关
  • [ ] 可降级为授权搜索、只读结果、人工队列或明确拒绝
  • [ ] 降级不会关闭鉴权、引用校验、审计或数据保护
  • [ ] 上一个应用与配置组合仍可用,目标索引和 Schema 与之兼容
  • [ ] 索引通过别名、版本或快照切换,避免原地覆盖后无法恢复
  • [ ] 回滚包含 Prompt、模型路由、Embedding、检索参数和缓存失效
  • [ ] 已演练错误权限规则、质量退化、Provider 故障和索引构建失败
  • [ ] 回滚步骤、所需权限、预计影响和验证查询写入操作手册
  • [ ] 回滚后运行关键权限与质量冒烟集,并继续观察事故信号
  • [ ] 事故证据、审计记录和受影响版本在处置完成前得到保留

常见误区与失败边界

  1. 只做端到端准确率:无法区分解析、切片、召回和生成中的问题。
  2. 把引用当装饰:有文件名不代表来源支持陈述,也不代表用户有权打开。
  3. 先召回全部,再让模型保密:模型不是授权边界,越权内容不应进入候选。
  4. 照抄 Chunk、Top-K 和分数阈值:不同语料、模型与数据库的分数和成本不可直接迁移。
  5. 只监控 5xx:质量退化、错误引用和数据泄露可能以成功响应返回。
  6. 回滚只回容器:错误索引、Prompt、权限规则和缓存仍会继续影响答案。
  7. 上线后自动把用户数据加入评估集:这可能破坏隐私、权限与评估基线。

清单通过只能说明当前范围内已有证据,不代表系统永久安全。数据、模型、依赖、权限或业务目标变化后都需要重新评审。

可执行检查清单

发布负责人最终确认:

  • [ ] 数据来源、质量、生命周期和索引版本均可追溯
  • [ ] 切片和检索参数来自代表性评估,而非示例阈值
  • [ ] 权限过滤覆盖全部检索、缓存、重排与引用链路
  • [ ] 答案引用真实、可访问、可定位,并有证据不足策略
  • [ ] 离线、线上和回归评估覆盖质量、安全与关键业务分组
  • [ ] 系统、质量、成本和安全信号均可观测并有负责人
  • [ ] 敏感数据不会未经批准进入外部服务、日志或评估集
  • [ ] 容量、配额、超时、取消和依赖故障经过验证
  • [ ] 灰度扩大与停止条件明确,降级和完整组合回滚已演练
  • [ ] 上线批准、接受风险、复核日期和事故响应路径有记录

下一步

回到 RAG 专题按数据、切片、检索、评估和部署顺序补齐知识。若要把检查项落实为可展示项目,下一步进入 企业级 RAG 知识库,再回到 AI 项目作品集整理业务目标、个人职责、验收报告和复盘证据。

AI 应用开发训练营 · 现在开始

别只收藏 AI 文章,今天就做出第一个能上线的项目

文章解决认知,项目才证明能力。把 Agent、RAG、MCP 变成可运行、可展示、可面试表达的成果,现在就从一次岗位准备度自测开始。

立即开始 AI 岗位准备度自测 查看训练营路线
真实学员成果先看成果,再决定是否开始 →
  1. 01选方向
  2. 02做项目
  3. 03出成果
  4. 04拿面试