知识库会腐烂:企业RAG的衰减规律与四条养护机制
上线三个月后RAG答不准,往往不是模型退化,而是知识库在腐烂。拆解四类衰减(过期、冲突、碎片、漂移),给出巡检机制、冲突消解规则与人力预算。
上线时的 92 分,三个月后的 71 分
一个典型的 RAG 项目:验收时评测通过率 92%,三个月后同样问题集的通过率掉到 71%。团队第一反应是”模型是不是变笨了”,第二反应是”要不要换更好的模型”。
实际原因通常很朴素:知识库变了,检索没变,文档没人管。
四类衰减,各有关键指标
1. 过期(Staleness)
政策改了、价格调了、流程变了,文档还是旧的。这是最主要的一类,通常占到衰减原因的 50% 以上。
关键指标:文档中位数年龄(天)。如果客服场景的中位数超过 90 天,基本可以确定有过期内容在影响回答。
缓解:每篇文档必须在 frontmatter 里有 owner 和 next_review 字段,到期自动进巡检队列。
2. 冲突(Conflict)
同一件事三份文档说法不同——旧版制度没下线、新流程和 FAQ 打架。RAG 会把三个冲突片段一起喂给模型,模型要么选一个(碰运气),要么把矛盾都说出来(用户懵)。
关键指标:检索命中片段间的语义矛盾率。做法是抽样 100 个查询,看 top-5 片段中是否存在互相矛盾的陈述。
3. 碎片(Fragmentation)
文档被切碎了,单块检索出来是”半句话”。比如”退款需在签收后 7 日内提出”和”(不含定制商品)“被切到了两块,只检索到前者就会给出错误答案。
关键指标:检索片段的”自足率”——单独读这一段,是否构成完整可用的信息。
4. 漂移(Drift)
业务本身变了。用户开始问一年前不存在的问题,旧知识库的覆盖度下降。
关键指标:未命中率(检索最高分低于阈值)与转人工率。这两个指标持续上升,说明知识库需要扩容而不是优化。
机制一:文档生命周期字段
强制三字段,缺一个不进库:
owner: 客服运营组-张楠
last_verified: 2026-03-12
next_review: 2026-09-12
authority: 1 # 1=正式制度 2=操作指引 3=FAQ 4=草稿
authority 是关键:冲突时按权威等级排序,制度优先于 FAQ,不用让模型自己猜。权威等级 + 更新时间双排序,是消解冲突最有效的一招。
机制二:每周 30 分钟的”坏样例”巡检
不需要全量重测,每周抽 30 条上周转人工或差评的对话,人工判断是”知识缺失、知识过期、还是模型问题”。
三类归因的处理路径完全不同:
| 归因 | 占比经验值 | 处理 |
|---|---|---|
| 知识缺失 | 40% | 补文档 |
| 知识过期 | 25% | 更新文档 |
| 检索未命中(切片/表述差异) | 20% | 改切分、加同义表述 |
| 模型问题 | 15% | 才去动提示词或换模型 |
这个分布会改变你的工作重心——60% 以上的问题不该由 AI 团队解决。
机制三:把”用户提问”变回”知识”
最高效的知识生产机制是:把用户的高频问法反写进文档。
用户不会用你的官方术语提问。制度写”订单履约异常处理”,用户问”我的单号一直不动是怎么回事”。后者才是检索时真正出现的 query。
做法:每月从检索日志里取 top 100 query,去重归类,给每类补 2–3 条同义表述写进文档末尾的”常见提问”小节。这一步通常能带来10–15 个点的召回提升,成本极低。
机制四:给知识库设”责任人”而不是”管理员”
管理员只做增删改,出现问题没人负责内容是否正确。正确做法是按领域分责任人:
- 退款政策 → 客服运营
- 产品参数 → 产品经理
- 合同条款 → 法务
每季度责任人签一次”本领域知识复核”,复核记录进审计。没有这个流程,没有人会主动更新文档——这不是执行力问题,是激励结构问题。
一份养知识库的人力预算
以 2000 篇文档、月活 5 万次问答的中型知识库:
- 每周巡检归因:0.5 人天 × 4 = 2 人天/月
- 文档更新(基于巡检):2 人天/月
- 同义表述补充:1 人天/月
- 季度全量复核:约 3 人天/季
- 合计约 6 人天/月
6 人天换 20 个点的准确率,比换更贵的模型划算得多。
一句话总结
RAG 不是”接了知识库就完了”的产品,是一个需要持续喂养的系统。 上线只完成了 30%,剩下 70% 是运营。评估一个团队 RAG 做得行不行,别问用了什么模型,问”你们多久巡检一次知识库”。