返回 RAG 工程实战目录

运维与持续迭代

用坏例回流维持长期质量

生命周期 · 阶段七 运维与迭代 | 上游:部署上线(10)| 闭环:坏例回流驱动 03~10 各阶段迭代

RAG 上线不是终点:知识在变、用户问法在变、模型在变。监控 → 坏例回流 → 迭代 → 回归评测的闭环决定系统长期质量。

一、监控体系

1. 核心监控指标

类别指标告警参考
可用性服务存活、接口成功率成功率 < 99%
性能检索耗时、LLM 耗时、端到端 P95P95 > 目标值 1.2 倍
检索健康平均 top1 相似度、零结果率零结果率突增
生成健康拒答率、引用缺失率拒答率异常升高
资源GPU 利用、向量库内存/磁盘、队列积压积压 > 阈值
成本tokens 消耗、API 费用日环比突增

2. 用户体验信号

  • 点踩/点赞按钮(挂在每条回答上)
  • 追问率(回答没答到点上用户会追问)
  • 会话放弃率

二、日志与链路追踪

每次问答全链路留痕(见 06 篇可观测性 JSON),排障三问:

  • 检索到了吗 → 看 retrieval 中 golden 切片是否在候选里
  • 排到前面了吗 → 看 rerank 分数与位置
  • 用好了吗 → 对比 Prompt 里给的资料与最终答案

三、知识库运维

1. 文档生命周期

新增/更新 → 入库流水线 → 生效
                ↓
旧版本下线(切片物理删除,保留审计记录)
过期文档定期归档清理(避免僵尸知识污染检索)

2. 增量与批量

  • 日常增量:单文档实时入库(分钟级生效)
  • 定期全量校验:切片数 vs 文档数对账,发现静默丢失
  • Embedding 模型升级:蓝绿双库切换,新库建好验证后切流量,旧库保留回滚窗口

3. 数据安全运维

  • 权限变更同步(人员调岗后检索范围即时更新)
  • 敏感文档下线的即时生效验证
  • 定期权限越权抽测(用测试账号探测)
  • 审计日志留存(谁问了什么、谁上传了什么)

四、坏例回流闭环(Bad Case Loop)

flowchart LR A["线上点踩 / 低分回答"] --> B["坏例池"] B --> C["人工归因分类"] C --> D["修复"] D --> E["加入评测集"] E --> F["回归验证"] F --> G["发布"] G -.->|"新的坏例持续流入"| A style C fill:#fff8e1,stroke:#d4a017 style G fill:#eaffea,stroke:#4abf60

归因分类与对应动作

坏例类型根因修复动作
文档里没有该知识覆盖缺口补充文档入库
有知识但没检索到切片/检索问题调切片策略、加混合检索、换 Embedding
检索到了但排序靠后重排问题调 top_k、换 Rerank 模型
资料对了答案错生成问题优化 Prompt、换模型、降温
答案编造幻觉加强拒答约束、加引用校验
答案对但引用错元数据问题修元数据传递链路

五、持续迭代节奏(参考)

周期动作
每日查看监控大盘与告警;处理坏例池新增
每周坏例归因复盘;评测集补充线上真实问题;小优化上线(带回归评测)
每月全量评测 vs 基线对比;文档库健康度盘点(过期/缺失);容量评估
每季评估新模型(Embedding/LLM)是否值得升级;架构复盘

六、容量规划速查

资源经验估算
向量库内存由向量数、维度、精度、索引类型、payload 和副本共同决定;用目标数据建样本索引实测
入库吞吐受解析、OCR、批大小、Embedding 模型和硬件共同影响;分别测各阶段吞吐
LLM 并发受模型、精度、上下文长度、输出长度、批处理和硬件影响;用真实请求分布压测
磁盘分别估算原件、解析产物、索引、副本、日志和快照,并预留增长空间

七、上线检查清单(Go-Live Checklist)

  • [ ] 准出标准全部达成(见 08 篇)
  • [ ] 监控大盘与告警通道就绪
  • [ ] 降级预案演练通过(LLM 超时 → 返回纯检索结果)
  • [ ] 备份与恢复演练(向量库 + 文档原件)
  • [ ] 权限体系上线前越权测试通过
  • [ ] 灰度计划明确(先小范围用户 → 全量)
  • [ ] 回滚方案就绪(版本化配置 + 双库切换)

本篇交付与下一步

运维闭环应留下坏例、归因、修复、回归与发布记录。监控阈值、评审周期和留存期限都应与业务风险绑定;趋势变化通常比跨项目套用固定数字更有价值。术语可随时查阅 12-附录:名词术语表,个人落地可进入 13-个人知识库落地指南