技术调研 · RouteLLM × LLMRouter

大模型智能路由

先决策、后生成:常规请求由弱模型承接,高难度查询再调用强模型

RouteLLM(LMSYS / UC Berkeley)· LLMRouter(UIUC)

Wang Kang · September 2026

0.1内容大纲

  1. 质量与成本的权衡,以及优化目标
  2. 路由与 Reward Model 的区分、推理链路与统一接口
  3. RouteLLM:偏好样本、胜率 $p$、阈值 $\alpha$
  4. 四种胜率估计:MF / SW / BERT / Causal LLM
  5. 评测:质量–成本曲线与 PGR / CPT / APGR
  6. LLMRouter:五元组、算法族、多轮与 xRouteBench
  7. 回顾、选型、混合落地与总结

主线:先以 RouteLLM 建立二档降本基线,再按需扩展至 LLMRouter。

1.1问题:质量与成本的权衡

同样三条请求,两种分流策略的对比。

策略 A:全部调用强模型

「你好」 STRONG
「证明勾股定理」 STRONG
「总结这段」 STRONG

3 / 3 走强模型 · 成本高

策略 B:先路由再调用

「你好」 WEAK
「证明勾股定理」 STRONG
「总结这段」 WEAK

1 / 3 走强模型 · 质量仍够用

路由的价值:简单查询交给弱模型,困难查询再调用强模型。

1.2优化目标

路由策略在期望意义下权衡回答质量与调用成本。

$$\htmlClass{sym-a}{\pi^*} = \arg\max_{\pi}\;\mathbb{E}\big[\htmlClass{sym-c}{\mathrm{perf}}(y\mid q)-\htmlClass{sym-b}{\lambda}\cdot \htmlClass{sym-d}{c(\tau)}\big]$$
  • $\htmlClass{sym-a}{\pi^*}$:最优路由策略 —— 给定查询如何选择模型(或调度轨迹)
  • $\htmlClass{sym-c}{\mathrm{perf}}(y\mid q)$:最终回答 $y$ 相对查询 $q$ 的质量(准确率、任务得分、偏好胜率等)
  • $\htmlClass{sym-d}{c(\tau)}$:调用轨迹 $\tau$ 的累计成本(费用或 token);单轮为一跳调用,多轮为整条轨迹求和
  • $\htmlClass{sym-b}{\lambda}$:质量–成本权衡系数,乘在 $c(\tau)$ 上,把成本换算进与 $\mathrm{perf}$ 同一目标;越大越惩罚高成本(偏降本),越小越弱化成本项(偏质量)

2.1路由与 Reward Model 的区分

路由与 Reward Model 常被混淆:二者观察的对象与决策时点不同。

路由器 Router

收到 $q$ 选模型 $m$ 生成 $y$

花钱生成之前决定用谁

Reward Model

收到 $q$ 已有回答 $y$ 给 $y$ 打分

回答已经生成之后评价好坏

若在回答生成后再选择模型,生成费用已经发生——这不属于路由。

2.2推理链路

路由发生在生成之前。

输入查询 $q$
决策Router $\pi$
输出模型 $m$
生成回答 $y$
  • $\htmlClass{sym-c}{q}$:用户查询(路由输入)
  • $\htmlClass{sym-d}{m}$:选定模型(路由输出)
  • 输入不含回答 $y$ —— 这与 Reward Model 不同

2.3统一接口


def route(query: str, alpha: float = 0.5) -> str:
    p = score_fn(query)   # 强模型胜率 in [0, 1]
    return STRONG if p >= alpha else WEAK
            
  • score_fn 可替换:MF / SW / BERT / Causal…
  • 分流逻辑与下游 API 调用层保持不变
  • 后续算法差异主要体现在如何估计 $p$

3.1RouteLLM:两档模型路由

LMSYS / UC Berkeley · ICLR 2025。候选池仅含强、弱两个模型。

核心流程

查询 $q$
估计胜率 $p$
比较阈值 $\alpha$
  • 用偏好数据训练胜率估计器
  • 在线仅调节 $\alpha$:增大偏成本,减小偏质量

接入方式


# 原 OpenAI 客户端
client = OpenAI(...)
# 替换为 RouteLLM 兼容客户端
client = routellm.Client(...)
# 业务调用代码基本不变
resp = client.chat.completions.create(...)
                

API 形态与 OpenAI 客户端一致,替换客户端即可接入,无需重写调用逻辑。

适合作为「强/弱两档降本」的基线方案;下文依次说明路由原理、胜率模型与 $p$ 的估计。

3.2原理总览:四步流水线

RouteLLM 先学习「查询是否更宜交给强模型」的胜率,再用阈值将概率转为分流动作。

1
偏好数据

Arena / 金标 / 裁判
$(q,M_s,M_w,l)$

2
训练胜率模型

$P_\theta(\mathrm{win}_{M_s}\mid q)$
score_fn

3
标定阈值 $\alpha$

按目标强模型
调用占比选定

4
在线分流

估 $p$、比 $\alpha$
仅调用一侧

离线(训练一次)

依据「哪一模型回答更优」的标签,学习何种查询更宜交给强模型。

在线(每条请求)

并非先调用两个模型再比较;而是先决策,再仅调用被选中的模型。

3.3$p$ 的含义与估计过程

$\htmlClass{sym-a}{p}=P(M_s\text{ 优于 }M_w\mid q)\in[0,1]$: 给定查询时,强模型相对更优的概率估计。

并非在线做法

$q$ $M_s$ 答 + $M_w$ 答 比较

成本翻倍,且路由必须在生成之前完成。

实际估计路径

$q$ score_fn $p$ 比 $\alpha$

输入仅为查询文本,不含回答正文。

困难查询
$p=0.78$
更可能选强
简单查询
$p=0.18$
更可能选弱

虚线为阈值 $\alpha$(例:$0.5$);$p\ge\alpha$ 时选择强模型。

3.4胜率模型是什么

胜率模型即路由器本体:一个以查询为输入、以标量 $p$ 为输出的估计器, 并非负责生成回答的 LLM。

输入 $q$ $P_\theta(\mathrm{win}_{M_s}\mid q)$ 输出 $p\in[0,1]$

四种实现共享同一接口;替换实现即更换 score_fn

默认

MF(Matrix Factorization)

矩阵分解 + Bradley–Terry;查询嵌入 × 模型向量得匹配分

SW Ranking

按查询相似度对历史偏好加权;无独立神经网络训练阶段

BERT

BERT-base 分类头;正类概率即 $p$

Causal LLM

因果语言模型预测 win/lose;取 win 概率

生产环境通常以 MF 为默认;第 4 章逐一展开四种参数化。

3.5默认 MF(矩阵分解):原理与训练

将查询与模型映射到同一嵌入空间;分差经 sigmoid 得到强模型胜率 $p$。

$$\htmlClass{sym-a}{p}=\sigma\!\big(s(M_s,q)-s(M_w,q)\big),\quad s(M,q)=\mathbf{w}_M^{\!\top}\mathbf{v}_q$$

读法:$s$ 为匹配分,$\sigma$ 把任意实数压到 $(0,1)$。 强分高于弱分 → 分差为正 → $p$ 接近 $1$;反之接近 $0$;分差为 $0$ 则 $p=0.5$。

训练(偏好极大似然)

偏好对 $l$ Bradley–Terry 更新 $\mathbf{w}_{M},\mathbf{v}_q$

Bradley–Terry:成对比较模型, 将分差映射为胜率 $P(i\succ j)=\sigma(s_i-s_j)$;训练损失为对应交叉熵。

推理(仅用查询)

$q\to\mathbf{v}_q$ $s_s,\,s_w$ $\sigma(s_s-s_w)$
强分高
弱分低

$\mathbf{v}_q$ 常由外部嵌入模型得到;模型向量 $\mathbf{w}_M$ 在离线阶段学习。训练约十余 epoch 即可完成。

3.6在线决策:比较胜率与阈值

对每条请求,先估计强模型相对更优的概率 $\htmlClass{sym-a}{p}$, 再与决策阈值 $\htmlClass{sym-b}{\alpha}$ 比较。

$$R_{\alpha}(q)=\begin{cases} M_w & \text{if } \htmlClass{sym-a}{p} < \htmlClass{sym-b}{\alpha} \\ M_s & \text{if } \htmlClass{sym-a}{p} \ge \htmlClass{sym-b}{\alpha} \end{cases}$$

含义:仅当 $\htmlClass{sym-a}{p}$ 不低于阈值时选择强模型;否则选择弱模型以降低成本。

弱模型强模型
例:复杂推理 · $\htmlClass{sym-a}{p}=0.72$
$p \ge \alpha$ → 选择强模型
弱模型强模型
例:简单寒暄类查询 · $\htmlClass{sym-a}{p}=0.15$
$p < \alpha$ → 选择弱模型

3.7阈值 $\alpha$ 调节成本偏好

路由器参数固定后,仅调整 $\alpha$ 即可在质量与成本之间切换工作点。

01

$\alpha$ 很低(→ 0)

阈值极低,几乎总是选择强模型

质量 ↑ · 成本 ↑

01

$\alpha \approx 0.5$

难查询走强、简单查询走弱,常见默认点

质量与成本折中

01

$\alpha$ 很高(→ 1)

阈值极高,几乎总是选择弱模型

质量 ↓ · 成本 ↓

落地做法:固定路由器,扫描若干 $\alpha$,绘制质量–成本曲线,再按预算选定工作点。

3.8偏好样本的构成

训练需要监督信号:同一查询下,哪一模型的回答更优。

$$(q,\; M_i,\; M_j,\; l),\quad l\in\{\mathrm{win}_{M_i},\,\mathrm{tie},\,\mathrm{win}_{M_j}\}$$
$q$
$M_s$ 回答
$M_w$ 回答
比较得 $l$
偏好对
同一查询
双端作答
人类 / 金标 / 裁判
写入训练集

在线推理仅以 $q$(及可选上下文)为输入,不以回答正文为特征;回答仅用于离线构造监督标签。

3.9训练样本:论文要求与示例

RouteLLM 用偏好对训练胜率估计器。样本须满足「生成前可决策」这一约束:监督来自离线比较,写入训练的字段不含回答正文。

1
记录形态

一条训练记录为 $(q,\,M_s,\,M_w,\,l)$:同一查询、强弱两模型身份,以及胜负 / 平局标签。

2
输入约束

线上路由在生成前完成,故训练阶段不以回答正文为特征;回答仅用于离线得到 $l$。

3
标签可核验

$l$ 须来自人类比较、金标自动核验或 LLM 裁判之一,使「是否更宜交给强模型」可观测。

4
主数据与增广

论文以约 8 万场 Arena 对战为主;金标约 1.5k 条补知识类 OOD;裁判约 12 万条补开放域覆盖。

示例 · 写入训练集的一条记录

字段 取值(示意) 说明
$q$ 用 Python 实现线程安全的 LRU 缓存,并说明高并发下为何正确 查询文本;推理时的唯一必需输入
$M_s$ / $M_w$ 强档代表 / 弱档代表(如 GPT-4 档 vs Mixtral 档) 比较的是模型身份;论文中常按 Elo 档位聚合以缓解稀疏
$l$ $\mathrm{win}_{M_s}$ 由人工、金标或裁判得到;本例为强模型更优
回答正文 不写入训练特征 可保留在标注台账,供审计与回流,但不进入 score_fn

企业落地时:公开 Arena 分布未必等于业务流量;上线前须用自有查询重定阈值 $\alpha$,必要时再以业务日志 + 金标 / 裁判做领域增广。

3.10三类标签来源:同一查询的标注对照

以同一条样本查询为例,对照三种标签来源如何得到 $l$。

示例查询 $q$

「用 Python 实现线程安全的 LRU 缓存,并说明高并发下为何正确。」

Arena / 人工

$M_s$:给出加锁方案、边界用例与正确性说明

$M_w$:仅贴出无锁的字典伪代码

人工投票 → $l=\mathrm{win}_{M_s}$

贴近真实偏好;公开 Arena 分布未必等于本企业口径

金标

同一 $q$,以固定单元测试集为验收标准(并发读写、容量淘汰、边界键)

$M_s$ 代码通过全部用例;$M_w$ 在并发用例失败

自动核验 → $l=\mathrm{win}_{M_s}$

客观、可复现;前提是题目可程序化判定(测试 / 规则),纯开放论述则不适用

LLM 裁判

将两条回答提交给 GPT-4:「哪一条正确性与完整性更好?」

裁判输出:strong better

得到 → $l=\mathrm{win}_{M_s}$

便于规模化;关键域需专家抽检以控制偏差

写入训练集:$(q=\text{线程安全 LRU…},\,M_s,\,M_w,\,l=\mathrm{win}_{M_s})$。在线推理仅使用 $q$,不以回答正文为特征。

3.11企业样本构建:五步流程(示例贯通)

将上页「线程安全 LRU」示例嵌入完整样本工程流程。

1
抽取查询
从研发助手日志脱敏抽取 $q$:「用 Python 实现线程安全的 LRU 缓存…」按意图归入「编码 / 高难度」。
2
双端作答
$M_s$(云端) 给出完整实现与正确性论证; $M_w$(本地) 方案不完整。两条 response 入库,但不作为路由输入特征。
3
标注
人工或裁判判定云端更优 → $l=\mathrm{win}_{M_s}$。若配备单元测试,则可用金标自动核验。
4
切分落库
本条归入训练集;另将同意图查询放入标定集(扫描 $\alpha$)、固定难题放入回归集(发布门禁)。三套集合分开管理。
5
上线回流
若本地质量不足或用户负反馈,则升级至云端并记为难例回流增广;优质云端回答可脱敏后写入知识库。

3.12最小可行样本包(含样例表)

先建最小样本表并标明用途,再扩展规模。

$q$(摘要) 意图 标签 $l$ 用途
今日天气如何 闲聊 $\mathrm{win}_{M_w}$ 训练集
线程安全 LRU 缓存实现 编码 $\mathrm{win}_{M_s}$(人工/裁判) 训练集
证明 $\sum_{k=1}^{n}k=\frac{n(n+1)}{2}$,并求 $n{=}100$ 数学 $\mathrm{win}_{M_s}$(金标:终值 $5050$) 训练集
证明勾股定理并给出步骤 推理 $\mathrm{win}_{M_s}$(人工/裁判) 标定集
两线程互相持锁导致死锁,如何修复 编码 $\mathrm{win}_{M_s}$ 回归集

金标行解读:同一题双端作答后,用标准答案自动核验终值($5050$);答对者胜。 证明过程可另辅人工抽检,但分流标签可由程序直接给出。

训练集:拟合 score_fn(约 1k--3k)
标定集:扫描 $\alpha$(约 200--500)
回归集:发布复测,不参与训练(约 200--500)

闭环:双端作答 → 得 $l$ → 训 MF → 标定集选 $\alpha$ → 影子验证后灰度。 Arena 权重可初始化,但 $\alpha$ 须用自有标定集重定。

4.1决策框架不变,胜率估计可替换

RouteLLM 的在线决策由两段组成:先估计强模型相对更优的概率 $\htmlClass{sym-a}{p}$, 再与阈值 $\htmlClass{sym-b}{\alpha}$ 比较后选择强模型或弱模型。本章四种算法均作用于第一段,即胜率估计器 score_fn

查询 $q$
score_fn
可替换
胜率 $p$
比较 $\alpha$
强 / 弱
MF 矩阵分解 SW 相似加权 BERT 分类 Causal LLM

保持不变

  • 分流规则 $R_{\alpha}(q)$(由 $p$ 与 $\alpha$ 决定)
  • 阈值 $\alpha$ 的调节方式
  • 后端调用强/弱模型生成回答

可以替换

  • 仅替换 score_fn:$q\mapsto p$
  • 四种参数化:MF / SW / BERT / Causal
  • 对外接口仍为:输入 $q$,输出 $p\in[0,1]$

工程含义:更换算法无需改写业务调用代码;只需替换胜率估计器的实现。

4.2四种胜率估计方法对照

四种方法的目标相同:由查询 $q$ 估计 $\htmlClass{sym-a}{p}=P(M_s\text{ 优于 }M_w\mid q)$。 差异在于 $P_{\theta}$ 的参数化形式。

生产默认

MF · 矩阵分解

$\mathbf{v}_q$ × $\mathbf{w}_{M_s}\!\to\!s_s$ $\mathbf{w}_{M_w}\!\to\!s_w$ $p=\sigma(s_s-s_w)$

查询与模型嵌入双线性打分;分差经 sigmoid(Bradley–Terry)得到 $p$。

类比推荐系统匹配评分

近邻估计

SW · 相似加权

$q$ 相似① 强胜 相似② 强胜 相似③ 弱胜 $p=\sigma(\xi_s-\xi_w)$

检索相似历史偏好并加权拟合强/弱相对实力,得到 $p$。

无独立神经网络训练阶段

文本分类

BERT

[CLS] + $q$ BERT 编码 分类头 $p$

将查询作二分类:正类表示应调用强模型,正类概率即为 $p$。

微调 BERT-base 分类头

因果续写

Causal LLM

提示 + $q$ win · 0.81 lose · 0.19 $p=P(\texttt{win})$

指令式提示后预测标签 token;取 $\texttt{win}$ 的 next-token 概率作为 $p$。

容量大,推理成本最高

4.3MF:与推荐系统的对应关系

Matrix Factorization(矩阵分解)将查询视为「用户」、模型视为「物品」: 匹配分越高,表示该模型越适合处理该查询。

用户 $U$ 查询 $q$
物品 模型 $M$
推荐评分 匹配分 $s$

推荐系统

用户 $U$
物品 A · 高
物品 B · 低
推荐 A

MF 路由

$q$
$M_s$ · 高
$M_w$ · 低
选 $M_s$
查询 × 模型
理想分数矩阵
$\mathbf{v}_q$ × $\mathbf{w}_M$

低维向量近似整张分数表,故称矩阵分解;再经 Bradley–Terry 将分差转为胜率 $p$。

4.4MF:由匹配分得到胜率 $p$

在同一嵌入空间中:查询与强模型更接近时,强模型匹配分更高,从而 $p$ 更大。

$$\htmlClass{sym-a}{p}=\sigma\!\big(s(M_s,q)-s(M_w,q)\big) \quad\text{(Bradley–Terry)}$$
$s(\cdot)$:匹配分,刻画相对胜任度
$\sigma(\cdot)$:分差映射到 $(0,1)$ 得胜率
与 $\alpha$:$p$ 越高越可能选强模型

4.5MF:在线推理五步

模型向量 $\mathbf{w}_M$ 在离线阶段学习完成;在线对每条请求依次执行下列五步,无需再调用两个模型作答比较。

1

接收查询

$q$

输入仅为查询文本(及可选上下文),不含回答正文。

2

文本嵌入

$q$ $\mathbf{v}_q$

由嵌入模型将 $q$ 映射为向量,供后续打分使用。

3

匹配打分

$s_s{=}0.82$
$s_w{=}0.35$

与已学好的 $\mathbf{w}_{M_s},\mathbf{w}_{M_w}$ 计算匹配分。

4

胜率映射

$p=\sigma(s_s-s_w)$

Bradley–Terry:分差经 sigmoid 得到强模型胜率,例如 $p{=}0.72$。

5

阈值决策

比较 $p$ 与 $\alpha$ $M_s$ / $M_w$

若 $p\ge\alpha$ 选择强模型,否则选择弱模型,并仅调用被选中的一侧。

数值贯通
「证明勾股定理」 $\mathbf{v}_q$ $s_s{=}0.82,\;s_w{=}0.35$ $p{=}0.72$ $\alpha{=}0.5$ 调用 $M_s$

4.6SW Ranking:相似历史加权估计

SW 无需预先训练神经网络。方法要点是:历史偏好记录中与当前查询越相似者,对路由决策的参考价值越高; 以相似度作为权重,在近邻子集上估计强/弱相对实力系数,进而得到胜率 $p$。

① 新请求

$q$:证明勾股定理

对 $q$ 计算文本嵌入,并在偏好库中按余弦相似度检索近邻。

相似检索

② 相似历史(示例)

「用面积法证明勾股定理」
强胜$\omega{=}0.92$
「直角三角形三边关系如何证明」
强胜$\omega{=}0.85$
「什么是勾股数」
弱胜$\omega{=}0.61$

$\omega$ 表示与当前 $q$ 的相似度;相似度越高,该条历史胜负记录的权重越大。

加权估计 $\xi$

③ 输出胜率 $p$

$p=\sigma(\xi_s-\xi_w)$

$\xi_s,\xi_w$ 分别为强、弱模型的实力系数;随后将 $p$ 与阈值 $\alpha$ 比较并分流。

偏好库的构建与存储内容

构建阶段:对同一历史查询 $q$,由强、弱模型分别生成回答,再经人工、金标或裁判比较,得到胜负标签 $l$。

回答正文仅用于离线标注。写入 SW 偏好库的字段主要包括:查询文本 $q$、标签 $l$,以及查询嵌入 $\mathrm{emb}(q)$,以支持后续相似检索。

要点:构建阶段依赖双端回答;在线估计 $\xi$ 时不再读取历史回答正文。

相对实力系数 $\xi$ 的估计

将检索得到的近邻视为一组加权比较样本。设强、弱模型的实力系数为 $\xi_s,\xi_w$,并约定 $P(\text{强胜})=\sigma(\xi_s-\xi_w)$。

以上例计,强胜累计权重为 $0.92{+}0.85{=}1.77$,弱胜权重为 $0.61$。在近邻子集上求解 $\xi_s,\xi_w$,使预测胜率与加权胜负统计相一致(Bradley–Terry 极大似然或 Elo 迭代)。

当强胜权重显著更大时,$\xi_s>\xi_w$,从而 $p=\sigma(\xi_s-\xi_w)$ 较高(例如约 $0.78$)。偏好库更新后无需重新训练完整网络,新增记录可直接参与后续检索。

4.7BERT:文本二分类估计器

以查询文本为输入,输出「强模型相对更优」的正类概率,该概率即为 $p$。 不再显式维护模型向量表;监督来自偏好对,但训练与推理均仅使用 $q$。

[CLS] 证明 勾股 定理
BERT 编码
分类头
$p=\sigma(\cdot)$
输入 tokens
句向量([CLS])
线性投影
强模型胜率

样本集如何构建

对同一查询 $q$,由强、弱模型分别作答,再经人工、金标或 LLM 裁判比较,得到偏好记录 $(q,M_s,M_w,l)$。

再映射为二分类标签:若 $l=\mathrm{win}_{M_s}$ 则 $y{=}1$(正类);若 $l=\mathrm{win}_{M_w}$ 则 $y{=}0$。平局样本可剔除或作软标签。

写入 BERT 训练集的是 $(q,y)$。回答正文仅用于离线标注,不作为模型输入特征。公开来源含 Arena;企业侧宜叠加本领域查询与裁判/金标增广。

优点:直接建模查询语义;参数量相对可控;延迟介于 MF 与大模型之间
代价:数据不足或域外分布时易过拟合;需领域标注与微调算力
定位:具备充足领域标注与 GPU 时可评估;生产默认仍优先 MF

4.8Causal LLM:以 next-token 概率为 $p$

以因果语言模型(如 Llama-3-8B)为骨干,将路由表述为标签续写任务: 预测下一词为 winlose,并以 $P(\texttt{win})$ 作为 $p$。

提示(示意)

Query: 证明勾股定理
Will the strong model win?
Answer:
                
win · 0.81
lose · 0.19
$p = P(\texttt{win})=0.81$
优点:模型容量大,表达能力强
代价:微调与推理成本最高(论文设定约需多卡 GPU)
定位:适用于研究对比与性能上限评估,不宜作为生产默认

4.9方法选型对照

综合延迟、训练成本与数据条件,按下表选择 score_fn 实现。

算法 估计方式 延迟 训练 优先场景
MF 匹配分 + Bradley–Terry 最低 轻量离线训练 生产默认
SW 相似历史加权重估 无独立网络训练 偏好库持续更新
BERT 查询文本二分类 低–中 微调编码器 有领域标注
Causal 续写 win/lose 概率 大模型微调 研究 / 上限对比

无特殊约束时以 MF 为默认;若要求偏好库更新后立即生效,可评估 SW; 在具备充足领域标注与 GPU 资源时,再评估 BERT 或 Causal LLM。

5.1如何评估路由效果

除准确率外,还需衡量强模型调用占比与质量挽回之间的关系。

缩写 全称 含义
PGR Performance Gap Recovered
性能差距挽回
追回了强弱之间多少质量差距
CPT Call-Performance Threshold
调用–性能阈值
达到某质量时,最少多少流量走强模型
APGR Average PGR
平均性能差距挽回
对整条成本曲线积分,综合好坏

5.2PGR · Performance Gap Recovered

路由器质量落在弱模型与强模型之间的相对位置。

$$\mathrm{PGR}=\frac{r(\htmlClass{sym-a}{R})-r(M_w)}{r(M_s)-r(M_w)}$$
60 弱 $M_w$
路由 88 $R$
100 强 $M_s$
分子 · $r(R)-r(M_w)=28$
分母 · $r(M_s)-r(M_w)=40$
  • 分子:路由器比弱模型多挽回的质量($88-60$);分母:强弱模型之间的总差距($100-60$)
  • $\htmlClass{sym-a}{R}$ 从弱端滑向强端:$\mathrm{PGR}=28/40=0.7$
  • $0$ = 与弱相同;$1$ = 与强相同

5.3CPT · Call-Performance Threshold

在质量–成本曲线上读数:要达到目标 PGR,至少需要把多少比例的请求派给强模型?

$$\mathrm{CPT}(x\%)=\min\big\{c(R^{\htmlClass{sym-b}{\alpha}})\;\big|\;\mathrm{PGR}(R^{\alpha})\ge x\%\big\}$$
  • $\alpha$ 扫参:固定路由器,逐个调节阈值 → 绿色曲线上每点对应一个 $R^{\alpha}$
  • $x$ 定目标:公式里的目标 PGR(如 80%)→ 图 ① 粉色水平线
  • $c$ 读结果:$c(R^{\alpha})$ = 该 $\alpha$ 下派给 $M_s$ 的占比 → 横轴;② 即 $\mathrm{CPT}(x\%)$
随机基线 路由器曲线 ① 目标 · PGR=80%
② CPT(80%) = 35%
强模型调用占比 $c$ →
  • 纵轴 $\mathrm{PGR}(R^{\alpha})$、横轴 $c(R^{\alpha})$(质量–成本工作点,与 5.2 同义)
  • 读法:定 $x$ → 曲线首次达标 → 读横轴 $c$;越小越省成本

5.4APGR · Average PGR

单看某一个 $\alpha$ 的 PGR 会偏;APGR 对整条质量–成本曲线积分/平均,概括路由器整体表现。

$$\mathrm{APGR}=\int_{0}^{1}\mathrm{PGR}(c)\,dc \approx \frac{1}{K}\sum_{k=1}^{K}\mathrm{PGR}(R^{\alpha_k})$$
  • $c$ 积分变量:横轴强模型占比,从 0 扫到 1
  • $K$ 离散近似:评测时取 $K$ 个 $\alpha_k$ 工作点再求平均
  • vs CPT:CPT 读单目标点;APGR 读曲线下总面积
随机基线 路由器曲线 ① APGR ≈ 曲线下阴影面积 ② 曲线越靠上、面积越大 → APGR 越高 强模型调用占比 $c$ →
  • 连续式:$\int_0^1 \mathrm{PGR}(c)\,dc$;离散式:扫 $K$ 个 $\alpha_k$ 后取 $\mathrm{PGR}$ 均值(与 5.3 同曲线)
  • 对比:有效路由器阴影面积应大于随机基线三角形 → 同成本段平均质量更高

5.5质量–成本曲线如何构建

固定测试集 $Q$ 上扫描若干阈值 $\alpha_k$:每个 $\alpha$ 对应图上一个点(横轴 = 强模型占比 $c$,纵轴 = PGR);把这些点连起来,就是质量–成本曲线。

强模型调用占比 $c$ →
准备测试集

$Q=\{q_i\}_{i=1}^N$,与训练集分离;固定 $M_w,M_s$ 与已训路由器

估计质量 $r(\cdot)$

$r$ = 基准上的质量分。先测弱/强两端 $r(M_w), r(M_s)$;路由后得 $r(R^{\alpha})$,用于算 PGR

扫描阈值 $\alpha_k$

换一个 $\alpha$,路由器分流结果变一次:横轴记强模型占比 $c$,纵轴记 PGR → 图上多一个点

描点成曲线

连接各点;同集运行 random 作对照基线(橙色虚线)

  • $p(q)$ 只需算一遍;变 $\alpha$ 仅重放阈值判决,不必为每个 $\alpha$ 重新调用 $M_w/M_s$
  • 同一 $Q$ 上扫多个 $\alpha_k$(非每个 $\alpha$ 各用一批新样本);held-out 集建议 500+ 条

5.6小结 · 质量–成本曲线与三项指标

按 5.5 构建曲线后,横轴为强模型调用占比 $c$,纵轴为 PGR。三项指标分别刻画给定阈值下的相对质量达标所需的最小强模型调用,以及整条曲线的综合表现

横轴 $c$:派给强模型的请求占比;纵轴 PGR:质量挽回($0$ 等同弱模型,$1$ 等同强模型)

评估问题 指标 读图方法
给定阈值 $\alpha$ 时,路由器质量在弱–强之间的相对位置 PGR 取曲线上对应点的纵坐标(5.2)
达到目标 PGR 所需的最小强模型调用占比 CPT 作目标水平线,取曲线首次达标处的横坐标 $c$(5.3)
不同成本水平上路由器的综合质量表现 APGR 取路由器曲线下方面积;应高于随机基线所围区域(5.4)

随机基线:按固定比例随机分流,不利用查询信息;图上为对角线。有效路由器曲线应位于其上方。

6.1多模型怎么选:先打分,再取最优

RouteLLM 在强/弱两档间用 $p$ 与阈值 $\alpha$ 二选一; LLMRouter 面向候选池 $\mathcal{M}=\{m_1,\ldots,m_N\}$($N$ 可大于 2): 对每个候选打兼容分,再按决策规则选出一个(单轮)或一串(多轮)。

$q$
查询
代码模型0.91
通用大模型0.72
本地小模型0.41
数学专长0.55
对池内每个 $m$ 算 $g(q,m)$
$d=\arg\max$
决策规则
代码模型
调用并返回答案

与 RouteLLM 的关系

LLMRouter 不是「把 RouteLLM 的 MF 直接扩到多模型」。它是统一基础设施:把路由写成「打分 → 决策」,内置 KNN、MF/Elo、图路由、多轮 RL 等 16+ 种算法;其中 MF 与 RouteLLM 同源,只是可选实现之一。

分数从哪里来

默认离线构造查询$\times$模型稠密矩阵(每格含质量、成本)。各算法用该矩阵训练 $g$,学会「何种 $q$ 更匹配哪个 $m$」。线上只对 $q$ 推断分数向量,不再先把池内模型都调用一遍。

示例:$q$ 为「写线程安全 LRU」。打分后代码模型最高 → 直接派发该候选;本地小模型虽便宜,但分低,本轮不选。

6.2五元组:可替换组件

$\mathcal{R}$ 表示一个路由器。LLMRouter 用五个可替换组件拼装任意路由器: 读查询、读候选、打分、决策、训练。换 $g$ 或 $d$ 即换一种算法,数据与评测可复用。

$$\mathcal{R}=(\htmlClass{sym-c}{E_q},\;\htmlClass{sym-d}{E_m},\;\htmlClass{sym-a}{g},\;\htmlClass{sym-e}{d},\;\htmlClass{sym-b}{\mathcal{L}})$$

线上请求只执行 ①–④;⑤ 仅在离线训练时使用。

① 读查询
$\htmlClass{sym-c}{E_q}$

查询编码器

把用户问题转成路由器可计算的表示(向量或保留原文)。

例:用户问 「写线程安全 LRU」 → 编码为查询向量;多轮时可再拼接对话前文。

+
② 读候选
$\htmlClass{sym-d}{E_m}$

模型编码器

把池内每个模型变成可比表示(元数据、向量或能力描述)。

例:池内有 代码模型通用大模型本地小模型,各自编码成一条特征;换候选池主要改这里。

③ 打分
$\htmlClass{sym-a}{g}$

打分函数

估计「该查询更匹配哪个模型」,输出与候选一一对应的分数。

例:对 「写线程安全 LRU」 打分 → 代码模型 0.91通用 0.72本地 0.41

④ 决策
$\htmlClass{sym-e}{d}$

决策规则

根据分数向量决定动作:选哪个模型,或多轮中是否结束。

例:取最高分 → 调用 代码模型;若已答完,也可输出 STOP 结束本轮。

⑤ 训练
$\htmlClass{sym-b}{\mathcal{L}}$

学习信号 / 损失函数(仅离线)

用历史标注衡量打分是否合理,并更新 $g$ 等参数。上线后只走 $E_q,E_m\rightarrow g\rightarrow d$,不再算 $\mathcal{L}$。

例:同一题在稠密矩阵中标注为 代码模型质量高本地小模型未过测试 → 训练推动 $g$ 对类似编码题抬高 代码模型 分数。

6.3推理与训练路径分离

线上对候选池逐个打分并决策;监督来自稠密矩阵,不在推理时全量调用。


# 线上:只编码查询,对池内每个候选打分后决策
state  = encode_query(q, history)
scores = [g(state, m) for m in candidates]  # 长度 = |M|
action = d(scores)   # 通常 argmax;多轮还可选 STOP
return call(action, q)

# 训练(另开):用查询×模型矩阵中的质量/成本作标签
loss = L(preds, labels)
loss.backward()
            

$\htmlClass{sym-b}{\mathcal{L}}$ 仅用于训练;线上路径为 $E_q \rightarrow E_m \rightarrow g \rightarrow d$。

6.4内置方法一览

LLMRouter 将十余种路由器置于同一五元组接口下,便于替换打分与决策组件,并复用数据与评测管线。 下表按场景归类列出主要实现;下一页再按决策时可读取的状态信息划分为三族。

单轮
  • KNN:近邻历史投票选模
  • SVM / MLP:经典判别分类
  • MF / Elo:与 RouteLLM 同源
  • RouterDC:双对比学习路由
  • AutoMix / HybridLLM:级联或质量–成本混合
  • GraphRouter:查询–任务–模型图网络
  • Causal LM Router:因果语言模型分类
基线
  • Smallest LLM:固定调用最小模型
  • Largest LLM:固定调用最大模型

用于对照路由是否优于「一律最小」或「一律最大」。

多轮 / Agentic
  • Router-R1:强化学习多轮派发与聚合
  • KNN multiround:近邻驱动的多轮选模
  • LLM multiround:大模型驱动的多轮选模
多模态 · 个性化
  • TSRouter:时序任务上选择(模态, 模型)对
  • GMT:图条件个性化路由
  • PersonalizedRouter:用户特征条件路由

上述实现均挂接同一 MetaRouter 接口;更换方法主要更换打分函数 $g$ 与决策规则 $d$。企业二档降本仍可先采用与 RouteLLM 同源的 MF / Elo。

6.5算法族划分:状态决定能力边界

上一页所列方法可按决策时允许读入的信息范围,归入三类算法族。 三类均遵循「对候选打分再决策」;差别在于编码器与打分器可见的状态不同。

状态 $\mathrm{state}$:路由器在第 $t$ 步做选模(或终止)决策时,允许读入的全部上下文,常见组成包括当前查询 $q$、交互历史 $h_t$、用户侧特征 $u$(标识及画像;其中可含长期偏好)。 在五元组中,$E_q$ 负责把状态编码成可计算表示,$g$ 再基于该表示与各候选模型的表示计算匹配分数; 因此状态决定了「打分时能用到哪些信息」。状态越完整,线索越多,对标注与系统复杂度的要求也越高。

单轮路由
$$\mathrm{state}=\{\htmlClass{sym-c}{q}\}$$
$q$ 当前查询

状态仅含当前查询。对候选池打分并选出一个模型后结束。RouteLLM 式二档路由可视为其特例。

代表方法:KNN、MF/Elo、GraphRouter 等

多轮路由
$$\mathrm{state}=\{\htmlClass{sym-c}{q},\,\htmlClass{sym-b}{h_t}\}$$
$q$ 当前查询
$h_t$ 交互历史

状态增补既往调用与中间结果,可据此多步选模,直至决策规则输出终止并聚合答案。

代表方法:Router-R1 等 agentic 路由器

个性化路由
$$\mathrm{state}=\{\htmlClass{sym-c}{q},\,\htmlClass{sym-b}{h_t},\,\htmlClass{sym-d}{u}\}$$
$q$ 当前查询
$h_t$ 交互历史
$u$ 用户特征 / 画像

状态再引入用户标识与画像特征(可含文风、领域、风险等长期偏好),使同一查询对不同用户可得到不同选模结果。

代表方法:GMT / PersonalizedRouter 等

递进关系:以 $\htmlClass{sym-c}{q}$ 为基态; 多轮增补 $\htmlClass{sym-b}{h_t}$; 个性化再增补 $\htmlClass{sym-d}{u}$。

6.6单轮与多轮路由:算法族中的前两类

承接上一页的三族划分:本节对照单轮与多轮。 二者均对候选打分后选模;差别在于是否读写交互历史 $h_t$,以及动作空间是否包含终止符 $\bot$(表示本轮不再调用模型,进入结果聚合)。

单轮路由 · $\mathrm{state}=\{q\}$

$q$ 打分 调用一次 回答 $y$
  • 历史 $h_t$ 为空,决策只看当前查询
  • 一次调用后结束,无法依据草稿再分流
  • 适合目标单一、一次生成即可完成的请求

多轮路由 · $\mathrm{state}=\{q,h_t\}$

$q,h_t$ 选模或 $\bot$(停止) 多步调用 聚合 $y$
  • 每步更新历史,下一步可看到已完成内容
  • 可分解任务:先实现、再测试、再修订
  • 额外调用带来成本,需与收益一并衡量

当任务可拆成阶段,或必须「看见中间结果后再选下一模型」时,选用多轮算法族;否则单轮通常更简、更省。

6.7环内三步:调度 → 更新历史 → 决策

多轮每一步走同一闭环;每转一圈通常对应一次模型调用。 调度与决策依赖两个组件: $g$ 打分函数——输入当前状态与各个候选模型,输出一组匹配分数,回答「这一步谁更适合当前子任务」; $d$ 决策规则——输入分数向量,输出动作(选某个模型调用,或输出终止符 $\bot$),回答「下一步怎么做、是否结束」。

调度

编码
状态 $q,h_t$$E_q$
候选 $\mathcal{M}$$E_m$
打分
$g$
决策
$d$
调用
$m$

派给谁?

例:派 代码模型 写 LRU

更新历史

中间结果 写入 $h_t$

完成了什么?

例:$h_t$ ← 「已有实现草稿」

决策

继续 / $\bot$ 停止

要不要停?

例:缺测试 → 继续;已齐备 → $\bot$

调度在做什么 状态经 $E_q$、候选经 $E_m$ 编码后, 由 $g$ 给池内每个候选打匹配分 (如代码模型 $0.91$、本地小模型 $0.41$); 再由 $d$ 按分数选出本步模型 $m$ 并真正调用。

历史在做什么 把本步生成结果写入 $h_t$。下一步调度读取该历史后,便知道「实现已完成」,从而转向补测试,而不是重复写主体代码。

决策在做什么 仍由 $d$ 在动作空间中选择: 「继续」则带着新的 $h_t$ 回到①; 「$\bot$」表示终止(不再调用),离开环并聚合为 $y$。

继续 带着更新后的 $h_t$ 返回①
$\bot$ 离开环,聚合得到最终回答 $y$

6.8贯穿示例:把任务拆成两步

用同一条 LRU 请求演示多轮闭环。本页固定查询与候选池,并给出完整两步示意轨迹: 实现与测试分两次调度,第二次结束后才终止并聚合。

查询 $q$

「写线程安全 LRU,并附带可运行的单元测试。」

子目标 ① · 实现 子目标 ② · 测试

两个子目标可先后完成,因此适合多轮:先写实现,再补测试。

候选池 $\mathcal{M}$

代码模型 擅长实现与单测 · 本例两步都选它
通用大模型 能力全面,但本例不必付出更高成本
本地小模型 便宜;复杂工程与可运行单测易失败
完整示意轨迹(两圈闭环)
$t{=}1$ 写实现 派代码模型
决策 继续 缺测试,不停
$t{=}2$ 写测试 再派代码模型
决策 $\bot$ 材料齐备,停止
出口 聚合 $y$ 实现 + 测试

6.9第一步:写实现,并决定继续

起步时 $h_0=\emptyset$,路由器只看见查询偏工程实现。 用 $g$ 打分、$d$ 选模后派发; 写完实现仍缺测试,故决策为「继续」而非 $\bot$。

调度

编码
状态 $q,h_0$$E_q$
候选 $\mathcal{M}$$E_m$
打分
$g$
决策
$d$
调用
代码模型
代码模型0.91
通用大模型0.72
本地小模型0.38

$g$ 产出右侧分数;$d$ 取最高 → 生成 LRU 实现草稿

更新历史

$h_0=\emptyset$ $h_1=\{\text{实现草稿}\}$

下一步能「看见」已有草稿,不会从零重写主体

决策

$d$ 继续 (非 $\bot$)

单测尚未出现;若 $d$ 误输出 $\bot$,最终答案会缺测试

为何选代码模型 $q,h_0$ 经 $E_q$ 读出工程信号;各候选经 $E_m$ 对齐后, $g$ 给代码模型最高分;本地小模型虽便宜但分低,本步不选。

历史如何变 把本步生成结果写入 $h_1$。空历史变成「已有实现」,供下一步调度读取。

为何继续 查询还要求可运行单测,当前 $h_1$ 未满足 → $d$ 输出「继续」,带着 $h_1$ 进入第二步。

本步结束 $\mathrm{state}=\{\htmlClass{sym-c}{q},\,\htmlClass{sym-b}{h_1}=\{\htmlClass{sym-a}{\text{LRU 实现草稿}}\}\}$ · 尚未终止

6.10第二步:补测试,终止并聚合

此时 $\mathrm{state}=\{q,h_1\}$,$h_1$ 已含实现草稿。 历史决定本步「补测试」而非重写主体;但选谁写测试仍靠 $g$、$d$。 材料齐备后输出 $\bot$,离开环并聚合为 $y$。

再调度

编码
状态 $q,h_1$$E_q$
候选 $\mathcal{M}$$E_m$
打分
$g$
决策
$d$
调用
代码模型

已知「实现已有」→ 本步目标改为生成单元测试

再更新

实现 + 测试 $h_2$

$h_2$ 同时具备查询要求的两块材料

终止 $\bot$

$d$ $\bot$ 离开环

材料齐备 → $d$ 输出 $\bot$;再调用只会加费用

历史 vs 选模 $E_q$ 读到 $h_1$ 后知「该补测试」;但派谁仍由本步 $g$$d$ 决定。

齐备的含义 实现与可运行单测都已写入历史,相对查询的两个子目标均已覆盖。

$\bot$ 之后 不再调用任何候选;系统合并 $h_2$ 得到最终回答 $y$。

聚合 实现草稿 + 单元测试 最终回答 $y$

历史保证什么

记得「已有实现草稿」→ 本步目标改成补测试,避免重写主体。

管的是:下一步做什么

历史不保证什么

「谁来写测试」仍由 $g$/$d$ 决定;误派 本地小模型 时,方向对了,质量仍可能差。

管的是:派给

规避:让 $g$ 显式读历史缺口(缺测试);$d$ 对编码子任务加能力约束或禁派弱模; 生成后跑测,失败则带着错误回环并升级模型——多轮纠的是步骤,选模质量仍要单独做对。

6.11评测 · xRouteBench

第 5 章以 PGR / CPT / APGR 刻画二档质量–成本曲线; LLMRouter 以 xRouteBench 在同一协议下评测多候选、多场景路由。

基准与代价

规模
≈4.7k+ 评测实例
≈18 候选模型
5 任务场景
场景
通用问答 长记忆 视觉 时序 个性化
对照
第 5 章

二档 · CPT / APGR

xRouteBench

多场景 · perf–cost

评测开销较高
  • 查询×模型全量矩阵(约 4.7k×18 次调用)
  • 候选增多时,API 时延与费用近似线性增长
  • 多轮、长上下文与视觉任务进一步放大开销
  • 适用于算法对比;二档降本无需默认全量复现
低成本区间:青绿高于琥珀的原因

总成本 = 路由开销 + 生成调用开销。 单轮轻量方法的路由几乎不占用 API,有限预算主要用于一次生成; 高复杂度方法的多步决策本身消耗调用与 token,在低成本区间挤占生成预算,净质量更低。

预算放宽后,高复杂度方法方可承担多步匹配或纠错,曲线可追上或超过前者。 图示反映开销结构效应,而非轻量方法全面占优;相对优劣随任务与预算反转。 学习路由相对固定最强模型基线约有 14.6% 相对提升。

perf–cost 曲线解读

横轴为总成本(含路由开销),纵轴为任务质量;比较对象为路由算法,而非候选大模型。

曲线对应的两类算法
青绿 · 单轮轻量方法

KNN / MF / SVM / MLP:一次嵌入与打分后选定模型。

  • 路由阶段几乎不占用生成 API
  • 适用:成本受限、时延敏感
琥珀 · 高复杂度方法

GraphRouter / Router-R1 / LLM-as-router:决策开销更高,或需多步派发。

  • 路由过程占用调用与 token
  • 适用:质量优先、多轮或细专长匹配
  1. 坐标:横轴增大对应成本升高,纵轴增大对应质量升高;左上为更优权衡。玫红点表示固定最强模型基线。
  2. $(\alpha,\beta)$ 权重:目标 $\max\,\alpha\cdot\mathrm{perf}-\beta\cdot\mathrm{cost}$。 $\alpha$ 为质量权重,$\beta$ 为成本惩罚;扫描多组 $(\alpha,\beta)$ 得到曲线上不同工作点(青点)。 此处 $\alpha$ 不同于 RouteLLM 的二档阈值。

「xRouteBench · perf–cost」指在该基准的质量–成本曲线上比较路由算法;二档场景仍采用 CPT / APGR。

7.1回顾 · 全文脉络

路由器在大模型生成回答之前完成模型选择;目标是在可控质量下减少旗舰模型调用。

1–2 问题与边界

质量–成本权衡;路由 $\neq$ Reward Model;先选模,再调用 LLM 生成

3–4 RouteLLM

偏好监督 → 胜率 $\htmlClass{sym-a}{p}$ → 阈值 $\htmlClass{sym-b}{\alpha}$;MF / SW / BERT / Causal LLM

5 评测

质量–成本曲线;PGR / CPT / APGR;与随机基线对照

6 LLMRouter

五元组;$g$+$d$;单轮/多轮;xRouteBench(perf–cost)

RouteLLMLLMRouter 互补:前者提供可直接服务化的二档降本基线;后者提供多算法库与专长/多轮扩展。实践中常先用 RouteLLM 验证本地/云端降本,再在难查询、专长匹配或多轮调度等 RouteLLM 未覆盖的场景上用 LLMRouter 试验更复杂策略。

7.2回顾 · 端到端流程

从查询到回答:先估计胜率(或兼容分),再决策选模,最后调用大模型生成。RouteLLM 与 LLMRouter 共用同一主路径,差别主要在打分与决策形态。

$q$
RouteLLM
score
$p$
比 $\alpha$

二档胜率 + 阈值

LLMRouter
$g$
scores
$d(\cdot)$

多候选打分 + 决策

$m$
$y$
输入

用户查询

打分与决策 可替换

上:RouteLLM · 下:LLMRouter

选模

强 / 弱 / 候选

输出

模型回答

  • 主路径:$\htmlClass{sym-c}{q}$ →(打分与决策,可替换)→ $\htmlClass{sym-d}{m}$ → $y$;费用发生在选模之后
  • 分叉含义:中间段二选一——RouteLLM 走胜率 $\htmlClass{sym-b}{p}$ 与阈值 $\htmlClass{sym-e}{\alpha}$;LLMRouter 走打分 $\htmlClass{sym-a}{g}$ 与决策 $\htmlClass{sym-e}{d}$
  • 评估指标:用质量–成本曲线上的 PGR / CPT / APGR 衡量,而非单一准确率

7.3选型对照

二者定位不同:RouteLLM 面向二档降本的可服务化基线;LLMRouter 面向多模型、多算法的统一基础设施。

RouteLLM

适用:仅强/弱两档、少改代码、控接入与运维成本

优势
  • 一个分数 + 一个阈值,易理解、易灰度
  • 论文 / 代码 / 权重完整,原型落地快
  • 路由开销低;OpenAI 兼容,易嵌入现有应用
局限
  • 默认二档,多专长池需扩展或多层路由
  • 不提供鉴权、配额、合规等网关能力
  • 不覆盖多轮 Agent 与个性化长期偏好

LLMRouter

适用:候选池 > 2、专长匹配、多轮/个性化、算法对比

优势
  • 方法覆盖面全,适合算法选型与复现
  • 数据 / 训练 / 评测 / 部署共用接口,换算法成本低
  • 原生支持多模型、多轮、个性化等场景
局限
  • 学习曲线与运维更重;全量跑分 API 成本高
  • 生产治理仍弱于专用 AI 网关
  • 仅二档降本时引入全库可能过重
维度 RouteLLM LLMRouter
定位 二档降本 + 轻量服务 统一基础设施 + 算法库
形式化 胜率 $p$ + 阈值 $\alpha$ 序贯决策五元组
评测 CPT / APGR(二档曲线) xRouteBench(多场景 perf–cost)
最佳用途 生产原型 / 二档基线 算法对比 / 专长与个性化

并非互斥:RouteLLM 的 MF 在 LLMRouter 中亦有同名实现;可先以 RouteLLM 验证降本,再将胜出策略迁入 LLMRouter 或自有服务。

7.4选型决策路径

按目标场景选择决策层起点;鉴权、配额、合规等由执行层网关承担,与路由算法解耦。

场景:本地 + 云端二档降本 → 起点:RouteLLM(mf)或等价阈值路由器
场景:5+ 模型专长匹配,或对比多种算法 → 起点:LLMRouter
场景:多轮 Agent / 个性化调度 → 起点:LLMRouter(Router-R1、GMT 等)或自研 RL
需求:鉴权、配额、合规、多活 → 另选执行层网关;路由仅下发模型名
业务应用
决策层
RouteLLM / LLMRouter
执行层网关
LiteLLM / AIRoute
多模型 API
/ 本地推理

拼装含义:决策层只输出「选哪个模型」;网关负责真正调用、限流与治理,避免把运维能力塞进路由器。

7.5工程落地 · 本地 + 云端混合降本

路由、本地模型与知识库部署于本地侧;仅当本地无法满足质量或能力要求时外呼云端。 云端高质量回答经脱敏回写本地知识库,用于检索增强与路由重标定,持续降低云端调用占比。

本地侧
请求 $q$
路由决策

生成前判定承接域(本地 / 云端)

RouteLLM

做法:本地与云端二选一;比较「需上云」胜率与阈值

代价:偏好样本 + 阈值标定即可;落地与运维成本较低

LLMRouter

做法:多模型打分后决策,可融合专长匹配与成本约束

代价:矩阵标注、训练与在线打分更重(时间/样本/算力);宜在二档验证后再扩展

可本地承接
本地模型

简单任务、可模板化、敏感数据默认本地

私有化推理

低成本生成;可结合知识库检索

RAG 检索增强
本地知识库

本地部署;汇入云端脱敏优质问答

问答资产沉淀

增强 ④;覆盖率上升后重标定 ②

路由判定 · 上云 复杂推理 · 首次重度 · 能力不足本地
网关失败 · 升级 格式校验 · 低置信/拒答 · 抽检不通过 · 超时/异常
脱敏回写 · 入库 去标识 · 质量门禁 · 供 RAG / 重标定
云端
云端旗舰

复杂推理 / 首次重度;或经网关失败升级接入

旗舰生成

计费发生点;优质结果回写 ⑤,难例回流训练

闭环: 本地路由判定承接域 → 难例外呼云端(含网关判定本地失败后升级)→ 优质结果脱敏入库 → 检索增强与路由重标定 → 本地承接率上升、云端调用占比下降。

7.6工程落地 · 路由样本如何构建

训练路由器、选定「何时上云」的阈值,都需要业务里的真实问题:同一问比较本地与云端谁更好。公开评测集只能用来起步,不能代替本单位的查询。

RouteLLM · 两模型比较

样本构成:同一问的本地回答、云端回答,以及谁更好(或本地是否够用)

对应目标:估计「需上云」胜率,用阈值控制云端占比,在质量–成本曲线上选工作点

LLMRouter · 全模型记分

样本构成:同一问下,每个候选模型的质量分与这次调用的 token 费用

对应目标:按「质量 − 成本」权衡选模,评测常用 $\alpha\cdot\mathrm{perf}-\beta\cdot\mathrm{cost}$

1采样

从业务日志抽取真实问题,覆盖不同意图、部门与敏感程度。

2作答

同一问题由本地模型与云端模型各答一遍,并记下耗时与花费。

3标注

用标准答案、评判模型或人工抽查,标出「本地够用」还是「必须上云」。

4切分

一部分训练路由器,一部分选定上云阈值,一部分只做最终检验。

5回流

本地失败后转去云端的问题、用户不满意的问题,再加入样本集。

起步规模:选定阈值约 500–2000 条,训练约数千条。即使用公开数据训过路由器,上线前也必须用本单位样本重新选定阈值。含个人信息的问答须去掉标识后再用于训练。

7.7工程落地 · 知识库如何构建

把云端答得好的问答存进本地知识库,以后同类问题可先查库、由本地模型回答。知识库不代替路由器,但能减少必须上云的问题。

1采集

保存云端答成功的问答;本地答得好的也可以收。

2脱敏

去掉姓名、证件号等标识并去除重复;敏感原文不得原样入库。

3门禁

格式检查和抽查合格才能写入;过时或口径变了的条目删除。

4索引

做成可按语义搜索的库,并标注问题类型、部门与质量分。

5使用

本地回答前先查库;库覆盖变广后,重新选定上云规则。

帮助本地回答

查到相关内容后,与用户问题一并交给本地模型,本地就能回答更多原先要上云的问题。

减少此类上云

经常能查到时,这类问题应更少送上云。定期用新样本重新训练或重选阈值,让更多请求留在本地。

不合格的回答不入库。证件号、密钥等不得原文保存,并规定保存多久、谁能访问。是否有效,看留在本地的请求是否变多,同时回答质量不能低于约定下限。

7.8工程落地 · 流量画像与价值佐证

记录每次分流,汇总流量结构,并与同一批请求全部使用云端对照,从成本、效率、质量、安全证明混合部署收益。

1 分流明细

逐条记录调用去向与结果

  • 本地或云端
  • 失败后是否转至云端
  • 时延、费用、抽检结论
  • 知识库是否命中、敏感等级
2 流量画像

按意图、难度、部门、时段汇总

  • 本地与云端占比
  • 分组费用与转云端比例
  • 高费用、适合写入知识库的类型
3 价值看板

同一批请求,两种方案对照

对照:全部云端 相对 实际:路由分流
成本
  • 云端调用占比:实际使用云端的请求比例
  • 单位请求费用:相对全部使用云端的降幅
效率
  • 中位时延(P50):一般要等多久;按快慢排序后的正中值
  • 尾部时延(P95):最慢那 5% 有多慢;其余 95% 都不超过
  • 失败升级率:本地失败后转至云端的比例
结果质量
  • 抽检合格率:抽样结果符合业务标准的比例
  • 任务成功率:不低于对照方案的约定下限
数据安全
  • 出域占比:请求发往云端的比例
  • 敏感本地率:高敏感请求留在本地的比例

指标来自分流明细与抽检,均相对「同一批请求全部使用云端」计算。质量达标时,可证明费用下降、时延改善或数据出域减少。

7.9总结

智能路由是可学习、可评测、可落地的中间层:在可控质量下减少旗舰与云端调用。

概念

生成前选模

在大模型作答之前选定后端;输入是查询,目标是质量与成本的权衡。

选型

RouteLLM 先行

本地与云端二档先验证降本;候选模型更多或需专长匹配时,再引入 LLMRouter。

落地

样本 · 知识库 · 看板

业务样本用于训练与选定上云阈值;知识库减少必须上云;相对全量云端做四维度量。

1 构建样本

两模型比较或全模型记分

2 二档验证

RouteLLM,选定上云阈值

3 知识库反哺

检索增强,少送上云

4 价值佐证

成本 · 效率 · 质量 · 安全

5 扩展固化

LLMRouter / 执行层网关

落地建议

1. 业务样本与二档验证

从日志抽取真实问题,标注「本地够用 / 必须上云」;用 RouteLLM 选定上云阈值,在质量不破线的前提下验证云端占比能否下降。

2. 知识库反哺本地

云端优质回答经脱敏与质量门禁后入库;本地作答前检索相关内容,使同类问题少上云,并定期重选阈值。

3. 四维价值看板

相对「同一批请求全部走云端」,持续跟踪成本、效率、质量、安全;数字来自分流明细与抽检,用于证明混合部署收益。

4. 按需扩展与网关

候选模型更多或需专长匹配时,再引入 LLMRouter;鉴权、限流、合规由执行层网关承担,与路由决策分离。

7.10谢谢

Questions?

翻页 · 小节 · F 全屏 · O 总览