相关不等于权威
一句话收获:企业 RAG 的关键不是搜到,而是只让当前、权威、允许的依据进入判断。
这个场景在解决什么问题
这个场景要打破一个直觉:"搜到最像的,就是最该用的"。原文的做法是让多个相关候选竞争进入上下文,观察旧版、高相似资料和越权资料是怎么被排除的。它值得单独学,是因为企业知识库最大的坑,往往不是"搜不到",而是"搜到了错的东西"——旧制度、越权文件、过期条款,一旦进了判断,比搜不到更危险。
先理清这条判断链(文字版)
这个场景是一条"从相关到权威、再到验证"的链:先看高相似旧版为什么会被误选,再看精确编号为什么能命中现行条款,接着看越权资料怎么被前置过滤,最后看结论怎么回到原文反向验收。验收标准是——能不能说清"相关、现行、允许、被引用支持"这四个条件缺一不可。
- 先看高相似旧版:语义分数最高,但版本已失效,要先做版本过滤。
- 再看精确编号命中:精确符号任务靠关键词路径找到现行条款。
- 接着看越权资料被排除:权限边界必须在装载前执行。
- 最后看引用反向验收:关键结论回到现行原文,确认条件、范围、例外都支持。
逐层详解
第 1 步:高相似旧版
原文:旧制度与问题措辞最接近,语义分数最高。
白话:一份旧制度,因为和用户问题的措辞最接近,语义相似度分数最高,最容易被系统选中。
类比:像搜"退货政策",结果排第一的是一篇三年前的旧规定,因为它标题里就写着"退货政策"四个字,和搜索词一字不差,但它早就废止了。
举例:用户问"现在退款要几天?",语义检索里"退款时限"相关度最高的是 2022 版旧政策,因为它的用词和问题几乎一样,但这份已经作废,现行版另有登记。
为什么重要:旧文档仍可能非常相关——旧文档往往在字面上"最像",所以光看相似度,它最容易霸占第一。
怎么验证(证据点):
- 相似度最高
- 版本已失效
- 现行版本另有登记
别踩的坑(边界):最高相似度不等于当前有效——相似度只衡量"像不像",不衡量"对不对、新不新"。
落地检查:先执行版本过滤——落地时在重排之前先按版本过滤掉已失效的,别让旧版抢到进入上下文的名额。
第 2 步:精确编号命中
原文:稀疏检索找到现行条款号和对象名称。
白话:稀疏检索(关键词/字面匹配那一路)精确找到了"现行条款号"和"对象名称",这种精确符号任务靠的是关键词路径,不是语义路径。
类比:像查"GB/T 1234-2024"这种标准号,你要的是字面精确匹配到这个编号,而不是"意思差不多"的其他标准。
举例:用户问"条款 3.2 对订单 1001 怎么规定?",关键词检索精确命中"3.2"和"订单 1001"对应的现行条款,而语义检索可能反而找偏。
为什么重要:精确符号任务需要关键词路径——条款号、编码、对象名这类"字面必须对"的查询,靠语义相似会漏或错,必须走关键词。
怎么验证(证据点):
- 条款号一致
- 版本现行
- 来源权威
别踩的坑(边界):精确匹配不自动包含全部例外条件——精确命中一条条款,不代表它把所有例外、适用条件都带全了,还要回上下文看。
落地检查:还要回查上下文——落地时命中精确条款后,不能只看这一句,要回它所在的上下文确认适用范围和例外。
第 3 步:越权资料被排除
原文:相关材料属于无权限范围,在进入模型前被过滤。
白话:有一份材料虽然很相关,但属于当前用户没有权限访问的范围,系统在它进入模型之前就把它过滤掉了。
类比:像公司内部搜文件,搜到一份"董事会机密纪要"虽然和你的问题很相关,但你没权限,系统在结果出来前就把它屏蔽了,你根本看不到。
举例:客服检索退款问题时,命中了一份"财务内部风控规则",虽然相关,但当前客服身份无权限,系统在装入上下文前就把它排除了。
为什么重要:权限边界必须在装载前执行——一旦越权资料进了模型上下文,再靠"让模型别泄露"就晚了。
怎么验证(证据点):
- 身份已确认
- 范围不匹配
- 片段未入上下文
别踩的坑(边界):要求模型不要泄露不能替代前置过滤——在 Prompt 里写"不要泄露机密"没用,因为资料一旦进了上下文,泄露风险就已经存在。
落地检查:看不见比看见后克制更可靠——落地时把权限过滤放在"装载前":让越权资料根本进不了上下文,而不是进来以后再让模型自我克制。
第 4 步:引用反向验收
原文:关键结论回到现行原文,确认条件、范围和例外都得到支持。
白话:回答里的关键结论,要回到现行的原始文本去核对,确认它的条件、适用范围、例外情况,是不是真的都被原文支持。
类比:像律师引用法条——不是挂个条文编号就完事,要把结论和原文逐句对,确认适用范围、例外条款都对得上。
举例:客服回答"退款时限 7 天"后,回查现行政策原文,确认"7 天"确实适用这个订单类型、没有"大促期间例外"的附加条件被漏掉。
为什么重要:引用要证明具体结论,而不是装饰来源——引用存在的意义是"证明这个结论成立",不是"显得我有出处"。
怎么验证(证据点):
- 原文支持
- 范围一致
- 版本当前
别踩的坑(边界):本次引用通过不证明知识永远有效——这次核对通过,不代表这条知识永远有效,资料一更新就得重验。
落地检查:知识更新后必须重新验证——落地时把"引用验证"设成可重复的动作:知识一更新,相关结论都要重新回原文验证。
落地可行性小结
本场景涉及的技术栈:RAG 的资格过滤(版本过滤、权限过滤)、稀疏 + 稠密多路检索、引用反向验证。真实落地做法:把"相关度"和"资格"分两段——先按版本/权限过滤掉旧版和越权资料,再按相关度排序;对精确符号类查询走关键词路径;对最终结论做回原文的反向验证。要检查的:版本过滤是否在重排前、权限过滤是否在装载前、精确命中是否回查了上下文、结论是否能回到原文被支持。常见坑:把最高相似度当权威、精确命中后不看例外条款、越权资料放进上下文再靠提示防泄露、引用只挂名不核对。
回顾
- 相关不等于权威:搜到不等于该用。
- 最高相似度不代表当前有效,旧版要先做版本过滤。
- 精确符号任务(条款号/编码/对象名)要走关键词路径,且要回查上下文例外。
- 权限边界必须在装载前执行,看不见比看见后克制更可靠。
- 引用要反向验收:结论回到现行原文,确认条件、范围、例外都被支持。