Query路由4类方案全解(含细分实现、切换维度、组合方式)

Query路由的核心本质是对用户问句做分类后,动态切换不同的系统组件/链路,在保障效果的前提下平衡成本、延迟、精度。4大类路由按「前置程度、成本高低」分层部署,其中LLM分类路由是维度最丰富的核心大类,下含模板、模型、检索链路、工具调用4类细分路由。


一、4大类路由详解(含细分实现、切换对象、使用方法)

1. 规则硬路由(前置必选层,零LLM成本)

核心定位

最外层前置兜底路由,纯文本特征判断,毫秒级响应,负责拦截80%高置信度的简单流量,避免所有请求都进入高成本的LLM路由环节。

切换对象

  • 是否进入LLM语义路由;
  • 基础检索链路的复杂度(直接走最简检索 / 进入增强检索分支)。

细分实现方式

无需海量自定义关键词,靠三层轻量化规则覆盖绝大多数场景:

  1. 通用结构规则:通过问句长度、问号数量、是否含并列连词判断复杂度,比如短句单疑问点直接判定为简单问题;
  2. 词根词簇匹配:维护少量领域词根、同义词簇,一条词根覆盖数十种用户提问变体,比如「保修/质保/维保」统一归为售后类;
  3. 正则批量匹配:针对年份、型号、单据号等固定格式,一条正则覆盖全量同类标识,替代上百条关键词。

适用场景

所有企业级RAG的第一层前置分流,高并发、标准化FAQ占比高的场景必选。

代码示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import re
def rule_router(query: str) -> str:
    # 1. 简单短句直接走最简链路,不进入LLM路由
    if len(query) < 30 and query.count("?") <= 1:
        return "simple_base"
    # 2. 含并列连词判定为多维度复杂问题,进入LLM全量路由
    multi_dim_words = {"分别", "对比", "优缺点", "同时", "以及"}
    if any(w in query for w in multi_dim_words):
        return "llm_full_route"
    # 3. 含型号/年份判定为细节问题,进入增强检索分支
    year_reg = re.compile(r"202[0-9]")
    if year_reg.search(query):
        return "step_back_retrieve"
    # 边界模糊问题统一进LLM语义路由
    return "llm_basic_route"

2. LLM分类路由(核心语义分流层,中大型企业必选)

核心定位

基于大模型的语义理解能力,对规则无法覆盖的模糊、复杂问句做精准分类,分类后可动态切换提示词、模型、检索链路、工具四大维度,是企业级RAG实现精细化运营的核心。

明确从属关系:

  • 模板路由、模型路由、检索链路路由、工具路由都属于LLM分类路由的细分实现;
  • LLM分类路由不只有模板路由,模板路由只是其中最轻量的一个子类型,仅切换提示词。

细分1:模板路由(Prompt路由,最轻量子类)

切换对象

仅更换LLM生成答案的提示词模板,模型、检索链路、数据源完全不变,零额外成本,是LLM路由中最轻量的实现。

使用场景

不同类型问题需要不同的回答规范,无需调整检索和模型,仅靠Prompt就能满足差异化要求:

  • 客服类问题:用亲切口语化模板,要求带问候语、结束语;
  • 技术类问题:用严谨专业模板,要求分步骤、附代码示例;
  • 财务合规类问题:用合规模板,要求标注依据、禁用不确定表述。
实现方式

预构建Prompt模板库,LLM分类输出问题类型后,匹配对应模板ID,生成答案时渲染对应模板即可。

代码示例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 模板库:按问题类型存储不同Prompt
PROMPT_TEMPLATES = {
    "customer_service": "你是专业客服,回答亲切有耐心,开头说您好,结尾说有问题随时咨询。参考资料:{context}\n用户问题:{query}",
    "technical": "你是技术专家,回答严谨专业,分点说明,必要时附代码。参考资料:{context}\n用户问题:{query}",
    "finance": "你是财务专员,回答合规准确,标注政策依据,不做超范围承诺。参考资料:{context}\n用户问题:{query}"
}

# LLM分类后匹配模板
def template_router(query_type: str) -> str:
    return PROMPT_TEMPLATES.get(query_type, PROMPT_TEMPLATES["customer_service"])

细分2:模型路由(Model路由,成本优化子类)

切换对象

更换不同能力、不同成本的大模型实例,在效果和成本之间做动态平衡。

使用场景
  • 简单FAQ、闲聊类问题:用低成本小模型/开源模型(如Qwen-7B、Llama-3-8B),大幅降低Token成本;
  • 复杂推理、多文档总结、专业问题:用高能力大模型(如GPT-4o、Claude 3 Opus),保障回答质量;
  • 降级场景:主模型过载/故障时,自动切换到备用模型,保障服务可用。
实现方式

构建模型实例池,LLM分类输出问题复杂度等级后,调度对应模型实例;支持按成本、延迟、能力多维度调度。

细分3:检索链路路由(Retrieval路由,召回优化子类)

切换对象

整套检索改写链路,包括是否做Query改写、改写类型、检索路数、是否拆分问题,就是前文提到的Step-Back、HyDE、Map-Reduce等策略的动态开关。

使用场景
  • 简单单点问题:走单路基础混合检索,无改写,最低延迟;
  • 细节细分问题:开启Step-Back双路检索,补充宏观背景;
  • 口语模糊问题:开启HyDE假设文档检索,对齐语义空间;
  • 多维度复杂问题:开启Map-Reduce问题分解,并行检索后汇总。
实现方式

预定义检索策略池,每个策略对应一套完整的检索流程(改写逻辑、检索路数、重排方式),LLM分类后直接执行对应策略。

细分4:工具调用路由(Tool路由,Agent能力子类)

切换对象

是否调用外部工具、调用哪一类工具,区分纯RAG问答和工具增强问答。

使用场景
  • 事实性知识问题:走纯RAG检索,不调用工具;
  • 数值计算、公式推导问题:调用计算器工具;
  • 实时数据查询(如库存、价格):调用业务API/数据库工具;
  • 代码调试问题:调用代码解释器工具。
实现方式

注册工具元数据和调用入口,LLM分类输出问题类型后,判断是否进入工具调用链路,以及调度对应工具。

补充:LLM分类路由的组合能力

LLM分类路由支持单维度切换,也支持多维度组合切换,比如判定为「复杂技术问题」后,可以同时切换:

  • 技术专属Prompt模板;
  • 高能力专业模型;
  • Step-Back+HyDE增强检索链路;
  • 允许调用代码解释器工具; 实现整套链路的一键切换,这也是企业级RAG路由的核心价值。

3. 知识库分区路由(数据源分流层,多库场景专属)

核心定位

针对企业多套独立隔离的知识库,先锁定问题所属领域分区,仅检索对应向量索引,避免全库扫描带来的IO浪费和无关文档干扰。

切换对象

检索的目标数据源(具体哪套知识库/向量索引),支持单分区检索和跨多分区检索。

细分实现方式

  1. 规则分区:通过领域词根快速匹配分区,适合边界清晰的领域,零成本;
  2. LLM语义分区:复杂跨领域问题用LLM判定所属1个/多个分区,支持跨库检索,精度更高。

适用场景

仅适合多套独立隔离知识库的场景(如人事、财务、法务、多条产品线各有独立知识库);单知识库场景完全无需部署。


4. 检索权重动态路由(混合检索配比层,进阶优化)

核心定位

针对BM25关键词+向量语义的混合检索架构,根据问句类型动态调整两路检索的融合权重,无需增加检索次数,即可优化召回效果。

切换对象

BM25关键词检索、向量语义检索的RRF融合权重配比。

实现方式

通过规则/LLM判断问句类型,动态传入weights参数:

  • 精准关键词类(带型号、编号、专有名词):BM25权重0.7,向量权重0.3,优先精准匹配;
  • 模糊口语类(大白话、宽泛提问):BM25权重0.3,向量权重0.7,侧重语义相似;
  • 通用平衡场景:默认0.5:0.5。

适用场景

已启用Ensemble混合检索架构,用户提问风格差异大,追求极致召回精度的场景。


二、常用组合方式(工程落地标准链路)

组合1:基础轻量版(小型企业/单知识库)

组合:规则硬路由 + LLM模板路由

  • 适用场景:业务单一、问答类型少,仅需要差异化回答风格,不需要复杂检索优化;
  • 链路顺序:用户Query → 规则路由(拦截简单FAQ)→ LLM分类判定问题类型 → 匹配对应Prompt模板 → 基础混合检索 → 生成答案;
  • 优势:开发成本极低,效果提升明显,适合快速落地的小型RAG系统。

组合2:标准企业版(中型企业/单库多领域)

组合:规则硬路由 + LLM(模板路由+检索链路路由) + 检索权重动态路由

  • 适用场景:单套大容量知识库、业务领域多、提问复杂度差异大,是绝大多数企业的标准选型;
  • 链路顺序:用户Query → 规则路由前置分流 → LLM分类同时输出「问题类型+复杂度等级」→ 匹配对应Prompt模板 + 对应检索链路 + 动态检索权重 → 执行检索 → 生成答案;
  • 优势:在成本可控的前提下,覆盖绝大多数召回优化、回答规范需求,投入产出比最高。

组合3:完整集团版(大型企业/多隔离知识库)

组合:规则硬路由 + 知识库分区路由 + LLM(模板+模型+检索链路+工具)全维度路由 + 检索权重动态路由

  • 适用场景:多业务线、多套独立知识库、日请求过万的大型集团企业,需要同时兼顾成本、精度、稳定性;
  • 完整链路顺序:
    1. 规则硬路由:拦截80%简单FAQ,直接走最简链路;
    2. 知识库分区路由:锁定问题所属领域,缩小检索范围;
    3. LLM全维度分类:输出问题类型、复杂度、是否需要工具;
    4. 同步切换:对应Prompt模板 + 对应能力模型 + 对应检索链路 + 对应工具权限 + 动态检索权重;
    5. 执行检索/工具调用 → 生成答案返回;
  • 优势:四层分层节流,精度、成本、延迟平衡最优,是大型企业级RAG的标准落地架构。

三、落地核心原则

  1. 低成本前置原则:成本越低、速度越快的路由越靠前,规则路由放最外层,LLM路由放内层,尽量把流量截在低成本层;
  2. 单维度优先,按需组合:先从模板路由、检索链路路由这类收益高的单维度开始,逐步叠加模型路由、工具路由,避免一开始就过度复杂;
  3. 不追求100%规则覆盖:规则只抓高置信度特征,模糊边界全部交给LLM路由,避免无限堆关键词导致维护爆炸;
  4. 可观测可迭代:每个路由分支都要埋点统计流量占比、命中率、回答质量,持续优化规则和分类效果。