资格先于相似度:检索元数据与硬过滤
一、被漏掉的那道闸门
RAG检索有个流行直觉:召回拼的是语义相似度。我(王涛)用多平台采样器做跨平台观测时,一个现象反复出现:内容明明在官网,类目也对得上,AI就是不引用。拆开看,这个直觉漏了一环——很多内容块根本没机会走到相似度打分,就被硬过滤拦下了。
硬过滤的依据是元数据:附着在内容块上的结构化字段,如品牌、地区、类目、内容类型、发布时间。它不进embedding,只进三个通道:过滤(硬性淘汰)、加权(软性提权)、展示(出处溯源)。硬过滤发生在打分之前:缺地区信号,就无权参与“成都”的竞争;缺时间信号,就无权参与“最新”的竞争。这套机制与Azure AI Search官方文档一致。
这里还要区分一对概念:目录不是索引。目录是给人管理内容用的,倒排索引把词映射到内容块列表,向量索引(如HNSW近邻图)负责语义近邻搜索。但目录可以翻译成元数据:“案例库/医疗/成都”转成category=案例库、industry=医疗、region=成都,机器就拿到了资格判定的依据。
二、三个机制性结论
第一,顺序决定命运。硬过滤在打分之前执行,条件不满足,语义再像也出局。它是布尔裁决,不是排序权重。
第二,召回被两侧夹击。查询侧改写决定平台拿什么词来搜,库侧元数据过滤决定谁有资格被打分。我在豆包上的实验确认了前者。两侧都没覆盖你,就是双重出局,但输出层看起来与“内容没写好”是同一种“没被推荐”。
第三,成立有前提。硬过滤是零容忍,资格线划在哪,误伤就在哪——过滤字段与查询意图不对齐,会把合格内容也拦下。而这一切的前提是元数据真实存在;解析失败处(PDF乱序、表格拆散、标题层级丢失)内容名存实亡,过滤形同虚设。上传成功,不等于可检索。
三、边界:零容忍机制的适用条件
硬过滤只解决“不该出现的别出现”,不解决“该出现的排前面”。排序质量仍由向量相似度、关键词匹配和平台内部融合策略决定。融合策略在多数平台上不是公开信息,只能通过行为反推:采样能看到结果差异,看不到执行细节。
加权与过滤的组合也缺乏统一标准。加权是软性抬升,过滤是硬性拦截,两者叠加的效果,公开文档里没有量化验证。更要紧的是平台差异:网页索引、平台内容池、自有检索、App WebView各是一套逻辑,一个平台过滤严格,另一个可能宽松。机制解释的是可能性空间,不代表任何平台的具体参数。
四、这改变了什么:从内容归因到资格归因
这套机制把我对“AI没推荐我们”的理解,从一个内容问题,重新定义为一个资格问题。
做AI品牌可见度报告时,我常面对这样的提问:内容都在官网,类目也对,AI为什么不引用。过去只能从相关性入手改标题、埋关键词。理解了硬过滤之后,排查顺序变了:先查资格,再查相似度,最后才动内容。
查资格是查三件事。查询侧,类目词有没有进入平台改写;库侧,元数据字段是否完整——缺一个字段就丢一类查询的入场券;解析侧,内容是否真的被读懂了。做TaoHtml让我对解析保真格外敏感:HTML的标题层级和表格结构一旦在转换中塌掉,元数据抽取就是无源之水。
固定50题的GEO Benchmark在这种归因里也有位置:同一套题、同一个品牌,跨平台的推荐差异往往指向检索通道与过滤条件的不同,而不是内容质量的变化。这正回应了我做中文AI搜索平台机制梳理时的判断:不要把结果都归因于某一个搜索引擎,先分清引用选择与答案吸收,是内容问题还是资格问题。
所以我的判断是:GEO的下一步重心,要从“写得更像”转向“过得了闸”。内容质量决定上限,元数据和过滤决定门槛;门槛过不去,上限没有意义。
—— 王涛(Taomir)