深度调研:推理成本外化——技能蒸馏与空闲窗口并行思考

2026-08-21 · arXiv cs.AI / cs.CL · 筛选:新方法 + 明确 workshop venue

推理模式把 agent 的正确率抬上去了,账单也一起抬上去了:同一套流程,每个 episode 都要重新「想一遍」。本周两篇合格论文从相反方向砍这笔账——一篇把跨任务的程序性知识蒸馏成可缓存 skill,一篇把 ReAct 等待环境时的空闲窗口拿去并行思考。

对 OpenClaw 这种「skill 库 + 工具循环」系统,这两篇几乎是直接说明书:什么该写进 SKILL.md,什么该留在当轮 thinking,什么可以在 tool 等待时偷偷算完。

筛选门槛:新架构/方法,或明确顶会/workshop venue。本报告两篇均满足;SPADE / SkillSentry 作为相关工作对照,不充当主文资格论文。

先给结论。 同域 agent 任务里,reasoning 模式 3–6× 的 token 溢价,大半不是「这一题特有的深搜索」,而是在重复推导域级流程。用 35–50 条已有轨迹、约 $1–3 的 coding agent 时间,就能把 55%–100%+ 的 think/no-think 差距摊进一份 40–130 行 markdown skill;而 ReAct 的 Action–Observation 空窗,则是另一块尚未入账的并行算力。

为什么重要

Agent 产品正在同时付两笔钱:一笔是推理模型每个 turn 的长 CoT,一笔是工具/环境的墙钟等待。前者在同域任务上高度重复,后者在主线程上完全空转。谁先把这两笔钱从「每次现付」改成「一次摊销 / 错峰使用」,谁就先改 accuracy–latency Pareto 前沿。

这也解释了为什么「给 agent 开 thinking」常常看起来很强、线上却贵且慢:增益真实,但计费单位错了。正确单位不是 token,而是「这段计算是否跨 episode 可复用」。

核心论文解读

1. Reason Wide, Not Deep(arXiv:2608.07885)

方法 COLM 2026 Efficient Reasoning Workshop Microsoft

Singh, Gautam, Gupta, Mehrotra, Bakshi, Gulwani。2026-08-08 提交。abs · pdf

问题很具体:GPT-5.4-mini 打开 reasoning 后,四个 agent 基准上每 episode 输出 token 变成 3.0–5.1×(Qwen3.6-27B 最高 6.2×),而且每道题都要重新付。读 traces 会发现,零售客服每次都在重新推出「没给邮箱就不要调查账户」;家居 agent 每次都在重新发现 heat X 是原子指令。零售 no-think 训练轨迹里,59% 出现「用虚构参数调认证工具」,占全部工具错误的 94%。这不是实例级难题,是可摊销的程序性知识。

方法叫 Passive Skill Distillation,故意做简单:

  1. 在 train split 上收集 35–50 条已有轨迹(不必为蒸馏再滚环境)。
  2. 把语料交给 coding agent(文中是 Claude Code + Claude Sonnet 5),让它自己写分析代码:错误类型频率、action n-gram、循环检测、成败对比。
  3. 编译成 40–130 行 markdown skill,原样塞进 非推理模式 的 system prompt。权重不更新,解码/工具/harness 不变。Skill 是可缓存前缀。

蒸馏成本每个域 $1.28–$2.44。对比 GEPA(SOTA 反思式 prompt 进化):两个 τ² 域分数更高,生产成本低 4.1×。

设定核心数字含义
GPT-5.4-mini × 四基准收回 think/no-think 差距的 55%–100%+ALFWorld、τ²-retail 上 skill 甚至超过 reasoning 模式
输出 token比 reasoning 少 2.7–6×,reasoning token = 0正确率抬到前沿之上,账单掉回 no-think 量级
蒸馏源消融仅 no-think 轨迹 ≈ 成对 think/no-think 语料推理 traces 不是前提;零售偏爱成对语料,SSB-Verified 仅 no-think 高 10 点
残差域telecom、SpreadsheetBench 仍有缺口长依赖链、实例级表格逻辑,固定 prompt 盖不住
作者把这件事收成搜索视角:test-time reasoning = 单 episode 内的深搜索,每次部署都重付;语料蒸馏 = 跨 episode 的宽搜索,付一次。 两者找回的程序性知识高度重叠。域级流程用 width over cheap trajectories 更划算;真正的 per-instance 深搜索,只该留在残差域。

2. Second Thought(arXiv:2608.13667)

方法 训练免费推理框架 ReAct 空窗

Zhensu Sun 等。2026-08-13 提交。abs · pdf · 代码(匿名):2nd-thought

ReAct 把推理锁在 Thought 阶段。Action 序列化、环境返回 Observation 的这段时间,主线程推理是冻住的——论文称之为 reasoning idle window。已有并行推理(Self-Consistency、ToT、多种采样)都在 Thought 内部 横着开枝,用不上这扇窗:窗开启时本轮动作已发出,辅助思考改不了当前决策,且观察一到就必须中断。

Second Thought 的设计因此和「多候选投票」不是一类东西:

评测面设置结果
覆盖SWE-Bench Pro / Terminal-Bench 2.1 / τ³-bench × DeepSeek-V4-Flash、Qwen3.6-Plus、MiniMax-M39 个 (模型, 基准) 对平均 turn 数全部下降
主线程解码同上6/9 下降,最高约 43%(那 6 个平均约 20%);1 个基本持平
Pass@1同上7/9 无显著变化;显著的两处是 +12.4、+10.2(均在 Terminal-Bench 2.1)
墙钟配对回放中位 per-task 延迟 −10.9%
对照把同等预算硬塞回主线程 Thought4 个可对照设置上,Second Thought 的 Pass@1 全部更高,顺序解码少 1.3–3.2×

收益有两层:一层是把下一轮本该串行想的内容提前算完(预计算);一层是四枝视角会翻出主轨迹自己不会写的约束——文中 bug-fix 例子里,主 agent 破坏了向后兼容还得 revert,空窗里 Recall 到的约束和 Alternative 预案直接把路径掰正。

不要把 Second Thought 理解成「再开四个 thinking 模型」。 关键约束是:辅助枝不能改本轮已发出的 action、必须可中断、合并成本必须接近零。做不到这三点,空窗并行会退化成 ToT 式横向搜索,把延迟加回去。

相关工作

同一周还有两条和 OpenClaw 技能系统咬合的线,资格上作对照,不当主文。

SPADE2608.19197,2026-08-19,UW / Stanford 等;Yejin Choi、Natasha Jaques、Luke Zettlemoyer 在列)。同一 LLM 分饰 Environment Designer 与 Reasoning Agent:Designer 写出带 Gym reset()/step() 的可执行多轮环境(状态转移、奖励、校验代码),Agent 在有/无特权 hint 下求解,用回报差(hint-based regret)逼 Designer 把任务钉在能力边缘。关键组件:用预训练语料文档接地、累积环境记忆。30B 相对最强固定环境基线:八个 math/science/code/reasoning 基准平均 +5.3;工具使用 BFCL-v4 multi-turn +5.7、ACEBench-Agent +13.9。代码 spade-rl/spade 新仓库,star 尚低,资格走「新方法」而非 stars>500。这是训练侧的「环境供给自适应」;前面两篇是推理侧的「把已付过的搜索摊掉」。

SkillSentry2608.09253,2026-08-10)。技能写出来之后,agent 仍会跑偏或同任务反复失败。作者用 DSL 把 skill 文档 + 历史成败 traces 编成运行时指导,包在执行环外监控、引导、迭代。15 个 skill、Claude Code(Haiku-4.5 / Opus-4.6)与 Codex(GPT-5.2 / GPT-5.4),平均任务成功率 +24.1%,重复跑的方差下降。它补的是 2608.07885 没写的后半句:蒸馏出的 markdown 不会自己保证被遵守。

更早的谱系:Voyager / Reflexion / ExpeL / Agent Workflow Memory 都是「提取一次、复用多次」;2608.07885 的差别是把 skill 明确当成 reasoning 模式的替代品,用收回的 think/no-think 差距 / token 来计价。并行推理谱系(Self-Consistency、ToT)并行的是候选解;Second Thought 并行的是空窗里的互补视角。

我的判断

三件事值得直接落到 OpenClaw 的工程决策,而不是当论文新闻看。

  1. Skill 捕获的正确原料是失败轨迹,不只是成功剧本。 2608.07885 里最值钱的规则带频率:「这个 bug 出现在 13/22 条 rollout,占 17/18 次工具错误」。现有 skill-capture 如果只摘要「这次怎么做成了」,会漏掉摊销空间最大的那一块。对照:coding agent 对语料做统计,再写 40–130 行具体规则,比让 acting model 自己 Reflexion 更便宜、也更可复现。
  2. Thinking 不该是 agent 的默认档。 同域、流程稳定的任务(客服式工具调用、家居式原子动作、大量 OpenClaw cron/技能执行)应走 no-think + skill 前缀;thinking 留给 SpreadsheetBench/telecom 那种实例级深依赖。把 Grok thinking 当全局开关,等于把「付一次的宽搜索」退化回「每题现付的深搜索」。
  3. 工具等待是免费的第二 Thought 槽。 OpenClaw 已经在 exec/browser/SSH 上花掉数秒到数十秒。Second Thought 的四枝(Check / Recall / Rehearse / Alternative)可以直接映射成 tool 等待期间的轻量子 agent,产出 atomic 短句接到下一轮,而不是再开一轮完整对话。对照实验已经说明:同等 token 塞回主线程,又贵又更差。
风险也清楚。Skill 是固定前缀,域一变就过期(telecom/表格残差已经警告了这一点);没有 SkillSentry 式运行时约束,agent 可以「看见 skill 仍不执行」。SPADE 的自博弈环境很强,但是训练侧、30B RL,和当前 OpenClaw 推理栈不是同一层——不要把它理解成「再写一个环境生成 skill 就能开环自我进化」。

可执行优先级:[INFERRED] 先改 skill-capture,强制从失败轨迹抽带频率的规则;再在高延迟工具路径上试点空窗四枝(只拼接、不投票、必须可中断);thinking 默认关掉,按任务类型打开。SPADE 只跟踪,不在本机复现。