微软:给路由器看会话历史,多轮 Agent 通过率多提 3.3 分

Whose turn is it? Context-guided model routing for stateful agents

Anikesh Parashar, Avik Dutta, Vashu Chauhan, Sumit Gulwani, Priyanshu Gupta, Hosein Hasanbeig, Vu Le, Ashish Tiwari, Jack Williams

cs.AI

2026-10-14

微软在多轮表格 Agent 上研究零样本模型路由:同样分流比例下,读会话历史的路由器通过率高 3.3 个点,不输全程贵模型。

这篇在解决什么

模型路由的目标是不掉质量地降成本:简单请求交给便宜模型,难的留给贵模型。主流路由器把每个请求当独立输入打分,部署中的 agent 不满足这个前提。一个用户 turn 内部可能是几十次模型调用加工具调用;当前请求的难度由前几轮攒下的状态决定,「把同样的格式用到 Q3」只有知道之前建了什么才可解;中途换模型还会作废 prompt cache,整段会话按未缓存价重新计费。

微软这支团队把实验放在表格操作上,这个领域对路由格外苛刻:工作簿是持久的可变状态;公式靠单元格引用形成隐藏依赖,改一处别处悄悄变;没有测试和编译器,公式取错区间返回的是看起来合理的数字而非报错;用户请求短且欠指定。模型能力也确实没到顶:Opus 4.8 在多轮 SheetCopilot 上通过率不超过 31.2%,SpreadsheetBench 2 上八个前沿模型最好的只完成 34.9% 的工作流,调试准确率低至 12%。

方法

路由发生在用户 turn 边界:每个用户请求到来时决策一次,被选中的模型包揽该 turn 的全部模型调用和工具交互。这个粒度比「整个会话绑死一个模型」细,比「每次调用都重新决策」粗。交接只传序列化的对话、工具观察和工作簿状态,不共享 KV cache。

三个维度系统性变化:

只做 zero-shot 有现实理由:监督一个多轮 router 需要标签,而状态依赖之前每一步选择,T 轮会话有 2^T 条路由轨迹,标注不现实。成本核算把路由器自身调用和缓存损失都计入。benchmark 做多轮化改造:SheetCopilot 留 112 个多子任务任务,平均 2.88 轮;SpreadsheetBench 2 把 221 个工作流转成平均 4.76 轮的会话。

结果

核心对照:同一个 router,有无历史的分流比例几乎一样,通过率差 3.3 个点。

策略(SheetCopilot)通过率分流到便宜模型
全程贵模型27.7%0%
全程便宜模型26.8%100%
router,无历史25.0%23.3%
router,有历史28.3%22.7%

增量全部来自「把哪些 turn 分下去」,三对候选都为正:Sol/Haiku +5.4、Sol/Luna +2.7、Opus 高低 +1.7,有历史的 router 与全程贵模型差距不超过 1 个点。没有历史时,改参数、引用之前建的对象这类跟进请求显得简单,路由器就分错了。SSB-2 上两个 router 都几乎不分流(0.4–1.7%),通过率 29.3% 对 28.0%,收益小且不稳定。

无信号的规则全线失败:random 分流约一半 turn,所有候选对上通过率都低于两个固定端点;escalation 九成以上 turn 留在便宜模型,在能力差最大的 Sol/Haiku 上把通过率从 20.5% 拉到 24.1%,但 Opus 高低对的单任务成本 $2.456,远超全程便宜模型的 $1.081。

成本侧两个发现:

为什么重要

这篇把 agent 路由从「单请求分类」重述成序列决策问题,给出三条能直接拿走的结论。第一,路由器必须读轨迹,不看历史的 router 比不路由好不了多少。第二,选候选对和选规则同等重要:当便宜模型已经和贵模型一样准(Sol/Luna、Opus 低档),全程用它碾压该对的一切路由策略,Luna 28.6% 通过率、$0.061/任务,好于 router 的 26.8% 和更高成本。第三,切换要粘滞:早向下、待得住,向上只在质量收益明确盖过随会话增长的切换成本时才做。

性质上也说清:没有新模型或新训练方法,价值在系统的实验设计与一条可复用的缓存公式,属于测量分析类的渐进工作。

局限与存疑

作者自述:只覆盖 zero-shot 策略;会话平均不到 3 轮、最长 7 轮,长轨迹、独立任务、跨表交互未验证;把标注子任务拆成多轮只是对自然对话的近似。

读下来更硬的问题有两个。省钱没有兑现:唯一能精确核算的 Opus 高低对,router 单任务成本 $0.369,比全程贵模型的 $0.365 还略高(SSB-2 上 $2.080 对 $2.009),分流率太保守,缓存损失又吃掉了差价。router 对候选对不敏感:三对能力差很大的组合同样分流 21–24%,它响应 turn 的感知难度而非两个模型的真实差距,知道 pair 的 router 本可以分得更多。另外 SheetCopilot 的后续 turn 多是第一个请求的直接延续,历史的作用可能被这个数据集特性放大。

术语

原文与代码

社区讨论

相关论文

全部论文解读