引擎 · 实测

实测结果

CodeRouterBench 上的测量结果。每一项数值在构建期从评测产物读入,与 reports/ 中的记录一致。

held-out 行数
1,425

每一条都被十个策略各跑了一遍,2,000 次配对 bootstrap,split seed 0。

区间
95%
correct 阈值
0.5

策略对比

1,425 条 held-out 上,enthalpy 的 reward 为 0.4381,池内最强单模型为 0.4167

  1. oracle0.5212$0.00112
  2. cheapest_correct0.5006$8.31e-4
  3. enthalpy0.4381$0.00468
  4. knn(k=16)0.4257$0.00340
  5. best_single0.4167$0.00727
  6. cluster_balance(k=8,alpha=0.7)0.4162$0.00283
  7. random(seed=0)0.3488$0.00361
  8. round_robin0.3420$0.00357
  9. most_expensive0.3363$0.00935
  10. cheapest0.3317$2.36e-4

enthalpy† 上下界,不是策略其它基线条长 = reward,右侧两列是 reward 与每次调用的平均成本

带 † 的四行为上下界,不是可部署策略:oracle、cheapest_correct、cheapest、most_expensive 使用每一行已记录的结果。oracle 在 $0.00112 的平均成本下达到 0.5212,与 enthalpy 的 reward 差距为 0.0831

完整对照表:correct 数、每次调用成本、每个正确答案成本、reward/$、oracle 差距、用到的模型数
routerrewardcorrect$/query$/correctreward/$oracle gapmodels used
oracle †0.5212747/1425$0.00112$0.00215463.50.00008
cheapest_correct †0.5006747/1425$8.31e-04$0.00159602.10.02068
enthalpy0.4381622/1425$0.00468$0.0107293.60.08318
knn(k=16)0.4257607/1425$0.00340$0.00798125.30.09568
best_single0.4167594/1425$0.00727$0.0174357.30.10451
cluster_balance(k=8,alpha=0.7)0.4162587/1425$0.00283$0.00686147.20.10515
random(seed=0)0.3488489/1425$0.00361$0.0105396.60.17258
round_robin0.3420477/1425$0.00357$0.0106595.90.17938
most_expensive0.3363460/1425$0.00935$0.0289536.00.18496
cheapest †0.3317463/1425$2.36e-04$7.26e-041406.10.18964
全部策略,按 reward 排序

Over 1425 held-out rows, enthalpy beats best_single on reward: 0.4381 vs 0.4167, Δ=+0.0214, 95% CI [+0.0093, +0.0336], sign test p=0.0019, reward per dollar 1.63x.

差值与置信区间

每一条横线为一个 95% 配对 bootstrap 置信区间,竖线为零。区间包含零,表示该差值与零不可区分。

oracle vs best_single+0.1045[+0.0901, +0.1193]
enthalpy vs best_single+0.0214[+0.0093, +0.0336]
knn(k=16) vs best_single+0.0089[-0.0040, +0.0222]
enthalpy vs knn(k=16)+0.0125[+0.0018, +0.0231]

第三条区间包含零:knn(k=16) is not distinguishable from best_single。enthalpy 相对最强单模型的胜/负/平为 78/43/1304

相对 k-NN,每美元获得的 reward 为 0.75×,低于一:质量更高,单位成本效率更低。成本权重 γ 的取舍见下节。

完整配对检验表:bootstrap p、sign p、胜负平、胜率、reward/$ 比
routerΔreward95% CIbootstrap psign pW/L/Twin ratereward/$ ratio
oracle+0.1045[+0.0901, +0.1193]0.00000.0000308/0/11170.6088.08
cheapest_correct+0.0839[+0.0688, +0.0997]0.00000.0000274/129/10220.55110.50
enthalpy+0.0214[+0.0093, +0.0336]0.00100.001978/43/13040.5121.63
knn(k=16)+0.0089[-0.0040, +0.0222]0.19501.000086/85/12540.5002.18
cluster_balance(k=8,alpha=0.7)-0.0005[-0.0147, +0.0136]0.93900.3711115/130/11800.4952.57
random(seed=0)-0.0680[-0.0860, -0.0503]0.00000.0000107/304/10140.4311.68
round_robin-0.0747[-0.0917, -0.0576]0.00000.0000104/307/10140.4291.67
most_expensive-0.0804[-0.0975, -0.0634]0.00000.000070/279/10760.4270.63
cheapest-0.0851[-0.1061, -0.0661]0.00000.0000134/365/9260.41924.52
配对 bootstrap,相对 best_single
routerΔreward95% CIbootstrap psign pW/L/Twin ratereward/$ ratio
oracle+0.0956[+0.0814, +0.1098]0.00000.0000295/0/11300.6043.70
cheapest_correct+0.0750[+0.0606, +0.0901]0.00000.0000256/130/10390.5444.81
enthalpy+0.0125[+0.0018, +0.0231]0.02200.002268/36/13210.5110.75
best_single-0.0089[-0.0222, +0.0040]0.19501.000085/86/12540.5000.46
cluster_balance(k=8,alpha=0.7)-0.0095[-0.0202, +0.0011]0.07400.269873/88/12640.4951.17
random(seed=0)-0.0769[-0.0949, -0.0596]0.00000.0000104/302/10190.4310.77
round_robin-0.0837[-0.1003, -0.0667]0.00000.0000100/300/10250.4300.77
most_expensive-0.0893[-0.1070, -0.0725]0.00000.000087/293/10450.4280.29
cheapest-0.0940[-0.1114, -0.0772]0.00000.0000104/334/9870.41911.22
配对 bootstrap,相对 knn(k=16)

模型选用分布

hero 里那四条查询在 γ=0 下选的是同一个模型 —— 四条 prompt 说明不了分布。整个 held-out 集上的分布才说明得了:

enthalpy

选择熵 2.2589 bit

  1. MiniMax-M2.71.1%
  2. Qwen3-Max9.3%
  3. claude-opus-4-648.1%
  4. claude-sonnet-4-610.7%
  5. glm-59.3%
  6. gpt-5.40.6%
  7. kimi-k2.514.9%
  8. qwen3.5-plus5.9%

best_single

选择熵 0.0000 bit

  1. MiniMax-M2.70.0%
  2. Qwen3-Max0.0%
  3. claude-opus-4-6100.0%
  4. claude-sonnet-4-60.0%
  5. glm-50.0%
  6. gpt-5.40.0%
  7. kimi-k2.50.0%
  8. qwen3.5-plus0.0%

方法学(这一节的常驻页脚,不是悬浮提示):CodeRouterBench,共 4,781 行,按 30% 划出 1,425 行 held-out(训练 3,356 行,split seed 0)。2,000 次配对 bootstrap,seed 095% 区间;correct 阈值 0.5;候选池 8 个模型全部合格。bootstrap p 的分辨率下限就是 1/2,000,表里的 0.0000 该读成「小于这个数」。

成本权重取 0.3 时,该优势的置信区间包含零。因此出厂默认值为 0。

成本项与前沿

打分之后减掉一项 γ · log1p(est_cost / c_ref) —— 单位是对数成本,不是 0 到 1 的比例。γ 调大,路由器往便宜的一侧走,并且是在同一个 argmax 里走,不需要第二套规则。

成本 / reward 前沿每次查询的成本(USD)reward0.36090.4381$0.00000$0.00363$0.00727γ=0γ=0.3γ=1γ=2γ=4γ=8best_singleknn(k=16)
前沿上每一点的数值:γ、reward、每次查询成本、用到的模型数
γreward$/query用到的模型距 oracle
00.4381$0.0046880.0831
0.30.4282$0.0035580.0930
10.4167$0.0023160.1045
20.3950$0.0010850.1262
40.3692$3.39e-440.1520
80.3609$3.04e-420.1603

成本权重取 0.3 时的结果

Over 1425 held-out rows, the strongest policy (enthalpy, reward 0.4282) is NOT distinguishable from best_single (reward 0.4167): Δ=+0.0115, 95% CI [-0.0015, +0.0247] includes zero.

同一批数据、同一套 bootstrap,只把 γ 从零挪到 0.3:reward 只掉了一点,每次查询便宜了不少,但置信区间跨过了零。跨过零的意思是,这个优势在统计上不再能和「没有优势」区分开。这正是出厂默认不加成本惩罚项的原因 —— 省钱的那个版本我们测过,它省得真,赢得不够确定,于是它不是默认值。

routerΔreward95% CIbootstrap psign pW/L/Twin ratereward/$ ratio
oracle+0.1045[+0.0901, +0.1193]0.00000.0000308/0/11170.6088.08
cheapest_correct+0.0839[+0.0688, +0.0997]0.00000.0000274/129/10220.55110.50
enthalpy+0.0115[-0.0015, +0.0247]0.08300.105579/59/12870.5072.10
random(seed=0)-0.0680[-0.0860, -0.0503]0.00000.0000107/304/10140.4311.68
round_robin-0.0747[-0.0917, -0.0576]0.00000.0000104/307/10140.4291.67
most_expensive-0.0804[-0.0975, -0.0634]0.00000.000070/279/10760.4270.63
cheapest-0.0851[-0.1061, -0.0661]0.00000.0000134/365/9260.41924.52
γ = 0.3,相对最强单模型

路由延迟

一次选择是一次真实的 prefill,所以它随 prompt 长度增长。下面是原始测量,条件写在表下面,你自己判断它对不对得起一次上游调用。

prompt tokens字符p50(热)p95(热)min–max首次调用(冷)
156071 ms77 ms67 ms – 80 ms180 ms
2561,293264 ms334 ms247 ms – 369 ms251 ms
1,0245,229944 ms998 ms917 ms – 1029 ms963 ms

短 prompt(15 tokens)上是 71 ms,到 1,024 tokens 的截断上限时是 944 ms。所以 ENTHALPY_ROUTER_MAX_TOKENS 是一个延迟旋钮,不只是显存旋钮;路由信号在任务陈述里,而任务陈述靠近 prompt 开头,截断是从左边截的。

冷热那两列必须一起看。进程里的第一次决策要 180 ms,稳态之后才是 71 ms —— 后端在建它的 kernel。把新副本挂到负载均衡后面之前,先打一个热身请求。另外,加载权重本身还要 2.7 s,那是进程启动的一次性成本。

测量条件:backbone Qwen/Qwen3-0.6B,device cpu,dtype float328 个候选,25 次迭代 + 5 次热身,router_max_tokens 1,024。checkpoint sft-2e9f,pool 3520b40d —— 请注意这不是上面那些准确率数字所用的 checkpoint。两次测量来自两个产物,就不共用一行出处。

评测设置

数据集
CodeRouterBench,共 4,781 行;采用数据源的 probing / id_test 划分,其中 1,425 行用于留出评测。哈希比例和种子不参与这次划分。
正确性阈值
0.5,同一个阈值用于所有 router,包括 oracle。
置信区间
2,000 次配对 bootstrap,种子 095% 区间。配对的意思是同一行上比较,而不是比较两个独立样本的均值。
模型池
8 个模型全部合格;checkpoint sft-f23aa90cd7c68f27e9b702a0,池指纹 3520b40db3b55b1e
延迟
Qwen/Qwen3-0.6B on cpufloat328 个候选,25 次迭代 + 5 次预热。没有 GPU。
成本
按各家公开价目表对实际 token 计数结账,不是估的;oracle 与 cheapest 用同一张价表。

聊聊你的基础设施需求。

接入平台,或讨论模型、性能与部署方案。