先查资料再回答:RAG的直觉与边界
- 用资料查阅类比解释检索增强生成
- 区分模型知识、当前证据和重新训练
为什么不能只问模型
星桥手作社是一个虚构的手工活动团队。它的公开手册写着:纸艺体验每桌最多六人,剪刀在活动结束后放回蓝色工具盒。现在有人问:八个人能坐同一桌吗?如果模型没有看到手册,它可能根据常见活动经验回答可以,也可能说需要分桌。语句自然不意味着它掌握本社规则。我们真正需要的是让回答建立在指定资料上,而不是让模型猜测一个听起来合理的制度。
把流程想成开卷答题
检索增强生成,英文简称RAG,可以类比开卷答题。系统先把问题变成检索请求,从允许访问的资料中寻找相关片段,再把问题、片段和回答要求一起交给模型组织语言。资料整理、检索和生成是三个不同环节。模型不是直接翻遍整个文件夹,常见系统只向它提供少量检索结果。检索没有找到人数上限时,即使原文确实存在,生成阶段也可能缺少关键条件。
一个完整的纸上示例
把问题写在纸上:八个人能坐同一桌吗?模拟检索返回两个片段,第一段是每桌最多六人,第二段是活动结束归还工具。前者支持座位判断,后者与问题无关。合格回答应说:根据手册的六人上限,八人应至少分成两桌;具体分配仍以活动安排为准。这里六人是来源事实,两桌是基于事实的简单推断,活动安排则是尚未获得的信息。三个部分要区分,不能把推断伪装成手册原句。
它改变什么,不改变什么
RAG通常不修改模型权重。更新手册后,系统重新解析和建立索引,下一次检索就有机会找到新内容,这与重新训练模型不同。它也不保证准确:原文可能过期,切分可能丢掉例外条款,检索可能取错版本,模型可能忽略证据。把手册全部塞进上下文并非必然更好,资料越多越容易混杂,而且受上下文长度限制。微调可以改变某些行为习惯,却不能替代动态资料的更新与检索。
零基础操作与失败判断
准备三张资料卡,分别写人数规则、工具归还规则和活动时间,给每张卡标注来源编号与版本。先为一个问题挑选资料卡,再只用选中的卡写回答,最后检查每一句是否有出处。如果问到手册没有写的材料品牌,应明确说明现有资料不足,而不是补一个常见品牌。判断失败时分别问:资料里有没有答案,检索是否取到了答案,回答是否忠实使用了答案。这样能定位问题,而不会一遇到错误就笼统归因于模型不好。
本节要点
- RAG是查找证据后生成,不是重新训练模型
- 检索结果只是候选证据,需要判断适用性
- 应区分来源事实、推断与未知信息
动手练习:用资料卡模拟一次RAG
- 写三张资料卡:每桌最多六人、工具放蓝盒、活动十点开始,并编号
- 针对八人同桌的问题只选出真正相关的卡片
- 写带来源编号的回答,再为资料没有覆盖的问题写拒答
自查清单
- 只选择支持人数判断的资料卡
- 明确标注出处,并对未知场地信息不猜测
先自己做,再查看参考答案
参考回答:根据资料卡一,纸艺体验每桌最多六人,因此八人不能全部安排在同一桌,可以至少分为两桌。这一分桌数量是依据人数上限计算的结论,不是资料卡中的逐字规定。工具归还与活动开始时间没有帮助判断同桌人数,不必加入答案。如果用户继续问哪一桌靠窗,三张卡都没有提供场地布局,应回答现有资料不能确定,并建议核对场地安排。完整记录应保留问题、选中的资料卡、回答和未解决事项,便于检查究竟是缺资料还是误用资料。