openJiuwen首发X-Router自演进模型路由:PinchBench成本降 44.6%,Terminal-Bench省 51.4%
openJiuwen在Agent与模型之间加了一层面向请求的智能路由,用x-router算法加Bandit自演进,PinchBench上以 70.70% 得分逼近全云基线 71.36%,调用成本从 11.11 美元降到 6.16 美元。
2026 年 10 月 2 日,openJiuwen团队发布并开源智能路由技术,其中x-router是基于五档复杂度分档的路由算法,支持端云分级、本地能力边界判断、进程内小模型分类器和失败降级永不升级,并用上下文Bandit做经验修正。
openJiuwen是由华为 2012 实验室、华为云、终端、计算、算力先遣队等团队联合高校与企业开发者构建的开源AI Agent平台。官方称,智能路由在Agent与模型之间增加一层面向请求的决策能力,基于任务复杂度动态决策与编排群智协同及最优模型选择,目标是在成本与效果之间取得综合最优。
三层架构:画像、决策、演进
据官方介绍,这套路由体系拆成三层。第一层做模型能力画像,基于历史数据离线刻画每个模型在不同任务类型、不同难度上的表现,以及时延、功耗、成本量级,并在模型版本或表现变化时在线刷新,官方称画像更新时延优于 1 分钟。决策与执行分离,路由层只负责判断,具体调用交给宿主。
第二层是请求决策。判断不只依赖当前这句话,而是把最近对话窗口连同工具调用进展一起送入;针对Agent循环尾部常被工具输出占满、任务本身被挤出窗口的情况,团队保留最近一次用户诉求。输入还包括系统状态:KV缓存亲和、实时负载、目标可用性(某模型刚超时或被限流则本轮排除)。最终在候选模型能力、时延功耗、用户偏好等约束下,用启发式优化算法选出模型。
第三层是自演进。设计上算法是纯函数,同样的请求和状态快照必须给出同样的决策,不允许跨请求记忆;所有跨请求记忆外置到独立状态层。每次调用结束后宿主回报成功与否、耗时、花费和本轮表现,写回状态层作为下一轮输入。官方称,状态丢失只会降质为“冷路由”而不会让请求失败,算法升级也不用动状态层和宿主;样本不足或优势不明显时保留原判定。
演进通路上,运行时靠Contextual Bandit和轻量强化学习从真实反馈中学习,逻辑迭代上画像更新、算法替换、策略升级都是独立模块。官方还提到多模型协同(MoA,已在WorkSwarm中实现)与策略自编排,路由粒度可从“选模型”扩展到编排模型、Skill/Tool、SubAgent。
- 可配置:不同业务带入自己的偏好,本轮求最省还是求最快由业务方决定
- 可演进:模型生态变化时策略能跟着更新
- 可观测:每次决策依据和执行反馈可回溯
实测数据:PinchBench成本降 44.6%,Terminal-Bench降 51.4%
实验设置上,团队把x-router接入WorkSwarm,使用PinchBench全量 147 个任务评测,覆盖日志分析、数据分析、编码、研究等 11 个类别;复杂度分类器采用本地部署的Qwen3-0.6B,直接跑在进程内,无需额外启动独立服务;模型池分为SIMPLE到REASONING五档,本地与云端模型混合编队。三组实验使用相同的评测模型和评分标准。
静态路由结果:x-router取得 66.3% 的PinchBench得分,总模型调用成本 8.25 美元;全量调用Kimi-K2-Thinking的基线为 71.36%、11.11 美元。也就是说,得分下降 5.1%,成本降低 25.7%。
开启Bandit自演进后,成本从 8.25 美元降至 6.16 美元,较静态路由再降约 25.3%;同时得分提高 4.4%,达到 70.70%。与全云基线相比,得分低 0.66 个百分点几乎持平,成本从 11.11 美元降至 6.16 美元,整体降低约 44.6%。
另一组在Terminal-Bench/LLMRouterBench上,用Opus4.8、Qwen3.5-122B、Qwen3.5-35B三档位模型池做单轮与多轮路由测试:cost focused模式下成本降低 51.4%,成功率达Opus的 95.2%;quality focused模式下成本降低 15.7%,成功率达Opus的 98.6%。
- PinchBench 147个任务,11 个类别,分类器为进程内Qwen3-0.6B
- 五级模型池按SIMPLE到REASONING分档,简单任务用轻量模型,多文档研究用研究型模型,数学证明与深度推理才交推理模型
- 官方结论:接近顶配的质量,可以用大约一半的成本拿到;“省多少、让多少质量”由用户选择
开源与使用方式
model-router内核用Rust编写,Python侧是PyO3扩展。安装方式为git clone仓库后执行cargo build,再用pip install maturin与maturin develop;使用x-router算法需在已激活的Python虚拟环境中执行maturin develop –extras x-router。路由行为由TOML描述,最简配置中algorithm为passthrough,state后端为memory,默认ttl_secs 300、max_entries 1024,targets只列local-default。切换到x-router需改算法名并补上模型池与分类器路径。
调用流程体现“决策与执行分离”:装配路由后发起请求,拿到decision.selected_model_id,由宿主自行调用模型,再把结果通过Feedback.ok回报,包含latency_ms、session_id和agent_id。Rust宿主可直接静态链接openjiuwen-runtime。团队同时给出端侧(单进程、内存态、零外部依赖)、云侧(状态层外置)、企业私有化(模型清单有限、策略与数据留在本地)和端云混合四种部署形态,称同一套决策逻辑在两侧给出同样答案。
- 仓库地址包括AtomGit与GitHub上的openJiuwen/model-router
- x-router是该引擎中的一个算法模块,同层还有Rust版轻量前瞻路由,走高维特征空间质量预测与任务轨迹预测、联合优化路线,静态编译、无运行时依赖
- 团队称接下来会推出包括路由策略强化学习训练在内的更多自演进能力,相关能力仍在持续开发与验证中