- 入库历史遗漏源码/测试:router_system 9 模块(agent/executors/inference/knowledge/ memory/planner/skills/trace)、tests 11 个测试文件、config/knowledge 领域知识 - 入库根目录方案文档(v2/v3/可行性×2)、references 文献(arxiv 14-18/cnki_open/ 参考文献清单)、research 论文素材(routerarena/paper/中文文献 PDF) - 前端构建产物刷新(新 hash);webapp 误写文档删除 - gitignore 增补:deepseek-harness、research/_refs、.mimosa/.zcode、网关日志/pid、 临时调试脚本、tests/e2e/node_modules、AI代理功能开发/prefix - 基线确认:318 passed
12 KiB
RouterArena 接入结果 + 差距分析报告(v0.1)
实验日期:2026-08-19 路由器:本系统 L0 专家系统内核 + ESExpertRouter 适配器 数据集:本项目内 mock 子集(90 条 × 9 域),RouterArena 真实 sub_10 因环境网络受限未能拉取 评测公式:与
RouteWorks/RouterArena/llm_evaluation/run.pyL65-87 一字不差(已通过单元测试test_compute_arena_score_matches_formula验证 Hybrid Router $0.04/1K, 71.38% acc → raw 0.7208,×100 = leaderboard 公开值 72.08)
1. 实验设置
1.1 路由器
- 名称:
es-expert - 实现:
research/routerarena/adapter.py::ESExpertRouter - 底层:本系统 L0 Router(规则分类器 + 任务规划 + 规则执行器 + Judge + 兜底)
- 候选模型池(5 槽,config
es-expert.json):gpt-4o-mini:code 域claude-3-haiku-20240307:math/legal/medical/financegemini-2.0-flash-001:life/generaldeepseek-chat:educationmistral-medium:升级兜底(conf<0.60 或 quality<0.70)
1.2 决策规则(核心证据:adapter.py::_decide)
def _decide(self, domain, confidence, quality_score):
if domain not in DOMAIN_TO_MODEL_SLOT:
domain = "general"
if confidence < LOW_CONFIDENCE_THRESHOLD or quality_score < JUDGE_FALLBACK_THRESHOLD:
return ESCALATION_MODEL_SLOT # mistral-medium
return DOMAIN_TO_MODEL_SLOT[domain]
阈值与本系统 config/config.yaml 默认一致:LOW_CONFIDENCE_THRESHOLD=0.60,JUDGE_FALLBACK_THRESHOLD=0.70。
1.3 数据集(mock)
9 域 × 10 query = 90 条,覆盖中英文 + 3 个难度级:
| 域 | 中文 query | 英文 query | 期望映射到 |
|---|---|---|---|
| code | 用 Python 写一个快速排序函数 | Implement quicksort in Python | gpt-4o-mini |
| math | 求方程 x^2+3x+2=0 的根 | Solve x^2 - 5x + 6 = 0 | claude-3-haiku-20240307 |
| legal | 劳动合同到期不续签是否要给补偿金 | Is a non-compete clause for 2 years enforceable? | claude-3-haiku-20240307 |
| medical | 高血压患者日常饮食 | What foods should hypertensive patients avoid | claude-3-haiku-20240307 |
| finance | 基金定投收益率怎么计算 | How to calculate ROI on a fund | claude-3-haiku-20240307 |
| life | 日本旅行攻略 | Travel itinerary for Japan in 7 days | gemini-2.0-flash-001 |
| education | 考研英语怎么备考 | How to prepare for graduate English exam | deepseek-chat |
| general | 为什么天空是蓝色的 | Why is the sky blue | gemini-2.0-flash-001 |
| creative | Write a haiku about autumn | 写一首关于秋天的俳句 | gemini-2.0-flash-001 |
说明:creative 域在 RouterArena 中存在但本系统未实现专用规则,按"unknown domain → general"兜底;与 ground truth creative 比较时统一映射为 general。
1.4 推理
本次为方法学验证,不调真实 LLM(无 API key)。local_runner.mock_inference() 用本系统 L0 Router 自己的 response 模拟目标 LLM 的 generated_answer;token 数按字符数估算。
重要标注:mock 推理不替代真实 LLM 推理;本次 Arena Score 仅供方法学对齐参考,不可与 leaderboard 直接比较。
2. 路由层结果(不含真实推理)
2.1 路由决策分布
| 槽位 | 选中次数 | 占比 | 期望(理想情况) |
|---|---|---|---|
| gpt-4o-mini | 8 | 8.9% | 11.1% (code 域) |
| claude-3-haiku-20240307 | 16 | 17.8% | 44.4% (math+legal+medical+finance) |
| gemini-2.0-flash-001 | 2 | 2.2% | 22.2% (life+general) |
| deepseek-chat | 2 | 2.2% | 11.1% (education) |
| mistral-medium (升级) | 62 | 68.9% | 0% |
| 总计 | 90 | 100% | — |
2.2 按 ground truth domain 分类准确率
| GT 域 | L0 分类正确率 | 平均 conf | 主要决策路径 |
|---|---|---|---|
| code | 100% (10/10) | 0.77 | gpt-4o-mini 7 + mistral 升级 3 |
| medical | 80% (8/10) | 0.67 | mistral 5 + claude-haiku 5 |
| finance | 80% (8/10) | 0.69 | mistral 5 + claude-haiku 5 |
| education | 60% (6/10) | 0.62 | mistral 7 + deepseek 2 |
| math | 60% (6/10) | 0.58 | mistral 7 + claude-haiku 3 |
| legal | 60% (6/10) | 0.60 | mistral 7 + claude-haiku 3 |
| life | 40% (4/10) | 0.54 | mistral 8 + gemini 2 |
| creative | 10% (1/10) | 0.50 | mistral 10(creative→general,1 个落到 code) |
| general | 0% (0/10) | 0.33 | mistral 10(conf<0.60 全部升级) |
| 整体 | 74.4% (67/90) | 0.59 | — |
2.3 关键现象(带证据)
- 英文 query 大量触发升级:68.9% 走 mistral-medium,根因是 L0 规则分类器对英文长 query 关键词覆盖差(看
code=10/10vslife=4/10对比,差异来自"implement/sort"等英文代码词被识别,"travel itinerary"未被识别为 life 域)。 - general 域全部升级:conf 平均 0.33 远低于 0.60 阈值,0/10 走非升级路径。
- quality_score 极化:90 条 query 中 quality_score 只有 0 和 1 两个值(mock response 太短,规则 Judge 评分困难)。
- 中文 vs 英文:中文 query 在 life/education/legal 等域识别率显著高于对应英文 query(证据见
output/es-expert_diagnostics.json中每条 query 的 domain 字段)。
3. Arena Score(mock 推理下的方法学验证)
| 指标 | 我们的 mock 值 | 备注 |
|---|---|---|
| n_queries | 90 | mock 子集大小 |
| mock accuracy | 0.7444 | 域分类匹配率(不替代真实回答正确率) |
| total_cost (USD) | 0.0460 | mock 推理 token 估算 × 模型价格 |
| cost_per_1k (USD) | 0.511 | 偏高,因 68% 走 mistral-medium($2.7-8.1/1M tok) |
| arena_score (raw) | 0.7223 | 用 compute_arena_score 算出 |
| arena_score (×100) | 72.23 | 与 leaderboard 标度对齐 |
| routing_latency (ms/query) | 21.24 | 仅 L0 路由,不含目标 LLM 推理 |
该分数的解读边界:
- 我们的
compute_arena_score与官方公式一字不差(已通过单测验证Hybrid Router 0.7208 × 100 = 72.08) - 但 mock 推理 ≠ 真实 LLM 推理
- mock accuracy(域分类)≠ 真实评测的"回答正确率"
- 该 72.23 不可与 leaderboard 直接比较
4. 与排行榜基线对比(仅供框架对齐参考,不可直接比)
| 路由器 | arena_score | accuracy | cost/1K (USD) | 数据 |
|---|---|---|---|---|
| Cross-Router | 75.75 | 78.14 | 0.40 | leaderboard 公开 |
| es-expert (mock, 本项目) | 72.23 | 74.4 (域分类) | 0.51 | mock |
| Sqwish Router | 75.27 | 76.40 | 0.18 | leaderboard 公开 |
| vLLM-SR | 74.86 | 77.18 | 0.42 | leaderboard 公开 |
| AgentForge Router | 74.13 | 74.72 | 0.13 | leaderboard 公开 |
| Nadir-Tumbler | 73.44 | 75.34 | 0.37 | leaderboard 公开 |
| Weave Router | 72.82 | 76.32 | 0.94 | leaderboard 公开 |
| Nadir Router | 72.29 | 75.01 | 0.68 | leaderboard 公开 |
| OrcaRouter-Adaptive | 72.08 | 75.54 | 1.00 | leaderboard 公开 |
| Hybrid Router | 72.08 | 71.38 | 0.04 | leaderboard 公开 |
| R2-Router | 71.60 | 71.23 | 0.06 | leaderboard 公开 |
| LLM Router | 71.26 | 72.05 | 0.20 | leaderboard 公开 |
| chuzom-solo-v32 | 70.61 | 70.59 | 0.10 | leaderboard 公开 |
| Azure-Model-Router | 70.42 | 72.94 | 0.73 | leaderboard 公开 |
| Auto Router | 70.05 | 70.17 | 0.12 | leaderboard 公开 |
| Lynkr | 67.65 | 68.41 | 0.29 | leaderboard 公开 |
| BARouter | 67.09 | 68.80 | 0.63 | leaderboard 公开 |
| MIRT-BERT | 66.89 | 66.88 | 0.15 | leaderboard 公开 |
| NIRT-BERT | 66.12 | 66.34 | 0.21 | leaderboard 公开 |
| GPT-5 | 64.32 | 73.96 | 10.02 | leaderboard 公开 |
| CARROT | 63.87 | 67.21 | 2.06 | leaderboard 公开 |
| Chayan | 63.83 | 64.89 | 0.56 | leaderboard 公开 |
| RouterBench-MLP | 57.56 | 61.62 | 4.83 | leaderboard 公开 |
| NotDiamond | 57.29 | 60.83 | 4.10 | leaderboard 公开 |
| GraphRouter | 57.22 | 57.00 | 0.34 | leaderboard 公开 |
| RouterBench-KNN | 55.48 | 58.69 | 4.27 | leaderboard 公开 |
| RouteLLM | 48.07 | 47.04 | 0.27 | leaderboard 公开 |
| RouterDC | 33.75 | 32.01 | 0.07 | leaderboard 公开 |
注:
- 我们的 mock 数据 90 条是均匀 9 域分布,RouterArena 真实 sub_10 809 条与 full 8400 条的真实分布未知
- 我们的"accuracy"是域分类正确率 74.4%,leaderboard 的"accuracy"是回答正确率(不同度量)
- 即使在 mock 框架下,我们的 cost_per_1k = $0.51 远高于 Hybrid Router $0.04,因为 68% query 触发升级到 mistral-medium
- 真正低成本优势要等 L1 分类器上线(论文调研 §3 第 2 条建议)
5. 关键发现(科研价值)
5.1 L0 规则分类器的真实瓶颈
| 瓶颈 | 证据 | 影响 |
|---|---|---|
| 英文 query 覆盖率低 | code=100% vs life=40% 对比;creative=10% | 升级率 68%,成本失控 |
| general 域 conf 天然低 | 10/10 conf<0.60 | general 域永远走升级 |
| quality_score 极化 | 仅 0/1 两值 | Judge 阈值 0.70 在 mock 推理下失效 |
| 关键词依赖 | 中文 query 在多域识别率高于英文 | 国际化能力差 |
5.2 论文调研的关键预测被验证
research/2026_papers_survey.md 第三节第 2 条建议("分类器升级为训练模型")已被本实验间接验证:规则分类器在 90 条 9 域样本上掉到 74.4%,远低于论文调研中 BERT 级分类器 94-97% 的水平。
5.3 路由决策科学性验证
- 接口契约 100% 合规(8/8 单测通过)
- 公式与官方一字不差(单测
test_compute_arena_score_matches_formula验证) - 升级路径合理(conf<0.60 升级,符合 RouterArena 论文中的"selective escalation"思想,引用 Cluster, Route, Escalate NeurIPS 2025)
6. Gap 与下一步
6.1 真实数据接入(最高优先级)
缺口:本次仅在 mock 子集上跑通;未拉取真实 RouterArena sub_10 / full 数据。
接入路径(待执行):
- 安装
datasets库到 venv python scripts/process_datasets/prep_datasets.py(按 RouterArena README L82-86)- 复制本项目
research/routerarena/local_runner.py为 RouterArena 仓库内的router_inference/router/es_expert.py并继承BaseRouter - 配置
router_inference/config/es-expert.json(已就位) - 跑
python router_inference/generate_prediction_file.py es-expert sub_10 - 配置目标 LLM 的 API key
- 跑
python llm_inference/run.py es-expert→python llm_evaluation/run.py es-expert sub_10
6.2 L1 分类器替换(论文调研 §3 第 2 条建议)
按 scripts/train_classifier.py 训练 BERT 级分类器替换规则分类器,预期 90 条 mock accuracy 提升到 90%+,升级率从 68% 降到 15-20%,成本从 $0.51/1K 降到 $0.10-0.20/1K(与 Hybrid Router $0.04 同量级)。
6.3 Conformal Cascade 校准 Judge 阈值(论文调研 §3 第 4 条建议)
当前 0.70 阈值是经验值;用 Conformal Cascade 思路(arXiv 2607.25018)做分布无关的阈值校准,可对升级率给出理论保证。
6.4 路由器 PR 提交(远期)
完成上述两步后,按 RouterArena README L130-160 的提交流程,提交到官方仓库,触发 /evaluate 命令上 leaderboard。
7. 验收
research/routerarena/adapter.py实现完整research/routerarena/base_router.pyvendored with SPDXresearch/routerarena/local_runner.py跑通 mock 子集research/routerarena/config/es-expert.json5 候选模型- 8/8 单元测试通过(test_routerarena_adapter.py)
- 完整测试套 126/126 通过(118 旧 + 8 新)
- 预测文件
output/es-expert.json90 条符合 RouterArena 协议 - 路由层方法学验证(mock accuracy 74.4%)
- Arena Score 公式与官方一字不差
- 不引入新依赖到 requirements.txt
- 真实 sub_10 跑通(gap,环境网络受限)
- 提交 RouterArena PR(远期)
8. 数据文件
| 文件 | 内容 |
|---|---|
research/routerarena/output/es-expert.json |
RouterArena 协议预测文件,90 条 |
research/routerarena/output/es-expert_diagnostics.json |
完整路由诊断(domain/conf/quality/route/selected_slot) |
research/routerarena/output/es-expert_summary.json |
聚合指标 + 路由分布 |
tests/test_routerarena_adapter.py |
8 项单元测试(接口/映射/升级/公式/协议/Schema) |
research/routerarena/00_integration_plan.md |
接入方案设计文档 |
research/routerarena/01_results_and_gap_analysis.md |
本报告 |