SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

用向量找的和用关键词找的

搭建 RAG 系统时,你会遇到两种不同的检索方式:一种靠「算相似度」来找文档,一种靠「匹配关键词」来找。表面上都是搜索,用起来却完全是两套逻辑。

寓言

两位档案管理员

古镇的档案馆里藏着两位高手。老林管内库三十年,从不用索引卡。他让人把要找的内容说一遍,然后闭着眼睛在书架间走一圈,手一抽就是你要的那几卷。别人问他怎么做到的,他说不上来,只说「翻多了就有感觉」。

小张是去年新来的档案员。他给每份档案都做了关键词卡片,贴在对应的卷宗上。要找「合同」相关的,他就抽出所有卡片上写着「合同」的卷宗,多一个字都不拿。操作手册就贴在桌上:新客上门,先翻卡。

有人来查「土地转让的文件」。老林想了想,抽出一卷关于「地契」的、一卷「产权纠纷」的、还有一卷「买卖契约」的。小张只抽出所有卷脊上明确写着「合同」的两本。两人把结果放在一起,差别一目了然。

起初大家都觉得小张靠谱——他找的东西十有八九是对的。老林找的十份里总有两三份看着相关,细看却不是那么回事。馆长在季度会上表扬了小张,说索引工作做得扎实。

但过了一段时间,来查的人开始抱怨:我想找「买地的事情」,你们怎么没有?档案员指给他们看「产权转让」那卷,对方才恍然大悟——原来换了个说法就不是了。同一个人上次来查的是「购房协议」,这次说「买地」就找不到了。

老林听见争议,淡淡说了句:索引做得再全,也架不住说话的人换词。这话传到馆长耳朵里,馆长陷入了沉思。他把两人叫来,问能不能同时用两种办法。

后来馆长想了个办法:让小张继续守第一道门,用关键词卡粗筛一遍;让老林守第二道门,用他的感觉再筛一遍。两道门都过的,才送到读者手里。这下既避免了漏词,也过滤了跑偏的卷宗。后来他又补了一条规矩:急件先按关键词找门牌,疑难件再按气味找熟人,谁也别包打天下。

档案馆从此有了两套并行的检索逻辑,一道卡死关键词,一道放开相似度。什么时候该用哪道门,或者两道一起用,成了每个新学徒的必修课。

Dense Retrieval(向量检索)

把文档和查询都转成向量,在高维空间里算相似度。能找到用词不同但意思相近的文档。

Sparse Retrieval(关键词检索)

用倒排索引匹配查询词和文档中的词。精确但容易漏掉换了一种说法的相关内容。

故事对应

  • 老林的感觉 → 向量相似度计算
  • 小张的关键词卡 → 倒排索引匹配
  • 两道门并行的办法 → 混合检索策略(Hybrid Search)
  • 按关键词找门牌,像稀疏检索先用明确线索定位
  • 按气味找熟人,像稠密检索寻找语义相近的内容
  • 急件和疑难件分开处理,说明两种检索适合不同问题
  • 老掌柜把两种办法合用,对应混合检索的实际选择

落到 RAG 系统里

如果你的知识库内容表述固定、术语统一(比如产品手册、合同模板),用关键词检索就够了。如果知识库内容来自用户真实提问、表述多样(比如客服记录、论坛帖子),优先用向量检索。更好的做法是两者混合先用关键词过滤候选集,再用向量重排,能兼顾召回和精度。