Skip to content

RAG Query Router:RAG 查询路由怎么设计 ​

这篇文章解决什么问题 ​

不是所有用户问题都应该走同一条 RAG 链路。有的问题是 FAQ,有的是政策检索,有的是多跳关系,有的是需要 SQL,有的是需要拒答,有的是需要工具调用。如果所有问题都直接丢给一个向量检索,就会导致成本高、召回差、权限复杂、答案不稳定。

RAG Query Router 的目标是先判断问题类型,再选择合适的检索、过滤、重排和回答策略。

路由类型 ​

路由适合问题策略
no_rag闲聊、通用解释不检索或只用系统知识
faq_rag高频简单问题低 top-k、快模型、缓存
policy_rag制度、流程、合同强 citation、freshness、权限过滤
multi_hop_rag多实体、多关系GraphRAG 或分步检索
data_query指标、统计、明细SQL / BI 工具,不走普通文档 RAG
tool_required需要动作或外部系统Tool / MCP 调用
no_answer越权、无证据、高风险拒答或转人工

Router 输入特征 ​

  • 用户意图;
  • 领域和知识库;
  • 是否要求最新数据;
  • 是否涉及权限或敏感信息;
  • 是否需要结构化数据;
  • 是否需要工具副作用;
  • 问题复杂度;
  • 用户角色和租户;
  • 历史失败样本。

路由输出 ​

字段说明
route_typefaq_rag、policy_rag、multi_hop_rag 等
knowledge_scope选择哪些知识库
filterstenant、ACL、status、effective time
retrieval_strategydense、hybrid、graph、sql、tool
top_k / rerank_k检索和重排规模
grounding_policy是否强制 claim-level citation
fallback_policy无证据或低置信度时如何处理
cost_budget本次路由允许的成本

评测指标 ​

指标含义
route_accuracy路由是否选对
retrieval_success对应链路是否召回正确证据
no_answer_precision拒答是否正确
cost_by_route不同路由成本
latency_by_route不同路由延迟
fallback_rate路由失败后降级比例

面试表达模板 ​

> 我不会把所有问题都走同一套向量检索,而是先做 Query Router。Router 根据意图、知识范围、权限、是否需要最新数据、是否需要工具或 SQL,选择 FAQ RAG、Policy RAG、GraphRAG、Data Query、Tool 或 No-answer 路由。这样能同时提升召回质量、降低成本,并让权限和引用策略更精确。

常见误区 ​

误区一:Router 只是分类器 ​

Router 不只输出类别,还要输出 filters、retrieval strategy、grounding policy、fallback 和成本预算。

误区二:所有问题都强制 RAG ​

有些问题不需要检索,有些问题应该走 SQL 或工具,有些问题应该拒答。

误区三:不评测路由本身 ​

答案错可能不是检索差,而是路由一开始就选错链路。

相关链接 ​