RAG / 常见问题排查

企业知识库为什么总答非所问:RAG 项目最常见的 8 个坑

很多团队做企业知识库问答,第一反应都是“模型不够聪明”。但实际项目里,答非所问往往不是模型本身的问题,而是资料质量、切分策略、召回逻辑、权限边界、提示词和评估方法一起出了偏差。RAG 做不好,最后看起来像模型在胡说;RAG 做对了,普通模型也能给出稳定很多的结果。

先说结论

企业知识库问答效果差,十有八九不是“再换个更强模型”就能解决。真正该优先排查的是:文档有没有整理好、切分是否合理、召回是否准确、提示词有没有边界、系统是否允许拒答、上线前有没有做真实问题评估

一、坑 1:把脏乱文档直接扔进知识库

很多项目一开始就把各种 PDF、聊天记录、旧版说明、重复文档一股脑导进去。这样做的后果是:系统即使能召回,也可能召回到过期内容、冲突内容或无效内容。

  • 先做文档清洗和去重
  • 标记版本和生效时间
  • 区分正式制度、FAQ、内部草稿和历史废弃内容

二、坑 2:切分太粗,或者切分太碎

切分太粗,模型拿到的是一大坨信息,很难准确定位答案;切分太碎,又会把上下文关系打断,导致召回回来的是一堆零散句子。真正合适的切分方式,通常要围绕“一个问题需要多大信息块才能答清楚”来设计,而不是机械按字数切。

三、坑 3:只看召回数量,不看召回质量

很多人会说“我已经召回 10 段了,为什么还不准?”因为召回多不等于召回对。真正重要的是前几段里有没有真正相关的内容,而不是单纯把结果列表堆长。

四、坑 4:没有做重排或相关性控制

如果召回结果里最相关的内容排不到前面,模型就容易优先消费次优内容,最后答偏。很多“答非所问”其实是排序问题,不是生成问题。

五、坑 5:提示词写得像宣传文案,没有边界

企业知识库问答不是写作文。提示词如果只有“请尽量帮助用户回答问题”,那模型在资料不足时就很容易自由发挥。更稳的方式是明确边界:

  • 优先基于召回资料作答
  • 资料不足时明确说“当前资料不足”
  • 不要编造价格、规则、时间和权限信息
  • 必要时输出置信度或是否需要人工介入

六、坑 6:没有拒答机制,逼着系统必须回答

很多项目最怕用户看到“我不知道”,结果反而把系统训练成“即使不知道也要硬答”。这在企业场景里非常危险。正确做法不是追求 100% 都有答案,而是追求:该答的时候尽量准,不该答的时候能稳稳拒答

七、坑 7:忽略权限边界,什么文档都一起检索

如果销售、客服、管理员和普通员工看到的是同一个知识库池,系统就可能把不该给的资料也拿出来回答。权限问题不是上线后再补,而应该在索引和召回阶段就做好隔离。

八、坑 8:没有真实业务题集,只靠主观感觉验收

“我试了几个问题感觉还行”不等于能上线。企业知识库要做评估,至少得准备一批真实问题样本,覆盖:

  • 高频 FAQ
  • 模糊问法
  • 容易混淆的问题
  • 本来就不该回答的问题
  • 需要跨文档理解的问题

没有题集,你永远不知道系统到底是在“偶尔答对”,还是“整体可用”。

九、为什么很多团队会误判成“模型不行”?

因为用户看到的最终表现是回答错了,最显眼的就是模型输出。但模型只是最后一层。前面如果资料脏、召回偏、排序乱、提示词没边界,再强的模型也容易被带歪。很多时候,换一个更贵的模型,只是把问题稍微掩盖了一点,并没有根治。

十、一个更稳的排查顺序

  1. 先看原始文档质量
  2. 再看切分策略
  3. 再看召回和排序
  4. 再看提示词和拒答边界
  5. 最后才考虑是否换模型

十一、什么时候该考虑多模型或统一网关?

当你已经有多个知识库、多个应用、多个团队在共用模型时,最好把模型层独立出来,通过 AI Gateway 统一管理。这样你可以对不同场景分配不同模型,也方便成本和权限治理。

十二、一个现实建议:别把 RAG 当成“导文档=上线”

很多项目失败,不是因为技术做不到,而是因为把知识库系统想得过于简单。真正能上线的企业知识库,背后通常都有资料治理、问法样本、拒答策略、权限设计和持续评估。它更像一个长期运营系统,而不是一次性接入工程。

十三、适合承接的 SEO 关键词

  • 企业知识库答非所问
  • RAG 常见问题
  • RAG 效果不好怎么办
  • 知识库问答不准
  • 检索增强项目踩坑