向量检索之外:什么时候该用关键词、筛选与规则

人工智能 · 2026-10-07

向量检索不擅长精确词、短查询与结构化条件。本文给出四种检索手段的强项与短板、三种组合做法、什么时候不该用检索,以及用分组召回率验证该加哪一路的方法。


向量检索不是唯一手段

向量检索擅长"意思相近但用词不同",但它有几类明显短板:**精确匹配**(型号、编号、代码符号)、

**短查询**(一个词)、**结构化条件**(时间/类别筛选)、**精确计数**。这些场景下关键词或规则往往更好。

四种手段,各自的强项

| 手段 | 强在哪 | 弱在哪 |

|---|---|---|

| 向量检索 | 同义、跨语言、句子级语义 | 精确词、短查询、稀有词 |

| 关键词(BM25) | 精确词、专有名词、缩写 | 同义改写、口语化提问 |

| 结构化筛选 | 时间、类别、权限、数值范围 | 语义相似 |

| 规则/正则 | 编号、格式、枚举值 | 自然语言变化 |

**结论**:真实系统里通常是**组合**,而不是二选一。混合检索(关键词 + 向量)在多数场景的召回都优于单路。

怎么组合(三种常见做法)

1. **并行召回 + 合并**:两路各取 N 条,去重后统一排序(最常用、最稳);

2. **先规则过滤再向量**:用结构化条件把候选集缩小,再走向量(提升精度、降低计算量);

3. **按查询类型路由**:短查询/含编号 → 关键词优先;长句/口语 → 向量优先。

第 3 种收益大但需要**可判定的路由规则**(见多模型路由那篇 ✔ 同理:判据必须代码可判定)。

什么时候"不该用检索"

  • **能算的不要检索**:统计、计数、聚合 → 走 SQL/代码;
  • **能查枚举的不要检索**:状态码、分类字典 → 查表;
  • **能规则判断的不要检索**:格式校验、白名单 → 正则。
  • **把检索留给"语义相似"这一件事** ✔,系统会简单很多。

    怎么验证该加哪一路

    1. 拿 30 个真实问题,标注每题"理想片段";

    2. 分别测:仅向量 / 仅关键词 / 混合 → 比**召回率**;

    3. 按**查询类型**分组看(短查询、含编号、长句)→ 差异通常集中在某一组;

    4. 只对表现差的那一组加手段(别全量上混合,避免无谓的复杂度与成本)。

    一条经验

    > 如果你发现"关键词那路永远没被用到",说明路由规则写错了;

    > 如果"两路结果几乎总是一样",说明你的语料区分度低 —— 这时先把**切分与解析**弄对(见文档解析那篇),

    > 加更多检索手段是治标。

    落地顺序

    1. 先做关键词 + 向量并行召回(改动小、收益明确);

    2. 加结构化过滤(尤其是时间与权限,往往比语义更能提升"有用率");

    3. 最后才做按查询类型的路由。

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

    免费诊断 →