一句话定义:知识冲突(Knowledge Conflict)指模型参数里记住的答案,和检索或上下文里给出的答案对不上——此时模型必须在"我记的"和"你给我看的"之间选一个,而且它通常不会告诉你它在选。
两种知识来源
大模型的知识分两类:
- 参数化知识(Parametric Knowledge):训练时压进权重里的。更新慢、成本高,而且模型自己不知道哪条已经过期。
- 上下文知识(Contextual Knowledge):推理时塞进提示词的。RAG(Retrieval-Augmented Generation,AI 词典:检索增强生成">检索增强生成)检索回来的文档、用户上传的表格、聊天里贴的会议纪要,都算这一类。
冲突的典型场景:你问"我们公司报销上限是多少",检索到的制度文档写着 500,但模型记忆里"一般公司是 300"。或者问某产品的最新接口参数,检索到的是新版,模型脑子里存着旧版。
打个比方,这就是开卷考试。考生(模型)平时背了一肚子东西(参数知识),进考场还发了一本书(检索到的上下文)。大部分题目两边一致,但总有几道对不上。选哪个,取决于好几件事。
凭什么选一个
| 影响因素 | 更可能选检索内容 | 更可能选自己的记忆 |
|---|---|---|
| 指令措辞 | 明确说"只依据以下资料回答" | 只说"参考一下",或什么也没说 |
| 上下文位置 | 放在开头结尾、格式清晰 | 埋在长文档中间,容易被忽略 |
| 内容形态 | 具体、有出处、和问题直接相关 | 泛泛而谈、答非所问 |
| 模型习惯 | 经过微调">指令微调,惯于"听话" | 对某个事实反复见过,非常确信 |
经验上,现在的模型整体偏向"顺从上下文":你给一段资料,它更愿意照着说,哪怕是错的。这既是 RAG 好用的原因,也是"检索到脏数据就被带偏"的原因。
和相邻概念的区别
- 幻觉(Hallucination):两边都没有,凭空编。知识冲突是两边都有,但互相矛盾。
- 知识截止(Knowledge Cutoff):模型压根不知道有新东西。冲突是它知道一个旧版本,你又塞给它一个新版本。
- 上下文学习(In-Context Learning):泛指从提示里学格式和规律,不涉及对错之争。
对实际工作意味着什么
做 RAG 最该记住一句:检索不会自动覆盖记忆,冲突也不会自动报错。模型会安静地选一边,然后给出一个语气同样确定的答案。
能做的几件事:提示词里明确"以给定资料为准,资料里没有就说不知道";要求模型引用原文片段,方便人核对;给文档带来源和时间戳,让"谁更新"有据可依;在高风险场景(合规、医疗、财务)不要把裁决权交给模型,而是在检索层做去重、去旧和冲突检测,必要时转人工。
对普通人来说判断标准很简单:答案对不对,取决于模型这次信了谁。你贴了资料它还答错,多半是它没被说服。具体产品的冲突处理策略,以官方页面为准。
