知识库会腐烂:企业RAG的衰减规律与四条养护机制

📅 2026/4/26 ✍️ 小文 📖 约 1 分钟

上线三个月后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 做得行不行,别问用了什么模型,问”你们多久巡检一次知识库”。

📤 分享到