检索到证据后模型为何仍会胡说?

前阵子折腾 RAG 的时候,我碰到一件特别憋屈的事:检索明明已经把相关段落找出来了,证据就摆在模型眼前,它张嘴还是一本正经地胡说。那一刻我真有点崩溃——就像考试时把答案递到同桌手边,他居然还能抄错。

检索到证据后模型为何仍会胡说?

后来踩坑踩多了,我慢慢想明白一件事:检索和生成根本是两个人在干活。检索这位"图书管理员"只负责把书找出来,最后怎么开口,还是得看生成模型。而生成模型的本能是"把话说顺",不是核对事实。证据对它来说只是参考,不是必须遵守的戒律,中间哪个环节松一点,它就顺着自己的印象自由发挥了。

我自己复盘下来,最容易翻车的是这三个地方:

  • 证据喂得太多太杂。一大把段落全塞进去,模型反而抓不住重点。我的经验是,给 3 条高质量段落,比给一堆杂七杂八的强得多。

  • 来源混在一起。好几段证据同时摆着,模型容易张冠李戴。让它引用来源名或编号,出了错也方便回头核验。

  • 问题和证据说法对不上。两边用词差别太大,检索本身就偏了。可以在检索前做点简单的文本清洗和同义替换,把匹配度拉上来。

还有一个经常被忽略的点是提示词。如果你不明说"请基于以下证据回答并引用来源",模型默认就是自由聊天模式,编得可开心了。把这句约束写进提示词里,错误率真的能掉不少。

所以我的体会是:别指望接上检索就一劳永逸,证据只是入场券,能不能答对,还得看你怎么喂、怎么管。最实在的办法,就是拿真实问题跑一跑,对比"有证据"和"没证据"两种输出,差异一眼就能看出来。

参与讨论

0 条评论

延伸阅读