← 返回题目列表

RAG Query Router 适合解决什么问题?

中等 第 27 / 29 题 更新于 2026/09/18
RAGQuery Router检索路由多数据源

简化版

Query Router 在多知识库、多检索器或“无需检索/需工具”并存时,选择查询路径,避免所有请求广播到所有后端。它可按意图、实体、语言、时效和风险路由到 BM25、向量、SQL、Web 或人工;必须支持多路、回退和低置信处理,不能让一次错误分类把真证据永久挡掉。

详细版

先定义互斥/可组合的 route schema 和每条路线能力,规则处理显式实体与权限,轻量分类器/LLM 处理语义意图。路由输出 {routes, confidence, filters, reason},高置信走单路,歧义并行 2~3 路后融合,低置信走通用检索或澄清。权限过滤在路由前后都不能放宽。

评测除 route accuracy 外,还要看 oracle route coverage、端到端 evidence Recall、零结果恢复、P95 和成本。建立混合意图、短查询、错别字、跨域和时效问题切片;记录候选路线与最终命中,定期从“路由错但其他路有答案”的反事实日志补训练集。

query -> 权限/实体规则 -> 意图路由
                         ├─ lexical/vector KB
                         ├─ SQL/业务工具
                         ├─ Web/实时源
                         └─ no-retrieval / clarify

完整版教学

一、什么时候需要 Router

单一小知识库直接混合检索即可,引入路由只增加故障点。当系统有多个领域库、结构化数据库、实时 Web、代码索引和无需检索的闲聊时,全广播成本高、噪声大,Router 才有价值。

路由目标不是漂亮地给问题分类,而是选择最可能找到可用证据的执行计划。最终衡量应是答案和成本,而非单独追求意图标签准确率。

二、路线怎样定义才可执行

每条 route 需要数据范围、支持查询、时效、权限、延迟和回退。类别太粗无优化价值,太细则标注困难且容易误路由。路线可以多选,因为“对比内部价格与市场价格”同时需要内部数据库和 Web。

Route适用不适用
lexical编号、专名、错误码大幅改写语义
vector自然语言、概念匹配严格范围条件
SQL/tool精确实时业务数据开放解释文本
Web最新外部信息私有内部政策
no_retrieval改写、闲聊需要事实依据

记忆钩子:Router 不是决定“答案是什么”,而是决定“到哪里、用什么方式找证据”。

三、规则、分类器与 LLM 如何分工

明确产品号、URL、文件类型和命令可用规则,快速可解释;统计分类器适合稳定意图;LLM 处理开放语言和多意图,但成本高且可能生成不存在 route。组合通常是硬规则优先,再用模型,输出受 enum/schema 限制。

{"routes":["internal_policy","sql_orders"],
 "confidence":0.78,
 "filters":{"product":"mobile"},
 "needs_clarification":false}

路由器不得生成租户权限,filters 需服务端校验。不存在的路线直接拒绝,不做字符串动态调用。

四、错误路由为何代价很大

单路 hard routing 能省成本,但选错后召回上限为零。Soft routing 取 Top-2/3 路并行,提高覆盖却增加延迟。可以按置信度和风险动态决定:高置信单路,边界多路,低置信通用混合或提问。

假设单路平均 100ms、错误率 8%,双路 160ms、错误率 2%。只对 20% 低置信请求双路,平均约 112ms,却能修复大部分错误,是常见折中。实际需要用反事实 route 评测。

五、路由与检索失败如何闭环

选中路线零结果,不一定无答案。可检查 query 是否过严,再触发备用 lexical/vector、相邻领域或澄清。回退顺序必须配置化,并设置最大跳数,防循环和成本失控。高风险实时数据不能退到过期静态库假装回答。

Trace 保存初始 routes、每路候选、回退原因和最终证据。离线可重放到所有允许路线,判断“如果选另一条是否找到真值”,这形成 Router 的 hard negatives。

六、多路结果怎样融合

多路原始分数不可直接比较,使用 RRF 或统一 reranker。文档附 route/source,去重同一内容。结构化工具结果可能权威高但格式不同,可先转成带 schema 的 evidence,而不是与文本向量分数硬相加。

冲突时按权威、时间和适用范围处理,不能因为某路返回快就获胜。Router 可以提供先验权重,但最终回答仍需引用具体证据。

七、如何评测 Router

标注每个 query 的可接受 route 集,而非唯一标签;有时多个路径都能找到答案。测 top-1 route accuracy、top-k coverage、端到端 evidence hit、答案、延迟与调用成本。还要报告 low-confidence coverage 和回退成功率。

例如 top-1 route 准确 88%,top-2 覆盖 97%,但端到端证据命中只有 80%,说明各 route 内检索还有问题。若 oracle route 下也低,就不应继续调分类器。分层指标避免把所有失败归给 Router。

八、常见误区与追问

  • 误区:领域分类准确率高,RAG 就会好。 route 内检索、融合和生成仍可能失败。
  • 误区:每个查询只能选一条路线。 多意图和歧义查询需要 soft routing。
  • 误区:低置信时随便选最大类。 应走通用回退或澄清,并限制成本。
  • 追问:何时不需要 Router? 数据源少、混合检索成本可接受且路由错误代价更高时。
  • 追问:路由零结果怎么办? 触发受控备用路线、放宽软过滤或询问用户,硬权限不放宽。
  • 追问:如何防 LLM 发明 route? 枚举 schema、服务端 allowlist 和未知值拒绝。

九、加强记忆

Query Router 可记成“分路线、看置信、多路兜底、失败回退、端到端评”。只有多数据源差异足够大时才引入;规则处理硬实体,模型处理开放意图;低置信不硬赌,允许并行和澄清。最终以证据命中、答案、延迟和成本判断,而不是让路由分类分数喧宾夺主。