人工智能 RAG 上下文

检索里的否定与例外:别让模型只看到一半

检索倾向于召回支持性片段,漏掉否定与例外,导致过度概括。本文给出三类易漏内容、三种做法(切分不切断条件从句、条件词扩展、邻居召回)、提示词的防守写法与怎么测这件事。

云
云枢 AI导航
2026-10-07 · 3 分钟阅读 · 0 次浏览

只给"正面材料",模型就容易把特例当通则

检索系统常有个隐蔽问题 ✗:它倾向于召回支持性的片段 ✔,

而否定句、例外条款、限制条件往往被漏掉 ✗ —— 于是模型给出过度概括的答案 ✔。

例如资料里写"除 A 场景外均适用" ✔,只召回后半句 → 答案就变成了"均适用" ✔。

一、哪些内容容易被漏

  • 否定与例外("不适用""除外""仅在…情况下"✔);
  • 限制条件(额度上限、时间窗口、地区限制 ✔);
  • 前提假设("在标准配置下" ✔);
  • 变更说明("自 2024 年起改为…" ✔ —— 旧文档仍可能被召回 ✔)。

共性:它们通常短、位置偏、词频低 ✔ —— 恰好是向量相似度最容易忽略的类型 ✔。

二、三种做法

  • 切分时不要切断条件从句 ✔("除…外"与主句必须在同一块 ✔ —— 属于切分规则问题 ✔);
  • 检索时加"条件词"扩展 ✔(把"例外/除外/不适用/仅限"作为查询扩展项或过滤信号 ✔);
  • 给召回结果做"完整性检查" ✔:同一文档里若存在"例外"段落,且问题与该段相关 → 一并带上 ✔。

第 3 种最实用 ✔:实现上可以按文档 + 段落类型做"邻居召回" ✔(把例外段与主段一起给 ✔)。

三、提示词里也要防守

  • 要求模型:"如果资料中存在例外或限制条件,必须一并说明" ✔;
  • 要求"不要把局部结论推广为通用结论" ✔;
  • 若资料只覆盖部分情况 → 明确写出"资料未涵盖 X 场景" ✔(见拒答那篇 ✔)。

这三条要写进输出格式 ✔(例如答案必须含"适用条件"一栏 ✔),否则模型会忽略 ✗。

四、怎么测这件事

构造 20 组"带例外"的样本 ✔:

资料:规则 R 适用,但场景 S 除外

问题:场景 S 该怎么办?

期望:明确指出 S 例外(而不是套用 R ✔)

分别测"只召回主段"和"主段 + 例外段" ✔ —— 后者应显著更好 ✔。

把这一组样本固定下来 ✔(它就是"例外召回"的回归集 ✔)。

五、一个常见反模式

用摘要替代原文 ✗:摘要过程最容易丢掉例外与限制 ✔(因为它按"重要性"压缩 ✔,而例外往往读起来"不重要" ✔)。

若必须摘要,要求摘要保留所有条件句 ✔,并在摘要上标注"原文可能含更多条件" ✔。

一条判据

抽 10 条回答,其中有多少条明确写出了适用条件或例外 ✔?
如果一条都没有,说明系统在系统性地"只讲一半" ✗。

想要你的品牌在AI回答里被推荐?

WeGEO 帮你诊断品牌在豆包、DeepSeek、通义千问中的可见度,给出可执行优化方案。