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

人工智能 · 2026-10-07

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


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

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

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

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

一、哪些内容容易被漏

  • **否定与例外**("不适用""除外""仅在…情况下"✔);
  • **限制条件**(额度上限、时间窗口、地区限制 ✔);
  • **前提假设**("在标准配置下" ✔);
  • **变更说明**("自 2024 年起改为…" ✔ —— 旧文档仍可能被召回 ✔)。
  • **共性**:它们通常**短、位置偏、词频低** ✔ —— 恰好是向量相似度最容易忽略的类型 ✔。

    二、三种做法

    1. **切分时不要切断条件从句** ✔("除…外"与主句必须在同一块 ✔ —— 属于切分规则问题 ✔);

    2. **检索时加"条件词"扩展** ✔(把"例外/除外/不适用/仅限"作为查询扩展项或过滤信号 ✔);

    3. **给召回结果做"完整性检查"** ✔:同一文档里若存在"例外"段落,且问题与该段相关 → **一并带上** ✔。

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

    三、提示词里也要防守

  • 要求模型:"如果资料中存在**例外或限制条件**,必须一并说明" ✔;
  • 要求"**不要**把局部结论推广为通用结论" ✔;
  • 若资料只覆盖部分情况 → 明确写出"资料未涵盖 X 场景" ✔(见拒答那篇 ✔)。
  • **这三条要写进输出格式** ✔(例如答案必须含"适用条件"一栏 ✔),否则模型会忽略 ✗。

    四、怎么测这件事

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

    ```

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

    问题:场景 S 该怎么办?

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

    ```

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

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

    五、一个常见反模式

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

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

    一条判据

    > 抽 10 条回答,其中有多少条**明确写出了适用条件或例外** ✔?

    > 如果一条都没有,说明系统在系统性地"只讲一半" ✗。

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

    免费诊断 →