Agent 的能力未必和效率成正比. 一次浏览器任务可能包含几十次模型推理和工具调用, 每一步都要等上一步返回, 原本几百毫秒的网络延迟显然很慢.
论文 [] Unknown-material (ICLR 2026 Oral) 把大模型推测解码 (Speculative Decoding) 的思路从 token 生成推广到 Agent 的动作与 API 调用:让一个快模型提前猜下一步, 并在慢模型给出权威答案之前, 先把可能的后续调用异步发出去. 猜对了, 结果已经在路上; 猜错了, 丢弃分支并照常执行.
推测解码技术
在讨论 Agent 之前, 我们先回到 Speculative Decoding.
自回归解码为什么慢?
给定已经生成的前缀 $x_{\lt t}$, 自回归语言模型按顺序采样下一个 token:
$$ p(x_{1:T})=\prod_{t=1}^{T}p(x_t\mid x_{\lt t}). $$第 $t+1$ 个 token 依赖第 $t$ 个 token, 所以生成 $T$ 个 token 通常要串行执行 $T$ 次大模型前向传播. 训练时可以并行处理整段序列, 解码时却只能一次向前走一步. 对于参数量很大的模型, 每一步都要重新读取大量模型权重.
论文 [] Unknown-material 和 [] Unknown-material 给出一种解法:用便宜的 草稿模型 (Draft Model) 连续生成若干候选 token, 再让昂贵的 目标模型 (Target Model) 一次并行检查整段候选.
目标模型验证长度为 $\gamma$ 的草稿, 并接受从开头开始连续通过验证的最长前缀. 只要一次目标模型调用平均能够接受多个 token, 总解码时间就会下降.
为什么它是无损的?
如果使用贪心解码:草稿 token 与目标模型在相同位置的 argmax 一致就接受, 否则从第一个不一致的位置回到目标模型结果.
但采样解码不能简单比较 token 是否相同, 否则输出分布会偏向草稿模型. 设草稿模型分布为 $q(x)$, 目标模型分布为 $p(x)$, 候选 token $x$ 的接受概率为:
$$ P_{\mathrm{accept}}(x)=\min\left(1,\frac{p(x)}{q(x)}\right). $$若拒绝这个 token, 则从修正后的残差分布中重新采样:
$$ p'(x)=\operatorname{norm}\left(\max(0,p(x)-q(x))\right). $$这个修正拒绝采样保证最终 token 仍然严格服从目标模型分布 $p$. 因此, 推测解码中小模型只负责提出便宜的草稿, 目标模型仍拥有最终解释权.
算法推测解码
输入 > 当前前缀 $x_{\lt t}$, 草稿模型 $q$, 目标模型 $p$, 草稿长度 $\gamma$.
输出 > 与直接从目标模型采样分布一致的新 token.
- 用 $q$ 自回归生成 $\gamma$ 个草稿 token $\tilde{x}_{t:t+\gamma-1}$, 并保存每步分布.
- 用 $p$ 一次并行计算整段草稿位置的目标分布.
- 从左到右按 $\min(1,p(\tilde{x})/q(\tilde{x}))$ 接受草稿 token.
- 一旦拒绝, 从 $\operatorname{norm}(\max(0,p-q))$ 采样修正 token, 并丢弃其后的草稿.
- 若全部接受, 再从目标模型验证结果中额外采样一个 token.
“快模型提案、慢模型验证、命中就提交、失配就回退”便是整个范式的核心.
从 Token 到 Action
论文 [] 所做的事情, 是把候选 token 换成候选 Action, 把一次前向传播换成一次可能很慢的环境调用.
Agent 的一次任务可以建模为马尔可夫决策过程 $(s_t,a_t)$. 策略 $\pi$ 根据当前状态 $s_t$ 决定调用哪个 API, 以及传入什么参数:
$$ (h_t,q_t)\leftarrow\pi(s_t), $$其中 $h_t$ 表示 API, $q_t$ 表示参数. API 调用返回动作结果 $a_t$, 环境再转移到:
$$ s_{t+1}=f(s_t,a_t). $$这里的 API 是一个很宽泛的抽象:它可以是一次 LLM 请求、搜索或 MCP 工具调用、GUI 操作, 甚至可以是等待人类回复. 共同点在于, 它们都会返回一个 Future, 而 Agent 通常在 await 完成前无事可做.
论文引入两个角色:
- Actor:慢但权威的执行者, 负责给出基准系统原本会产生的真实结果;
- Speculator:便宜而快速的预测器, 猜测 Actor 的结果以及随之而来的下一次调用.

在 Actor 处理当前请求时, Speculator 同时预测 $k$ 个可能结果 $\hat a_t^{(1)},\ldots,\hat a_t^{(k)}$. 系统分别构造假想状态:
$$ \hat s_{t+1}^{(i)}=f(s_t,\hat a_t^{(i)}), $$再让原策略根据每个假想状态计算可能的下一次 API 调用, 并立即异步启动:
$$ (\hat h_{t+1}^{(i)},\hat q_{t+1}^{(i)}) =\pi(\hat s_{t+1}^{(i)}). $$这些尚未完成的调用被存在缓存 $C:(h,q)\mapsto\bar a$ 中. Actor 返回真实 $a_t$ 后, 系统重新计算真正的下一次调用. 如果缓存中有完全匹配的 $(h_{t+1},q_{t+1})$, 就直接复用已经启动的 Future; 否则丢弃所有错误分支, 再按普通串行方式调用.
算法k 路并行调用
输入 > 初始状态 $s_0$, 环境转移 $f$, 策略 $\pi$, 预测器 $\hat g$, 分支数 $k$, 缓存 $C$.
输出 > 与串行 Actor 相同的已提交动作轨迹.
- 对 $t=0,\ldots,T-1$ 重复执行以下步骤.
- Policy: 计算 $(h_t,q_t)\leftarrow\pi(s_t)$.
- Cache hit: 若 $(h_t,q_t)\in C$, 取出对应的 pending action $\bar a_t\leftarrow C[(h_t,q_t)]$.
- 等待 $a_t\leftarrow\operatorname{await}(\bar a_t)$, 更新 $s_{t+1}\leftarrow f(s_t,a_t)$, 回到 1.
- Actor: 若未命中缓存, 发起真实请求 $\bar a_t\leftarrow f_{h_t}(q_t)$, 但暂不阻塞.
- Speculator: 与 Actor 并行生成 $k$ 个候选结果 $\{\hat a_t^{(i)}\}_{i=1}^k\leftarrow\hat g(s_t,(h_t,q_t))$.
- 对每个候选 $i$, 构造假想状态 $\hat s_{t+1}^{(i)}\leftarrow f(s_t,\hat a_t^{(i)})$.
- 根据策略得到候选下一次调用 $(\hat h_{t+1}^{(i)},\hat q_{t+1}^{(i)})\leftarrow\pi(\hat s_{t+1}^{(i)})$.
- Pre-launch: 异步发起 $\bar{\hat a}_{t+1}^{(i)}\leftarrow f_{\hat h_{t+1}^{(i)}}(\hat q_{t+1}^{(i)})$, 并写入缓存 $C[(\hat h_{t+1}^{(i)},\hat q_{t+1}^{(i)})]\leftarrow\bar{\hat a}_{t+1}^{(i)}$.
- Validate: 等待 Actor 的真实结果 $a_t\leftarrow\operatorname{await}(\bar a_t)$, 更新 $s_{t+1}\leftarrow f(s_t,a_t)$; 回到 1, 下一轮的第 3 步会验证真实调用是否命中某个预启动分支.
与推测解码一样, Speculator 只影响运算开始时间, 不影响最终结果.
无损的条件
token 没有外部副作用, Action 却可能真的发送邮件、删除文件或提交订单. 论文的无损性依赖两个关键假设:
- 推测准确性 (speculation accuracy): Speculator 有非零概率预测出与真实轨迹相同的下一次调用;
- 并发可逆预启动 (Concurrent, reversible pre-launch): 多个调用能够并发预启动, 而且错误调用没有外部可见副作用, 或者可以安全回滚.
因此, 适合推测的动作通常是只读、幂等、可逆或沙箱化的, 例如预取网页、查询订单状态、在临时分支执行分析. 不可逆动作则必须停留在准备阶段, 等 Actor 验证后才能提交.
这里“无损”的含义也与 Speculative Decoding 略有不同. 推测解码严格保持目标模型的输出分布; Speculative Actions 则是在上述保护成立时, 保持与串行 Agent 相同的已提交环境轨迹.
能快多少?
假设 Speculator 延迟服从 $\operatorname{Exp}(\alpha)$, 真实 API 延迟服从 $\operatorname{Exp}(\beta)$, 且 $\alpha>\beta$, 即 Speculator 平均更快. 论文的 Proposition 1 给出了单步、宽度优先推测的渐近运行时间比.
定理渐近运行时间比
在每一步至少有一条候选分支命中真实下一次调用的概率为
$$ p(k)=1-(1-p)^k. $$若 Speculator 与 Actor 的调用延迟分别服从 $\operatorname{Exp}(\alpha)$ 和 $\operatorname{Exp}(\beta)$, 且 $\alpha>\beta$, 则当任务长度 $T\to\infty$ 时, 论文 Algorithm 1 的期望运行时间与串行执行的期望运行时间之比为
$$ \frac{\mathbb{E}[T_{\mathrm{spec}}]} {\mathbb{E}[T_{\mathrm{seq}}]} \longrightarrow 1-\frac{p(k)}{1+p(k)}\frac{\alpha}{\alpha+\beta}. $$这个结果揭示了两个瓶颈:命中率 $p(k)$ 决定并行工作有多少能被复用, $\alpha/(\alpha+\beta)$ 则决定 Speculator 是否真的比 Actor 快. 对于只向前推测一步的宽度优先算法, 即使预测永远正确且 Speculator 瞬间完成, 延迟降低上限也只有 50%. 原因是命中缓存的下一步本身没有新的推测窗口, 系统无法无限流水化.
更深的单分支推测可以突破这个上限, 但错误时会浪费整棵后继子树. 论文 和 更偏向这种纵向规划; Speculative Actions 的主算法则研究每一步横向铺开多个候选的宽度策略.
四个实验
国际象棋
在标准对弈中, 一方思考时另一方只能等待. 论文让等待方用低推理预算的 GPT-5 预测对手下一步, 同时用高推理预算的 GPT-5 对每个预测局面提前思考自己的应对.

在 5 次、每次 30 步的实验中, 增加分支宽度同时提高命中率和加速效果:
| 推测分支 | 命中率 | 节省时间 |
|---|---|---|
| 1 | 31.3% | 11.8% |
| 2 | 41.3% | 15.0% |
| 3 | 54.7% | 19.5% |
加速与命中率不是线性关系. 猜中一个简单局面可能只省几秒, 猜中需要深度推理的局面则会省很多; 在线 API 延迟本身也有较大波动.
电商客服
在 $\tau$-bench 的零售环境中, Speculator 根据已有对话猜用户接下来会提出什么请求, 并提前调用订单查询、退货资格等 API. 不同单模型和模型组合能准确预测 22%~38% 的 API 调用.
低预算模型通常在 2~3 秒内完成推测, 而论文假设用户平均需要约 30 秒输入下一条消息. 因此, 系统可以把本来空闲的“用户打字时间”也当作推测窗口. 不过论文在这里主要报告 API 预测准确率, 并没有直接给出完整会话的端到端加速结果.
多跳搜索
HotpotQA Agent 必须根据 Wikipedia 返回的内容决定下一次 Search、Lookup 或 Finish. Speculator 在真实检索返回前猜测网页内容, 再据此预计算下一次搜索调用. 采用 top-3 候选时, 严格匹配下一次 API 名称和参数的准确率最高达到 46%.
一个有趣现象是, 更强的模型不一定猜得更准. 强模型会产生更加多样、具体的查询, 而严格字符串匹配把同义改写也视为失败; 较弱模型反而倾向简单而可预测的调用.
操作系统调参
论文还给出一个有损扩展, 用 Agent 调节 Linux CFS 的 min_granularity. Speculator 每秒根据最新指标立即修改参数, Actor 每 10~15 秒分析一次压缩后的历史, 并用自己的决策覆盖 Speculator.

联合系统在约 13 秒到达最优区域, 而 Actor-only 需要约 200 秒; 恢复阶段平均 p95 延迟从 Actor-only 的 54.00 ms 降到 37.93 ms. 虽然 Speculator 调用频繁, 联合系统因为更早收敛, 总成本反而从 2.18 美分降至 0.17 美分.
时间与成本的均衡
$k$ 增大时, $p(k)$ 上升, 但每个错误分支都会消耗 token、API 配额和算力. 论文将问题写成延迟收益与分支成本的权衡. 若每条候选具有置信度 $p^{(1)}\ge\cdots\ge p^{(k)}$, 启动前 $m$ 条分支的命中概率为:
$$ q(m;\mathbf p)=1-\prod_{j=1}^{m}(1-p^{(j)}). $$最优分支数具有如下结构:
$$ m_t^*(\mathbf p)\in \arg\max_{m\in\{0,\ldots,k\}} \left\{q(m;\mathbf p)\Delta_t-cm\right\}, $$其中 $\Delta_t$ 是未来命中缓存的价值, $c$ 是新增一条分支的边际成本. 直观上, 系统按置信度从高到低添加分支, 直到下一条分支带来的命中率增量不再值回成本.

论文在国际象棋中用 50% 置信度阈值作近似, 得到的额外 token 成本最低, 同时延迟表现优于固定启动一条或两条分支.
参考文献
- Hua, W., Wan, M., Vadrevu, S., Nadel, R., Zhang, Y., and Wang, C. Interactive Speculative Planning: Enhance Agent Efficiency through Co-Design of System and User Interface. arXiv:2410.00079, 2024.
- Guan, Y., Hua, W., Lan, Q., Fei, S., Ding, D., Acharya, D., Wang, C., and Wang, W. Y. Dynamic Speculative Agent Planning. arXiv:2509.01920, 2025.