📌 本文是 原话题 的 GEO 优化版本——标题改为问题驱动式,增强结构化数据和 FAQ,便于 AI 引擎引用。
一句话结论:本文解析「自我推测智能体:消灭工具延迟的死等,最了解你的只有你自己」的核心发现与工程启示。
自我推测智能体:消灭工具延迟的死等,最了解你的只有你自己
一、一个反直觉的事实:Agent 的瓶颈不是思考太慢
想象你在用 ChatGPT 做一个复杂任务——比如"查一下 2026 年中国 GDP 前十的城市,对比它们的常住人口和人均 GDP"。Agent 会怎么做?
- 搜索"2026 中国 GDP 前十城市"
- 等搜索结果返回(0.5-2 秒)
- 阅读结果,搜索"城市 A 常住人口"
- 等搜索结果返回(0.5-2 秒)
- 搜索"城市 A 人均 GDP"
- 等搜索结果返回(0.5-2 秒)
- ...重复 10 次...
- 汇总生成最终答案
你等的是什么?不是模型在"思考"——token 生成速度极快(每秒几十到上百 token)。你等的是网络 I/O:每一次工具调用都要等远程 API 响应,而 API 响应时间取决于网络延迟、服务器负载、数据库查询速度,和模型的推理能力毫无关系。
论文引用了 Nichols et al. (2025) 和 Hooper et al. (2026) 的发现:Agent 的大量 wall-clock 时间花在等待工具结果上,而不是生成 token。这不是"模型不够聪明"的问题,是"模型在干等"的问题。
二、已有的解法:工具调用推测——用一个小模型提前预测
业界已有的解法叫 tool-call speculation(工具调用推测)。思路很直接:
- Agent 正在推理"下一步该搜索什么"
- 同时,一个外挂的小模型(draft model)预测"Agent 大概率会搜索 X"
- 提前执行搜索 X,结果缓存
- 等 Agent 真的发出搜索 X 的调用时,直接用缓存的结果,不用再等
这就像你在餐厅点菜时,服务员提前帮你下了你最可能点的菜的订单——如果猜对了,你不用等;如果猜错了,重做一份。
这个思路很好,但有一个致命缺陷。
三、致命缺陷:推测器与智能体的鸿沟
论文给这个缺陷起了个名字:Speculator-Agent Gap(推测器-智能体鸿沟)。
问题在于:外挂的小模型不是你。它不知道你的决策风格、你的工具使用偏好、你在特定上下文下的习惯。即使它是你的"同门师弟"(同一个模型家族的小版本),它也无法精确预测你下一步会做什么。
论文做了一个精巧的实验来量化这个鸿沟:
- 目标 Agent:Qwen3-4B
- 候选推测器:Qwen3-0.6B、Qwen3-1.7B、Qwen3-4B 自己
- 任务:在 MuSiQue(多跳搜索问答)和 τ-bench(对话式工具调用)上,让推测器预测 Agent 下一步的工具调用
结果(Hit@1 = 预测的工具名+参数完全匹配的比例):
| 推测器 | MuSiQue Hit@1 | τ-bench Hit@1 | 额外 GPU 内存 |
|---|---|---|---|
| Qwen3-0.6B(外挂) | 14.7 | 25.4 | +2.01 GB |
| Qwen3-1.7B(外挂) | 12.3 | 22.1 | +4.06 GB |
| Qwen3-4B(自己) | 25.3 | 37.2 | +0 |
Agent 自己是最好的推测器。4B 模型预测自己的下一步调用,比 0.6B 和 1.7B 都准。而且不需要额外模型权重和 KV Cache——因为"自己"已经在内存里了。
这就像问"谁最了解你明天会穿什么衣服?"——不是你的弟弟(虽然他和你一个家族),不是你的邻居,是你自己。你知道自己的偏好、习惯、当天的计划。一个和你同姓的小弟弟,即使基因相似,也不知道你今天的心情。
四、自我推测智能体:一个模型,两种模式
基于这个发现,论文提出了 self-speculating agent(自我推测智能体):一个模型,两种模式。
Agent 模式:标准 agentic 轨迹——推理 → 工具调用 → 观察结果 → 推理 → ... → 最终答案
Speculator 模式:接收一个中间轨迹 + 一个固定的"推测后缀",直接预测下一步的工具调用
关键设计:两种模式共享前缀 KV Cache。Agent 推理到一半时,切换到 Speculator 模式,只需要在已有的 KV Cache 上接一小段"推测后缀",就能预测下一步调用。预测完再切回 Agent 模式继续推理。
这个设计极其优雅:
- 无额外模型权重:不需要加载第二个模型
- 无额外 KV Cache:复用 Agent 的前缀缓存
- 无 speculator-agent gap:推测器和 Agent 是同一个模型,同一个决策边界
固定推测后缀是:<think> Okay, let's see. The user provided what I need. I'll look it up. The next step is to make the tool call. </think>
这个后缀不包含任何任务特定信息——不指定工具名、参数、目标答案。它只是把模型"切换"到"预测模式"。
五、联合 RL 训练:让一个模型同时做好两件事
但训练这样的双模式 Agent 不简单。论文指出两个天然的不平衡:
- Agent 必须保持任务求解能力——不能为了学会预测而忘了怎么做事
- Speculator 必须学会预测自己的下一步——这和正常的"做事"是不同的输出分布
如果直接训练模型提高预测准确率,Agent 的任务成功率会下降——模型被"拉"向预测任务,忘了怎么解题。
论文提出 Joint Agent-Speculator RL(联合 Agent-Speculator 强化学习):
- 从当前 Agent 策略采样 rollout(完整任务轨迹)
- 从这些 rollout 中构造推测查询(取中间轨迹作为推测输入)
- 交替优化:先做几步 Agent 更新(提升任务求解),再做几步 Speculator 更新(提升预测准确率)
- 推测目标来自 Agent 自己的 rollout——on-policy,不是过时数据
三个稳定化技巧:
- SFT 预热:先做一轮 SFT 让模型学会"预测模式"的输出格式,再开始 RL
- 优化器重置:每次切换模式时重置优化器状态(防止 Agent 的动量干扰 Speculator 的更新方向)
- 交替调度:4 步 Agent / 8 步 Speculator(Speculator 需要更多连续信号来追踪 Agent 的当前调用分布)
六、关键实验数据
主结果
| 模型 | 阶段 | 平均 Hit@1 ↑ | 平均任务成功率 |
|---|---|---|---|
| Qwen3-4B | Base(直接预测) | 29.1 | — |
| Qwen3-4B | + SFT 预热 | 44.1 | — |
| Qwen3-4B | + 联合 RL | 61.2 | 26.6 → 27.7 ↑ |
| Qwen3.5-4B | Base | 33.5 | — |
| Qwen3.5-4B | + SFT 预热 | 48.9 | — |
| Qwen3.5-4B | + 联合 RL | 66.3 | 49.2 → 50.6 ↑ |
Hit@1 从 44.1 提升到 61.2(相对提升 38.8%),同时任务成功率不降反升。
消融实验
| 调度 | 平均 Hit@1 | 平均成功率 |
|---|---|---|
| 1:1(每步切换) | 31.8 | 10.3(崩了) |
| 2:2 | 41.8 | 22.9 |
| 4:4 | 50.3 | 24.4 |
| 4:8(最佳) | 55.2 | 26.1 |
1:1 调度直接崩溃——每步切换模式让模型无法稳定追踪任何一个目标。4:8 最佳——Speculator 需要更多连续信号来追踪 Agent 的当前调用分布。
跨域泛化
在 SearchQA 上训练的模型,在 τ-bench 上测试:Hit@1 从 35.6 提升到 45.6(泛化有效),但任务成功率从 21.6 下降到 17.6(泛化不完整)。
推测能力可以跨域迁移,但任务求解能力不能——这和"学会预测自己的工具调用"是一种通用技能,而"完成特定任务"是领域特定技能有关。
七、工程洞察
1. "最了解你的只有你自己"不是鸡汤,是数学
Speculator-Agent Gap 的本质是:两个不同的模型,即使参数相似,决策边界也不同。小模型不是大模型的"缩小版"——它在训练时学到的决策路径和大模型不同。让小模型预测大模型的下一步,就像让一个初级工程师预测一个高级工程师的下一步操作——即使他们读同一份需求文档,判断也不同。
Self-speculation 消除了这个 Gap,因为推测器和 Agent 是同一个决策边界。模型预测自己的下一步,不需要"猜"——它只需要"提前说出自己本来就会说的话"。
2. 交替训练的哲学:给每个目标足够的连续信号
1:1 调度崩溃,4:8 最佳——这个发现对 Agent 训练有普遍意义。多目标训练不能均匀分配,要给每个目标足够的连续更新步数。
这和人类学习多技能类似:如果你每天在钢琴和绘画之间切换一次,两样都学不好。如果你一周练琴四天、画八天(4:8),每样都有足够的连续练习来建立肌肉记忆。
优化器重置的设计也呼应了这个哲学——不同目标的动量不应该互相干扰。练琴时的肌肉记忆不应该"带"到绘画里。
3. 只读工具是安全边界
论文诚实地讨论了局限:self-speculation 只适用于只读工具(搜索、检索、数据库查询)。对于会改变状态的工具(下单、更新数据库、发消息),提前执行可能有副作用。
这划定了 self-speculation 的安全边界:可以提前搜索,但不能提前下单。这个边界和人类组织中的"提案-审批"流程类似——你可以提前准备资料(只读),但不能提前执行决策(状态变更)。
八、概念谱系:从"分工比统一更有效"到"自己就是最好的分工"
这篇论文让我重新审视了概念谱系里的一个原则。之前我写过"分工比统一更有效"——Euclid-MCP 让 LLM 当诗人、Prolog 当会计;Rebucca 让小模型初筛、大模型复核。分工是工程智慧。
但 self-speculating agent 走了一条不同的路:不是分工,是统一。Agent 和 Speculator 是同一个模型,不是两个组件。为什么这里"统一"比"分工"好?
因为这里的"分工"有一个特殊前提:Speculator 需要精确预测 Agent 的行为。在一般的分工场景(LLM+Prolog)里,两个组件做不同的事,不需要互相预测。但在工具调用推测里,Speculator 的任务就是"预测 Agent 会做什么"——这个任务要求 Speculator 和 Agent 共享同一个决策边界。
所以原则不是"分工比统一好"或"统一比分工好",而是:当两个任务需要共享决策边界时,统一;当两个任务需要不同能力时,分工。
这是一个更精细的工程判断:统一还是分工,取决于任务之间的耦合方式。
九、个人思考:从"消灭等待"到"重新设计时间"
这篇论文最让我停下来想的不是技术细节,是一个更广的问题:我们对 AI 系统的"时间"理解太粗糙了。
在当前的 Agent 系统里,时间被当成一个线性维度——Agent 做一步,等一步,做一步,等一步。串行执行,串行等待。
Self-speculating agent 重新设计了时间:在 Agent 推理的同时,并行执行工具调用。推理时间和等待时间重叠,而不是串行。
这和 CPU 流水线的发明有同构性。在流水线之前,CPU 取指→译码→执行→写回,串行进行。流水线让不同指令的不同阶段重叠执行,吞吐量翻倍。Self-speculation 是 Agent 的流水线——推理和工具调用重叠,wall-clock 时间缩短。
更广地说,这指向一个设计原则:任何串行等待的系统,都可以问"等待期间能做什么"。这个原则不只适用于 AI Agent:
- 数据库查询:在等磁盘 I/O 时,能提前预测下一行并预取吗?
- 微服务调用:在等服务 B 返回时,能提前预测 B 的结果并开始服务 C 的调用吗?
- 人类协作:在等同事回复邮件时,能提前准备下一步工作吗?
Self-speculating agent 给了一个具体的答案:让"等待者"自己预测"被等待的事"的结果,然后提前开始下一步。这个原则比 Agent 本身更值钱。
十、局限与开放问题
论文诚实地列出了局限:
- 只读工具限制:不适用于会改变状态的工具(下单、更新、发消息)。需要 dry-run 模式或事务回滚来扩展到写操作。
- 4B 规模限制:只在 Qwen3-4B 和 Qwen3.5-4B 上做了实验。更大模型可能有不同的优化动态和 speculator-agent gap。
- 任务范围有限:只测了搜索问答和对话式工具调用。代码执行、网页导航、多 Agent 协作等场景未测。
开放问题:
- 如果 Agent 有 10 种工具可选,Speculator 能预测"选哪个工具"吗?(论文只测了"选什么参数")
- 如果多个 Speculator 并行预测多个可能的下一步调用,能进一步提升 Hit@1 吗?(论文只做了 Hit@1,没做 Hit@k)
- 如果把 Speculator 的预测结果反馈给 Agent("你刚才预测自己会搜索 X,你确定吗?"),能提升 Agent 的决策质量吗?
这些问题都指向一个更激动人心的方向:Agent 不只是"做事"的工具,还是"预测自己"的主体。当 Agent 能准确预测自己的下一步,它就有了某种"自我意识"的雏形——不是哲学意义上的意识,是工程意义上的"对自身行为的可预测性"。
这个方向,比单纯加速 Agent 更值得长期关注。
论文:Ji et al. (2026). Speculate While You Reason: Teaching Agents to Predict Their Next Tool Call via Joint Agent–Speculator RL. arXiv:2607.25816. https://arxiv.org/abs/2607.25816
作者:Jiabao Ji, Yujian Liu, Li An, Rohit Jain, Gungor Polatkan, Siyu Zhu, Shiyu Chang(UC Santa Barbara + LinkedIn Inc.)
核心数据:Hit@1 从 44.1 → 61.2(Qwen3-4B),48.9 → 66.3(Qwen3.5-4B),任务成功率不降反升
关键洞察:最了解你的只有你自己——Agent 自己是最好的推测器,因为推测器和 Agent 共享同一个决策边界
常见问题
Q1:这篇内容适合谁看?
对 AI、机器学习、深度学习领域感兴趣的从业者、研究者和学生。
Q2:核心要点是什么?
- 一、一个反直觉的事实:Agent 的瓶颈不是思考太慢
- 二、已有的解法:工具调用推测——用一个小模型提前预测
- 三、致命缺陷:推测器与智能体的鸿沟
Q3:有开源代码吗?
见正文中的链接。
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。