引言
大模型有一个众所周知的短板:它只知道训练截止之前的东西,回答问题时凭的是参数里压缩的知识,遇到企业内部文档、最新制度、个人资料这类训练语料里没有的内容,就只能靠猜。检索增强生成的做法,是在回答之前先去外部知识库里找相关资料,把找到的片段连同问题一起交给模型,让它基于材料回答。这个思路听起来简单,却改变了模型的使用方式:知识不再全部装进参数,而是可以随时外挂、随时更新。
一、它解决了什么问题
首先是时效。内部文档更新了,只要更新知识库,下一次回答就能用上新版本,不必重新训练模型。其次是准确性。模型不再凭空回忆,而是对着材料组织答案,关键事实有出处可查,出错时也更容易定位是材料错了、检索错了,还是理解错了。最后是可控性。企业可以把回答限定在自己的资料范围内,哪些文档允许被引用、哪些不能出现,都可以在检索层做规则,而不是指望模型自己把握分寸。
二、检索本身就是新的瓶颈
但外挂记忆并不是万能药,检索质量直接决定了回答质量。问法稍有不同,检索回来的可能就是另一批资料;资料切得太碎,关键信息被拆散在几个片段里,模型拼不出一句完整的回答;切得太大,又会塞进大量无关内容,淹没真正有用的部分。更麻烦的是,检索按相似度排序,意思相近不等于答案正确,一段表述相似但结论相反的资料排在前面,模型很可能跟着它走。
三、模型仍然会“加工”材料
即使给了正确的材料,模型也未必老实复述。它可能把两段资料的结论拼在一起,拼出一个材料里并不存在的说法;可能忽略材料里的限定条件,把“在某种情况下成立”说成“普遍成立”;也可能在材料不足时,用自己的通用知识把缺口补上,而不告诉用户哪部分是材料说的、哪部分是它补的。检索增强降低了凭空编造的概率,但没有取消模型的生成本性,核对仍然必要。
四、知识库的维护才是长期成本
很多人以为搭好检索系统就一劳永逸,其实维护知识库才是持续的工作。过期文档要及时下线,重复、矛盾的版本要清理,权限变更要同步到检索层,否则模型可能引用已经作废的制度,或者把内部资料泄露给无权查看的人。知识库越做越大之后,还要面对质量参差的问题:写得清楚的文档容易被检索到,写得含糊但重要的文档反而沉底。检索系统用久了,同样会形成自己的偏见。
五、适合用它,不等于只用它
检索增强最适合的场景,是答案有明确出处、内容相对稳定、错误代价较高的场景,例如客服知识库、内部制度问答、合同条款解读。在这些场景里,它比纯凭参数回答可靠得多。但在需要创造、推理、综合判断的场景里,检索只能提供素材,不能代替思考。把检索当作模型的记忆外挂是合理的,把它当作真理来源则会失望。
结语
检索增强生成的价值,不在于让模型变得无所不知,而在于让模型的回答变得可核查、可更新、可控制。它的短板也不在模型本身,而在检索、材料与维护这三个环节。理解这一点,就不会对它抱有不切实际的期待,也不会因为它偶尔答错就全盘否定。外挂的记忆再好用,终究还是要有人为知识库的质量负责。