先说结论
企业知识库问答效果差,十有八九不是“再换个更强模型”就能解决。真正该优先排查的是:文档有没有整理好、切分是否合理、召回是否准确、提示词有没有边界、系统是否允许拒答、上线前有没有做真实问题评估。
很多团队做企业知识库问答,第一反应都是“模型不够聪明”。但实际项目里,答非所问往往不是模型本身的问题,而是资料质量、切分策略、召回逻辑、权限边界、提示词和评估方法一起出了偏差。RAG 做不好,最后看起来像模型在胡说;RAG 做对了,普通模型也能给出稳定很多的结果。
企业知识库问答效果差,十有八九不是“再换个更强模型”就能解决。真正该优先排查的是:文档有没有整理好、切分是否合理、召回是否准确、提示词有没有边界、系统是否允许拒答、上线前有没有做真实问题评估。
很多项目一开始就把各种 PDF、聊天记录、旧版说明、重复文档一股脑导进去。这样做的后果是:系统即使能召回,也可能召回到过期内容、冲突内容或无效内容。
切分太粗,模型拿到的是一大坨信息,很难准确定位答案;切分太碎,又会把上下文关系打断,导致召回回来的是一堆零散句子。真正合适的切分方式,通常要围绕“一个问题需要多大信息块才能答清楚”来设计,而不是机械按字数切。
很多人会说“我已经召回 10 段了,为什么还不准?”因为召回多不等于召回对。真正重要的是前几段里有没有真正相关的内容,而不是单纯把结果列表堆长。
如果召回结果里最相关的内容排不到前面,模型就容易优先消费次优内容,最后答偏。很多“答非所问”其实是排序问题,不是生成问题。
企业知识库问答不是写作文。提示词如果只有“请尽量帮助用户回答问题”,那模型在资料不足时就很容易自由发挥。更稳的方式是明确边界:
很多项目最怕用户看到“我不知道”,结果反而把系统训练成“即使不知道也要硬答”。这在企业场景里非常危险。正确做法不是追求 100% 都有答案,而是追求:该答的时候尽量准,不该答的时候能稳稳拒答。
如果销售、客服、管理员和普通员工看到的是同一个知识库池,系统就可能把不该给的资料也拿出来回答。权限问题不是上线后再补,而应该在索引和召回阶段就做好隔离。
“我试了几个问题感觉还行”不等于能上线。企业知识库要做评估,至少得准备一批真实问题样本,覆盖:
没有题集,你永远不知道系统到底是在“偶尔答对”,还是“整体可用”。
因为用户看到的最终表现是回答错了,最显眼的就是模型输出。但模型只是最后一层。前面如果资料脏、召回偏、排序乱、提示词没边界,再强的模型也容易被带歪。很多时候,换一个更贵的模型,只是把问题稍微掩盖了一点,并没有根治。
当你已经有多个知识库、多个应用、多个团队在共用模型时,最好把模型层独立出来,通过 AI Gateway 统一管理。这样你可以对不同场景分配不同模型,也方便成本和权限治理。
很多项目失败,不是因为技术做不到,而是因为把知识库系统想得过于简单。真正能上线的企业知识库,背后通常都有资料治理、问法样本、拒答策略、权限设计和持续评估。它更像一个长期运营系统,而不是一次性接入工程。