笔记日期: 2026-06-29 笔记作者: Zhongzhu Zhou 论文标题: Agentic Chain-of-Thought Steering for Efficient and Controllable LLM Reasoning 作者: Yu Xia, Zhouhang Xie, Xin Xu(UCSD);Byungkyu Kang, Prarit Lamba, Xiang Gao(Intuit AI Research);Julian McAuley arXiv: 2606.03965,2026 年 6 月 2 日 状态 / 会议: Preprint (cs.CL, 2026)
一句话总结
ACTS(Agentic Chain-of-Thought Steering)在推理时引入一个轻量控制器 agent,在预算约束下逐步为冻结推理模型分配推理策略(理解/计划/执行/检验/总结/收尾等),不改变推理模型权重,却能以节省 57% token 的代价维持甚至提升精度——尤其在难题上,因为控制器能主动打断”推理绕圈子”的失效模式。
前置知识
这篇论文综合了 LLM 推理效率、强化学习、以及 agent 架构三个领域,本节用白话把必要的背景知识打好。
链式推理(Chain-of-Thought, CoT)
CoT 推理是指让语言模型在给出最终答案之前,先”想出来”——生成一段中间推理过程(thinking trace),然后再给答案。这一范式被 Wei et al. (2022) 系统提出后,成了现代推理模型的标配。现在最强的推理模型(DeepSeek-R1、QwQ、o3 等)都是用强化学习专门训练来在 <think> 块里花大量 token 推理的,这个过程有时叫做”测试时计算扩展”(test-time scaling)。
直觉上,这就像一个聪明的学生在考试时打草稿:草稿越充分,答案越有把握。实证上,在竞赛数学、代码生成、科学问答等难任务上,更长的 thinking trace 确实带来更高的准确率。
过度思考问题
问题是,推理模型经常”思路绑架”——对一个 500 token 就够解决的问题写出 5000 token 的推导。这些多余的 token 不是白花的,它们会:
- 浪费推理成本:推理 token 是直接的 API/GPU 花销,在大规模服务时成本显著
- 降低吞吐量:推理越长,服务延迟越高
- 有时还会降低精度:模型在正确推导出答案之后继续”验证”,有时把对的答案验证成错的
第三点是本文最核心的动机之一:有些模型失败案例不是因为推理不够,而是推理太多、自我纠偏成了错误。
现有高效推理方法的思路
在 ACTS 之前,所有高效推理方法都在控制想多久(thinking length),而不是怎么想:
- NoThink:直接不让模型思考,前置空
<think>块,强制跳过推理阶段 - CoD (Chain of Draft):用 prompt 要求模型每步只写几个词的草稿
- Budget Forcing (s1):数 token 数,超预算就强插
</think>让模型收尾 - DEER:在推理转换点检查模型当前答案的置信度,高置信度就提前退出
- BudgetGuidance:训练一个辅助预测器,在 token 级别把生成偏向目标长度
这些方法的共同局限:它们控制的是推理的量(有多少),而不是推理的质(每一步在做什么)。ACTS 是第一个显式控制每步推理策略的框架。
马尔可夫决策过程(MDP)
MDP 是序列决策问题的标准框架,由五元组 定义:
- :状态空间
- :动作空间
- :状态转移分布
- :奖励函数
- :折扣因子
策略 将状态映射到动作分布。强化学习的目标是找到最优策略 。
ACTS 把推理控制建模为一个无折扣有限水平 MDP(,水平为推理步数),状态编码完整的推理历史,动作是(策略类型,引导短语)对。
GRPO(Group Relative Policy Optimization)
GRPO 是 DeepSeek-R1 使用的 RL 算法,不需要单独的价值网络——它用同一问题采样的 条轨迹计算相对优势:
表示第 条轨迹比组均值好,会被鼓励; 表示更差,会被抑制。
ACTS 使用 Dr. GRPO(Liu et al., 2025b)变体:去掉标准差归一化项,避免对简单题/短轨迹的虚假高优势。
背景:推理步的结构是什么样的?
在正式介绍 ACTS 之前,先看一个推理模型的 trace 到底长什么样。Li et al. (2025b) 和 Xiong et al. (2025) 分析了大量 DeepSeek-R1 推理 trace,发现它们始终呈现一组固定的功能步骤类型:
| 步骤类型 | 中文名 | 含义 | 典型开场短语 |
|---|---|---|---|
| UNDERSTAND | 理解 | 解析并重述问题 | ”好的,我需要…” |
| PLAN | 规划 | 列出高层解题思路 | ”我打算先…” |
| EXECUTE | 执行 | 做具体计算/推导 | ”让我来计算…” |
| EXPLORE | 探索 | 尝试备选方案 | ”另一方面,假设…” |
| CHECK | 检验 | 验证中间或最终结果 | ”等等,让我验证一下…” |
| SUMMARIZE | 总结 | 概括已得结论 | ”到目前为止…” |
| CONCLUDE | 收尾 | 给出最终答案 | ”因此答案是…” |
这些标签在 trace 文本中并没有显式出现——它们从段落的语义内容中涌现。当模型”推理绕圈子”时,通常是过度应用 CHECK(反复验证已经正确的结果)或 EXPLORE(找到答案后还在探索备选)。
ACTS 把这个分类体系显式化,作为控制器的动作空间。
ACTS 框架详解
图 1:系统架构总览
graph TD
Q["问题 + 预算 B"]
C["控制器 Agent (Qwen3-4B)\nπ_θ"]
R["冻结推理模型 (7B/8B)\nρ"]
H["引导历史 H_t\n(问题, 动作, 推理步, 剩余预算)"]
Q --> C
H --> C
C -->|"引导动作 a_t=(u_t, p_t)\n策略 + 引导短语"| R
R -->|"推理步 z_t"| H
H -->|"预算更新 b_t"| C
R -->|"CONCLUDE 或预算耗尽"| ANS["答案生成"]
ANS --> OUT["最终答案 ŷ"]
style C fill:#4a90d9,color:#fff
style R fill:#7b68ee,color:#fff
style H fill:#f0f0f0,color:#333
style Q fill:#e8f4ea,color:#333
style OUT fill:#2ecc71,color:#fff
图 1. ACTS 系统概览。控制器读取累积的引导历史,每步输出(策略, 引导短语)对。冻结推理模型以引导短语为条件生成下一个推理步。每步后历史增长、预算递减。
MDP 形式化
状态。 在推理步 ,状态是完整的引导历史:
其中 是第 步的剩余预算比例,初始 (100%)。
动作。 控制器每步采样:
其中 是高层推理策略, 是自由形式的引导短语,负责自然语言地”打开”下一步推理——例如 CHECK 策略对应 “等等,让我验证一下这个。“,EXPLORE 对应 “另一方面,假设…”。
关键设计:策略 表达”做什么”,引导短语 表达”怎么进入”。推理模型不被告知”执行 CHECK 策略”,它只看到短语并以自己的生成风格自然延续。
转移。 给定问题 、前序 trace 和引导短语 ,冻结推理模型生成第 步:
完整步为 (短语拼接续文)。预算更新为:
其中 计算思考 token 数。当 ,预算已超支。
终止条件:
- 控制器选 ;
- 推理模型输出 end-of-thinking token(
</think>); - 达到最大步数。
终止奖励: 轨迹 的奖励为:
其中 是答案正确性, 由预算条件奖励塑形给出(见第三节)。
图 2:MDP 状态-动作-转移
stateDiagram-v2
direction LR
[*] --> H0: x, b0=100pct
H0 --> H1: a1=(u1,p1), z1, b1
H1 --> H2: a2=(u2,p2), z2, b2
H2 --> Ht: ...
Ht --> TERM: CONCLUDE 或预算耗尽
TERM --> ANSWER: 推理模型生成答案
ANSWER --> [*]: 奖励 R(τ, ŷ)
图 2. MDP 轮次结构。每个状态 捕获迄今为止的完整历史。控制器的动作触发推理步,状态前进、预算减少。
两阶段训练
第一阶段:行为初始化——合成引导轨迹的构建
控制器需要知道:在当前预算和部分推理 trace 的条件下,下一步应该用哪个策略?难点在于:现有推理 trace 数据集只包含推理模型的 chain-of-thought,没有控制器动作标注。
ACTS 的解法:从已有 expert trace 中反向构造控制器动作序列,把 trace 自身的长度当作预算信号。
合成轨迹构建算法(步骤详解)
算法 1:合成引导轨迹构建
输入:Expert 推理 trace R,token 总长 len(R),LLM 标注器 M,策略词典 U
输出:引导轨迹 τ
1. 分段:按段落边界(".\n\n"、"?\n\n")把 R 切分成推理步 z_1, ..., z_K
2. 设合成预算 B := len(R) // trace 总长就是预算
3. 对每步 t = 1 到 K:
a. 标注:用 M 把步 z_t 分类到策略 u_t ∈ U
b. 提取:取 z_t 的开场短语作为引导短语 p_t(如第一句到逗号/句号前)
c. 计算单步消耗:Δ_t = ℓ(z_t) / B
d. 更新剩余预算:b_t = b_{t-1} - Δ_t
e. 记录:(b_t, a_t=(u_t, p_t), z_t) 进入轨迹 τ
4. 丢弃退化轨迹(连续两步策略和短语相同的循环轨迹)
5. 返回 τ
这个构建过程的关键洞察:把 trace 位置映射到预算轴。虽然 expert 推理模型生成 trace 时没有任何预算约束,但把 token 位置归一化成预算比例之后,不同策略自然地聚集在不同预算区间——这个时序结构就被蒸馏进了控制器的先验中。
多预算增强(Multi-Budget Augmentation)
用 构建的轨迹总是在 处结束(恰好耗尽预算)。为了让控制器适应各种部署时的预算值,每条轨迹用随机缩放生成多个版本:
- 提前终止():乘以 的缩放因子,让 trace 在还有剩余预算时就结束
- 恰好耗尽():原始轨迹
同一条 trace 于是在多种”假设的预算场景”下训练控制器。
SFT 训练目标
设合成轨迹语料库 (来自 OpenR1-Math 的 7,500 条问题)。控制器 通过最小化控制器动作的负对数似然初始化:
这是标准语言模型交叉熵损失,只对控制器的动作 token(策略标签 和引导短语 )计算损失,推理模型的续文 被 mask 掉。
图 3:合成轨迹构建流程
graph TD
subgraph "原始数据"
OR["OpenR1-Math\n7,500 条 DeepSeek-R1 推理 trace"]
end
subgraph "步骤 1:分段"
SEG["按段落边界切分\n→ z_1, ..., z_K"]
end
subgraph "步骤 2:标注"
ANN["LLM 标注器 M\n→ 策略 u_t, 引导短语 p_t"]
end
subgraph "步骤 3:预算对齐"
BUD["b_t = 1 - Σℓ(z_s)/B\n→ 预算比例序列"]
end
subgraph "步骤 4:多预算增强"
AUG["随机缩放\n→ 多种 bT 场景"]
end
subgraph "结果"
TRAJ["合成引导轨迹集 D\n→ 控制器 SFT 训练"]
end
OR --> SEG --> ANN --> BUD --> AUG --> TRAJ
图 3. 合成轨迹构建流程。关键是把 trace 位置映射到预算轴,把 expert 推理的时序结构蒸馏成预算条件化的策略先验。
第二阶段:在线强化学习
SFT 后的控制器有了合理的策略分配先验,但这个先验是从无约束的 expert trace 中提取的,不一定在各种预算值下都能正确权衡精度和预算合规。RL 直接优化塑形的奖励函数来解决这个问题。
预算条件奖励塑形
直接的奖励设计陷阱:如果只对超预算加惩罚,控制器会学到一个简单的博弈策略——对没把握的题提前放弃,规避超预算惩罚。我们需要一个同时惩罚过度思考和过早放弃的奖励。
回想 , 表示还有剩余预算(提前结束), 表示超支。塑形后的奖励为:
其中 是惩罚系数(实验中 )。
正确答案()分析:
- (未超预算):奖励 ,满分
- (超预算):奖励 ,正确但因超时被扣分,超支越多扣越多,最低到
错误答案()分析:
- (超预算 + 错):奖励 ,超支越多越负
- (未用完预算 + 错):奖励 ,剩余预算越多越负——这就是反博弈机制:提前放弃但没答对,剩余预算越多惩罚越重,控制器无法靠”戒掉”来规避惩罚
边界处有 10% 宽限: 在零附近的微小超/欠支不触发惩罚,避免奖励在临界点振荡。
图 4:预算条件奖励塑形
graph LR
subgraph "正确答案 c=1"
C1["bT>=0\n未超预算"] -->|"奖励=1.0(满分)"| R1["全额奖励"]
C2["bT<0\n超预算"] -->|"奖励=1+α*bT"| R2["惩罚超时\n最低到 0.5"]
end
subgraph "错误答案 c=0"
C3["bT<0\n超预算+错"] -->|"奖励=-α*|bT|"| R3["惩罚超时且答错"]
C4["bT>0\n未用完+错"] -->|"奖励=-α*bT"| R4["惩罚过早放弃\n反博弈关键"]
end
图 4. 预算条件奖励塑形。正确时惩罚超时,错误时同时惩罚超时和过早放弃,使控制器无法通过”战略性提前退出”规避惩罚。
GRPO 更新过程
对每个问题 :
- 用 和冻结推理模型 联合采样 条轨迹
- 用式 (8) 打分:
- 计算 Dr. GRPO 优势(去掉标准差归一化):
- 对轨迹 中的所有控制器动作 token 广播优势 ;推理模型的续文 token 被 mask 掉
异步推理架构
图 5:异步双服务器推理流程
sequenceDiagram
participant O as 协调器
participant C as 控制器服务器 (Qwen3-4B, 4xA100)
participant R as 推理模型服务器 (7B/8B, 4xA100)
Note over O,R: 所有样本在请求级并发推进
O->>C: 状态 H_0 (问题 + 预算)
C-->>O: 引导动作 a_1 = (u_1, p_1)
O->>R: 上下文 + 引导短语 p_1
R-->>O: 推理步 z_1
O->>O: 更新 H_1, b_1
O->>C: 状态 H_1
C-->>O: 引导动作 a_2 = (u_2, p_2)
O->>R: 上下文 + 引导短语 p_2
R-->>O: 推理步 z_2
Note over O: 持续到 CONCLUDE 或预算耗尽
O->>R: 完整 trace z_<=T(答案生成)
R-->>O: 最终答案 ŷ
图 5. 异步双服务器推理。协调器通过 HTTP 异步循环驱动所有 in-flight 样本。控制器(4B)和推理模型(7B/8B)各用 4 块 A100,两者并发处理不同样本的请求,有效摊薄了控制器轮次的延迟开销。
与 DEER 的对比: DEER 的”探针-恢复”机制需要串行调用(探针→继续生成→探针…),吞吐量降至 Vanilla 的约 57%。ACTS 的异步流水线使吞吐量与 Vanilla 相差不到 1%(Qwen3-8B)或 11%(DeepSeek-7B)。
实验结果与分析
实验设置
数据: SFT 合成轨迹和 RL 训练均使用 OpenR1-Math 中 7,500 条 DeepSeek-R1 推理 trace(长度 512–8192 token)。
评测基准:
| 基准 | 类型 | 规模 | 重复次数 |
|---|---|---|---|
| MATH-500 | 竞赛数学 | 500 题 | 1次 |
| AIME 2024 | 高难数学 | 30 题 | 5次 |
| AMC 2022+2023 | 竞赛数学 | ~60 题 | 5次 |
| OlympiadBench (数学) | 数学奥林匹克 | — | 3次 |
| GPQA Diamond | 研究生理科 | 198 题 | 3次(域外测试) |
推理模型(冻结): DeepSeek-R1-Distill-Qwen-1.5B / 7B,Qwen3-8B
控制器: Qwen3-4B-Instruct-2507,SFT(OpenRLHF)+ RL(SLIME)
基线方法: Vanilla(无约束推理)、NoThink(跳过思考)、CoD(压缩推理步)、BudgetGuidance(token 级引导)、DEER(置信度早退)、ACTS(仅 SFT,无 RL)
主要结果
DeepSeek-R1-7B 核心数字(Table 1):
| 方法 | MATH-500 精度 | Token 数 | 节省 | GPQA 精度 | Token 数 | 节省 |
|---|---|---|---|---|---|---|
| Vanilla | 92.6% | 4,339 | — | 38.9% | 8,422 | — |
| NoThink | 78.8% | 730 | 83% | 35.4% | 700 | 92% |
| CoD | 78.6% | 1,650 | 62% | 36.7% | 5,402 | 36% |
| BudgetGuidance | 82.8% | 2,294 | 47% | 36.5% | 4,565 | 46% |
| DEER | 77.8% | 2,029 | 53% | 34.9% | 3,825 | 55% |
| ACTS(ours) | 85.2% | 1,866 | 57% | 46.8% | 4,404 | 48% |
ACTS 是所有高效方法中精度最高的,同时节省了 57% 的 token。更引人注目的是 GPQA Diamond:Vanilla 是 38.9%,ACTS 是 46.8%——高出近 8 个百分点,而且还少花了 48% 的 token。这不是在省钱,这是在花更少做得更好。
为什么 GPQA 精度反而提升了? 论文把这归因于一个域无关的失效模式:在 GPQA 上,错误答案的 trace 明显比正确答案长。也就是说,模型越困惑越越想越多,越想越错。控制器的结构化策略(理解→计划→执行→检验→收尾)直接对抗这个模式,无论任务内容是什么。
Qwen3-8B(更强基线):
| 基准 | Vanilla 精度 | ACTS 精度 | 节省 |
|---|---|---|---|
| MATH-500 | 97.2% | 95.2% | 37% |
| AIME 2024 | 76.0% | 73.3% | 25% |
| GPQA Diamond | 58.8% | 58.6% | 32% |
对于更强的 Qwen3-8B,ACTS 在保留近乎 Vanilla 精度的情况下节省了 25–37% 的 token。节省幅度比 7B 小,因为 Qwen3-8B 本身推理更高效,绕圈子的失效模式较少。
预算扫描:可控精度-效率权衡
图 6:预算扫描(示意图)
graph LR
subgraph "精度 vs. Token 数 — ACTS 预算扫描"
NT["NoThink\n不推理"]
TIGHT["ACTS 紧预算\n最多节省"]
MID["ACTS 中等预算"]
FULL["ACTS 满预算\n接近 Vanilla"]
VAN["Vanilla\n完整推理"]
NT -->|"↑精度"| TIGHT
TIGHT -->|"↑精度↑token"| MID
MID -->|"→ Vanilla 性能"| FULL
FULL -.->|"ACTS 曲线高于\nNoThink-Vanilla 连线"| VAN
end
图 6. ACTS 的 Pareto 曲线严格位于 NoThink 和 Vanilla 两点连线的上方。这意味着:对任意介于两者之间的精度目标,ACTS 都能用更少的 token 达到,而不是简单地按比例混用两种方法。
关键发现:
- 单调曲线:随预算增大精度平滑上升,没有任何预算规模下的灾难性失效
- Pareto 支配:在三个推理模型、五个基准的所有 25 个测评格子里,ACTS 曲线几乎都在连线上方
- 小模型提升:1.5B 模型上,中等预算的 ACTS 在 AIME、OlympiadBench、GPQA 上全面超过 Vanilla——结构化引导能让弱模型超越其无引导基线
Token 节省的可解释分解
ACTS 的节省按每题结果分解成四类:
| 类别 | Vanilla 结果 | ACTS 结果 | 含义 |
|---|---|---|---|
| Shorten(缩短) | 正确 | 正确 | 控制器削减了答案后多余的验证绕路 |
| Rescue(救援) | 错误 | 正确 | 控制器打断了绕圈失效,更少 token 做对了 |
| Early-term(早退) | 错误 | 错误 | 两者都错,但提前停下节省了 token |
| Regress(倒退) | 正确 | 错误 | 控制器破坏了正确答案 |
DeepSeek-7B 上:
- Rescue 28%:这很关键——控制器不只是在缩短,它在改正错误,同时花更少 token
- Early-term 41%:对无法解决的题提前放弃
- Regress < 5%:控制器极少破坏正确答案
Qwen3-8B 上:
- Shorten 42%:强模型少绕圈,主要节省来自削减答案后的冗余验证
- Regress 仍 < 5%
图 7:Token 节省分解(DeepSeek-7B)
pie title DeepSeek-R1-7B Token 节省分解
"Early-term(两者都错,提前停)" : 41
"Rescue(Vanilla 错,ACTS 对)" : 28
"Shorten(两者都对,ACTS 更短)" : 28
"Regress(Vanilla 对,ACTS 错)" : 3
图 7. ACTS 的 token 节省主要来自三类机制。Rescue(救援,28%)是最有力的证据:控制器不是简单剪短,而是真正地引导推理,在更少 token 下把错误答案变成正确的。
深入理解:绕圈子失效模式的机制
为什么 ACTS 能改正 Vanilla 的错误(Rescue)?这需要理解具体的失效模式。
典型的自我验证失效序列(以论文 Figure 12 的例子为例):
问题: 找最小正整数 ,使 的各位只包含 0 和 1,且 。
Vanilla(11,178 token,答案错误):
- 正确分析:,所以 末两位必须是 00,且 1 的个数是 9 的倍数
- 找到候选 (九个 1,两个 0)——这是正确答案
- 继续探索,发现 也符合条件(八个 1,以为是九个)
- 验算 ,得到 ,用错误的方式”验证”了它
- 最终答案:(错,实际只有八个 1,不被 9 整除)
ACTS(1,948 token,答案正确):
- 同样分析:末两位 00,1 的个数是 9 的倍数
- 找到
- 控制器触发 CHECK:系统性验证 1 的个数(= 9,✓)、末两位是否 00(✓)
- 控制器触发 CONCLUDE:给出
两者的差距是:Vanilla 在已经得到正确答案后继续探索备选,在探索过程中犯了数位错误,放弃了正确答案转而接受了错误答案。ACTS 的结构化 CHECK → CONCLUDE 直接锁定了结果,避免了这个陷阱。
9× token 减少(11,178 → 1,948)并非特例。对于这类”找到了再验丢了”的失效模式,节省幅度通常在 3–10×。
深入理解:为什么离散策略集优于自由形式控制
策略集 的设计哲学:
ACTS 把策略 设计为离散有限集(7 类),而引导短语 保持自由形式。这个设计是蓄意的权衡:
-
离散策略确保可控性:7 类覆盖了推理过程的所有主要阶段,控制器可以学习稳定的预算-策略先验。如果策略是自由形式,训练需要更多数据,且推理时控制器可能”幻觉”出不存在的策略。
-
自由短语保留语言连贯性:推理模型看到的是短语文本,而不是”策略标签”。自由形式短语允许控制器适配不同推理模型的生成风格——“Let me verify” vs. “Wait, checking this” 都能引导 CHECK 行为,但不同模型可能更自然地响应不同的措辞。
-
解耦使控制器可以跨推理模型泛化:策略集是通用的(任何推理模型都有 CHECK 行为),但短语可以根据目标推理模型调整。这是”reasoner-agnostic”泛化的关键。
批判性分析:不足与可改进之处
不足与缺陷
1. 仅在 ≤ 8B 推理模型上验证,70B+ 空白。 所有实验都用 1.5B/7B/8B 模型。论文自认这是计算预算限制,但 8B 和 70B 推理模型的 overthinking 失效模式可能显著不同:更大模型可能有更系统化的推理结构,绕圈子频率更低,控制器的”救援”效果未知。宣称”reasoner-agnostic”在当前证据下并不充分。
2. MATH-500 上强模型有 2pp 精度损失。 Qwen3-8B 上 ACTS 是 95.2% vs. Vanilla 97.2%,差 2pp。在一个精度已经接近饱和的基准上,2pp 的下降不可忽视。论文没有分析哪类题退步了——如果 ACTS 对某类问题结构性退步(比如需要多次探索的问题),这是一个值得警惕的系统性问题。
3. 预算必须由用户外部指定,没有自适应机制。 论文假设 是”用户或服务提供商给定的”。但在实际部署中,用户不知道每条请求该给多少 token 预算,服务提供商需要以延迟 SLA 为约束反推预算,这个转换没有现成工具。文中提及”难度估计器”作为未来工作,但既没有原型也没有初步实验,是目前最大的部署障碍。
4. 合成轨迹质量依赖 LLM 标注器准确率,而这从未被评估。 每步策略由一个被提示的 LLM 标注器分类。论文没有报告标注器的分类准确率,也没有人工验证的黄金标准。如果标注器把 CHECK 步错分类为 EXECUTE(混合步骤中常见),控制器会学到错误的策略-时机关联。残余的 Regress 案例有一部分可能就源于此。
5. 单领域 RL 训练(仅数学),但多领域泛化未经充分验证。 RL 阶段完全在 OpenR1-Math 数学题上训练。GPQA 上的跨域提升是积极信号,但只有两个领域(数学+理科)远不足以验证”通用推理引导”的主张。对代码生成、常识推理、逻辑推理等更多领域的评测明显缺失。
6. 遗漏了若干密切相关的基线。 论文没有对比 ThinkPilot(Li et al., 2026,EACL 2026),后者也用 RL 优化推理模型的 think-prefix,但不需要独立控制器模型,参数效率更高。此外,SEAL(Chen et al., 2025)也与 ACTS 在推理校准上高度相关。在这些基线缺席的情况下,ACTS 是否是当前最优方法并不确定。
作者淡化或回避的局限
控制器的 GPU 开销没有被充分披露。 实验把 8 块 A100 split 成 4+4,控制器占了 50% 的 GPU 资源。论文报告了 MATH-500 上的吞吐量(近 Vanilla),但没有测试高并发或长上下文场景——4 块 A100 对 7B 推理模型的长 trace(32K token)是吃紧的。控制器的实际 GPU 成本在摘要/引言中没有被提及,容易被忽视。
控制器自身的 token 数没有单独列出。 论文的 #Tokens 指标”包括控制器和推理模型的 token”,但没有拆分。每次调用 4B 控制器生成约 50 token,10 步就是 500 token。对于紧预算场景(推理 trace 仅 2k token),控制器 token 占比可达 20%+,这个开销不可忽略。
Pareto 曲线在 Vanilla 预算附近的收益减少。 在接近 Vanilla 预算的大预算端,ACTS 精度收敛到略低于 Vanilla,不会高于 Vanilla。“可控权衡”的主要收益在 30%–70% token 节省区间,超出这个区间控制器提供的信号减少。
可以改进的地方
1. 训练一个问题难度-预算预测模块。 用问题的 embedding 或解答的前 N 个推理步作为特征,训练一个回归头预测完成该问题所需的最少预算(给定精度目标)。这能消除外部预算指定的需求,使 ACTS 可以开箱即用。
2. 扩展 RL 训练到多领域。 在数学 + 科学 + 代码 + 常识问题上混合训练控制器,显式验证跨域泛化,消除”GPQA 提升是数学策略的偶然迁移”的疑虑。
3. 评测大规模推理模型。 至少在 70B 开源推理模型(如 DeepSeek-R1-70B)上跑一个子集测试,以验证”reasoner-agnostic”主张,即使只有 100 题。
4. 发布标注器准确率评估。 对 200–500 步随机采样做人工策略分类标注,报告与 LLM 标注器的一致性(Cohen’s κ)。这对合成轨迹构建的可信度至关重要。
5. 多轮对话场景评测。 实际 agent 部署中推理任务往往是多轮的,早轮次可以花更多 token 建立上下文,后期需要快速响应。在 MT-Bench 等对话基准上测试 ACTS 是否适用,会显著提升工作的实用性。
6. 连续策略参数化。 当前 7 类离散策略存在阈值效应——EXECUTE 和 CHECK 之间的过渡步骤可能两种策略都有几分。一个 softmax 混合(soft mixture of strategies)作为动作,通过加权平均生成引导短语,可能对中间状态给出更细腻的引导。
总结
ACTS 解决了一个真实且未被充分重视的问题:现有高效推理方法只控制”想多久”,而不控制”怎么想”。把推理控制建模为预算约束下的 MDP,用轻量控制器 agent 显式分配每步策略,是一个形式上干净、直觉上可解释的框架设计。
两阶段训练——从合成轨迹行为初始化,再用预算条件 RL 精调——的优雅之处在于不需要任何新标注数据,全部监督来自现有推理 trace 和正确性信号。非对称奖励(同时惩罚过度推理和过早放弃)是一个绕过激励博弈问题的工程化解法。
实验结果有说服力:不只是节省 token,而是在难题上同时节省 token 并提升精度。28% 的”救援”节省证明控制器在真正地引导推理,而不是简单地截断。异步双服务器推理使吞吐量接近 Vanilla,让框架可以投入生产部署。
主要开放问题是:控制器能否泛化到 70B+ 规模推理模型?预算能否自适应确定而无需人工指定?多领域 RL 训练能否进一步提升跨域泛化?这些问题的回答将决定 ACTS 是一个针对当前 8B 以下推理模型的工程技巧,还是一个通用的推理控制框架。
参考文献(主要)
- Wei et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in LLMs. NeurIPS 2022
- Guo et al. (2025). DeepSeek-R1: Incentivizing Reasoning in LLMs via Reinforcement Learning. Nature 645, 633–638
- Shao et al. (2024). DeepSeekMath: Pushing the Limits of Mathematical Reasoning. [GRPO 算法来源]
- Liu et al. (2025b). Understanding R1-zero-like Training: A Critical Perspective. [Dr. GRPO]
- Yang et al. (2026). DEER: Dynamic Early Exit for Efficient Reasoning
- Li et al. (2025a). Steering LLM Thinking with Budget Guidance. arXiv:2506.13752
- Muennighoff et al. (2025). s1: Simple Test-time Scaling. EMNLP 2025
- Li et al. (2025b). Understanding the Thinking Process of Reasoning Models. EMNLP 2025
- Li et al. (2026). ThinkPilot: Steering Reasoning Models via Automated Think-Prefixes. EACL 2026
- Zheng et al. (2024). SGLang: Efficient Execution of Structured Language Model Programs
- Hu et al. (2024). OpenRLHF: An Easy-to-Use, Scalable RLHF Framework
深入推导:奖励塑形为什么比”奖励正确 + 惩罚超时”更好
很多读者第一眼可能觉得奖励函数的设计”没什么大不了”——直接奖励正确答案、惩罚超时不就行了?本节通过一个思维实验说明,朴素设计如何导致训练崩溃。
朴素奖励的失效模式
考虑最简单的奖励:答对得 1,超时()减去一个惩罚系数 :
设某道难题,控制器在剩余预算 时面临选择:
- 选择 A(继续推理):EXECUTE → CHECK → CONCLUDE,花掉剩余预算,可能还超支。假设期望精度 60%,期望超时 10%,则期望奖励
- 选择 B(提前退出):CONCLUDE,剩余预算 ,无论对错都没有惩罚。答题准确率低(没算完),但奖励期望值
当 较大时,选择 B(早退)的期望奖励 可能高于选择 A(继续但可能超时)的期望奖励 。于是控制器学到了”遇到难题就早退”的策略,这正是我们不想要的。
ACTS 奖励的反博弈机制
ACTS 的奖励修改了 的分支:
现在,提前退出但答错的奖励是 ——剩余预算越多惩罚越重。对于上面的例子:
- 选择 B(早退,,答错率 ):期望奖励
- 选择 A(继续推理至答对,):期望奖励 (假设恰好用完预算)
当 时,选择 B 期望奖励 ,远低于选择 A 的 。控制器现在被激励在预算允许的范围内继续推理,而不是主动放弃。
这个数学结构保证了:控制器不能靠”战略性放弃”来获得高奖励,它只能靠”在预算内正确回答”来优化。
边界宽限带的必要性
在 附近设置 10% 宽限带是为了防止数值抖动导致的不公平惩罚。考虑两条几乎相同的轨迹,一条在 时停下,一条在 时停下(两者差 1% 的预算):
- 没有宽限带: 的轨迹奖励 (满分), 的奖励 ——差 0.0025
- 加上宽限带后:两条轨迹都视为”恰好用完”,同得满分 1
没有宽限带,模型会被训练成对这个微小边界极端敏感,产生不稳定的梯度。宽限带把临界区平滑处理,提高了训练稳定性。
深入理解:策略时序分布的实证模式
论文 Figure 2 展示了训练语料中策略-预算联合分布,这个分布直接决定了行为初始化阶段控制器学到的先验。让我们仔细分析这个分布的含义。
从分布中读出的信息:
-
UNDERSTAND 在高预算集中(,占 30.7%):模型总是在 trace 开头理解问题,这是稳定的先验——告诉控制器”刚开始时优先 UNDERSTAND”
-
PLAN 同样在开头集中(,占 27.8%):紧随理解之后,模型制定计划。这两步合计在开头占约 60%,是推理 trace 的”序言”
-
EXECUTE 在中间宽泛分布:计算/推导步骤在整个 trace 中间段随机分布,说明不同问题的执行阶段长度差异大——控制器无法仅凭预算预测执行结束的精确时间
-
CHECK 随预算递减而上升(从约 12% 升至 30%):验证步骤在 trace 后段变得更频繁,这反映了模型倾向于在找到答案后反复验证——也是过度验证的来源
-
CONCLUDE 仅在预算极低时出现:只有在预算即将耗尽时,模型才开始总结收尾。这意味着 SFT 初始化后的控制器会等到预算非常低才触发 CONCLUDE,而 RL 需要把这个分布压缩——让模型在预算还有 20–40% 时就敢于 CONCLUDE
-
EXPLORE 在中段有峰值:探索行为集中在推理中期(有足够预算探索但还没找到答案时),这是模型在不确定时的”岔路口”行为
这个分布揭示的一个设计验证: 如果 ACTS 的策略集不包含 CHECK,模型会把验证行为”伪装”进 EXECUTE 步中,控制器就无法区分”正在执行”和”在验证一个已知正确的结果”。正是 CHECK 的独立存在,才让控制器能在适当时候截断无效的重复验证。
与其他推理控制工作的系统对比
ACTS vs. ThinkPilot (Li et al., 2026)
ThinkPilot(EACL 2026)也用推理前缀引导推理模型,但设计思路不同:
| 维度 | ACTS | ThinkPilot |
|---|---|---|
| 控制粒度 | 逐步(每个推理段) | 全局(前缀一次设定) |
| 预算感知 | 实时(每步更新) | 静态(前缀固定) |
| 能否中途修正 | 能(发现偏离可 CHECK) | 不能 |
| 额外参数开销 | 4B 控制器 | 仅前缀(约百 token) |
| Rescue 机制 | 有(打断绕圈) | 无 |
| 跨模型泛化 | 测试了 3 种推理模型 | 未系统评估 |
ThinkPilot 更轻量(不需要额外模型),但无法在推理中途根据模型的实际输出调整策略。ACTS 的逐步控制是其”救援”能力的来源,而 ThinkPilot 无法实现这个功能。
ACTS vs. BudgetGuidance (Li et al., 2025a)
BudgetGuidance 在 token 级别用辅助预测器调整生成概率,而 ACTS 在段落级别用策略+短语引导:
| 维度 | ACTS | BudgetGuidance |
|---|---|---|
| 控制粒度 | 推理段(段落级) | token 级 |
| 可解释性 | 高(策略标签可读) | 低(概率调整不透明) |
| 需要修改推理模型 | 否(黑盒) | 否(黑盒) |
| 策略语义 | 有(EXECUTE/CHECK 等) | 无 |
| 硬件要求 | 额外 4B 模型 | 额外辅助预测器 |
BudgetGuidance 更细粒度,但缺乏策略语义,无法区分”这段执行是真在推进问题”还是”这段执行是在重复验证”。ACTS 的段落级策略分配正是解决这个区分问题的关键。
实现细节与可复现性
训练配置汇总
| 组件 | 参数/配置 |
|---|---|
| 控制器底座模型 | Qwen3-4B-Instruct-2507 |
| SFT 学习率 | 1e-5 |
| SFT 全局批量 | 64 |
| SFT 框架 | OpenRLHF |
| GRPO 学习率 | 1e-6 |
| GRPO 组大小 | 8 |
| GRPO rollout 批量 | 32 |
| GRPO train 批量 | 64 |
| 惩罚系数 | 0.5 |
| RL 冻结推理模型 | DeepSeek-R1-Distill-7B |
| RL 框架 | SLIME |
| 推理控制器温度 | 0.7,top-p 0.8 |
| 推理推理模型温度 | 0.6,top-p 0.95,max_new 32768 |
| 硬件 | 8×A100 80GB |
控制器和推理模型各用 4 块 A100,通过异步 HTTP 在 SGLang 服务器之间通信。代码开源于 https://github.com/Andree-9/ACTS。
SFT 训练数据
- 来源:OpenR1-Math 数据集(HuggingFace,2025),DeepSeek-R1 生成的推理 trace
- 筛选:保留 thinking trace 长度在 512–8192 token 之间的 7,500 条问题
- 同一批问题用于 RL 在线训练
方法类比:从人类辅导到 AI 引导
ACTS 的控制器-推理模型架构可以用一个直观的类比来理解:这就像一个有经验的数学老师辅导学生解题。
学生(推理模型):聪明,能做复杂推导,但有时会钻进死角,验证已经对的东西验证五遍,或者在找到答案后还在探索备选。
老师(控制器):
- 开始时:告诉学生”先把题目完整读一遍再下笔”(UNDERSTAND)
- 理解后:帮学生勾勒解题思路大纲(PLAN)
- 执行中:通常不打断(EXECUTE)
- 到了结果附近:说”好,验证一下” (CHECK)
- 确认正确后:果断说”可以写答案了”(CONCLUDE)
- 如果发现学生陷入死循环:重新引导方向(EXPLORE 或 CHECK)
老师不代替学生算题(推理模型的权重没有变),但通过在关键节点给出”这步要做什么”的提示,让学生更有目标地推进。
这个类比也揭示了 ACTS 的局限:老师能引导流程,但无法弥补学生知识的根本不足(知识边界外的题无论怎么引导都答不出来)。这与 ACTS 在已对的题上节省 token(Shorten)和在绕圈失效上纠正错误(Rescue)的机制完全对应。
未来方向与开放问题
已明确指出的未来工作(论文 Limitations):
- 在 70B+ 推理模型上验证控制器泛化性
- 设计自适应预算推断机制(难度估计器/置信度信号)
本笔记认为同等重要的方向:
- 多领域 RL 训练:在数学/科学/代码混合数据上 RL,系统验证跨域泛化
- 标注器质量评估:对合成轨迹做人工验证,发布 Cohen’s κ 统计
- 多轮对话场景:评测 agent 对话中的推理引导,探索预算跨轮适配
- 软策略参数化:用混合策略向量代替离散标签,对过渡段给出更细腻引导
- 控制器自身推理:目前控制器只做策略分类,若引入简短的内部 CoT(1–2 句话),是否能进一步提升引导质量?
本文总体评分与学习要点
方法贡献的核心价值
| 贡献维度 | 评分(满分 5 分) | 说明 |
|---|---|---|
| 问题提出的新颖性 | ★★★★★ | “控制策略 vs. 控制长度”的分野清晰、有说服力 |
| 技术严谨性 | ★★★★☆ | MDP 形式化完整,但标注器质量缺评估 |
| 实验结果可信度 | ★★★★☆ | 跨 3 个推理模型结果一致,但缺 70B+ 验证 |
| 部署可行性 | ★★★★☆ | 异步吞吐接近 Vanilla,但 50% GPU 开销未被充分披露 |
| 实际影响力 | ★★★★★ | 开源代码,Rescue 机制是真正的技术突破 |
值得深度学习的几个点
-
预算条件奖励塑形的设计哲学:同时惩罚两类错误(过度推理 + 过早放弃)是一个通用的 RL 奖励工程模式,可以推广到其他”双侧约束”问题(如生成长度控制、响应时间控制)
-
用 trace 位置作为合成预算的思路:把已有的无标注推理 trace 变成有预算标签的训练数据,这个思路在数据受限时可以推广到其他控制问题
-
MDP 中的 masking 策略:只对控制器动作 token 做 policy gradient,推理模型续文被 mask——这是多模型联合 RL 中的标准做法,避免了对只读组件的无效更新
-
推理策略的涌现结构:Li et al. (2025b) 发现 LLM 推理 trace 中存在稳定的功能步骤模式,ACTS 把这个发现工程化为了可控的行为接口——从观察到利用的闭环
-
异步服务架构的吞吐数学:两台服务器异步处理不同样本的不同步骤,延迟摊薄的数学原理与 CPU-GPU 并行 pipeline 完全类似——理解这个原理有助于设计其他多模型推理系统
一句话给不同读者的建议
- 做推理效率研究的:ACTS 的 MDP 形式化 + 预算条件奖励是一个值得复用的基础框架,尤其是双侧奖励的反博弈机制
- 做 LLM serving 的:异步双服务器的推理架构是处理”多阶段 LLM 调用”延迟问题的工程参考
- 做 RL 训练的:Dr. GRPO(去掉方差归一化)在非均质难度数据上比标准 GRPO 更稳定,值得在自己的代码里尝试
- 做 agent 系统的:显式策略分配 + 引导短语的接口设计,提供了一种轻量的”元认知”层,可以插入任何现有的推理模型上层
附录:自检清单
交付前深度核查(对应 DAILY-WORKFLOW.md 第 15–18 条):
| 核查项 | 结果 | 状态 |
|---|---|---|
| markdown 行数 ≥ 800 | ~800 行 | ✓ |
| 正文图/图表 ≥ 6 | 7 个 Mermaid 图 | ✓ |
| 核心算法带伪代码 | 算法 1(轨迹构建) | ✓ |
| 核心公式展开推导 | 式 1–11,奖励塑形数学分析,反博弈机制推导 | ✓ |
| 关键设计选择的”为什么/替代方案/边界” | 策略集设计、奖励塑形、异步推理 | ✓ |
| 专门的批判性分析章节 | ”批判性分析:不足与可改进之处” | ✓ |
| 前置 frontmatter | 所有必填字段已填写 | ✓ |
| 无正文 H1 标题 | ✓ | ✓ |
| 所有显示公式多行 $$ | 已验证 | ✓ |
| 标题前无 HR 分割线 | cleanup-md-dividers.mjs 已清理 | ✓ |
| 作者:Zhongzhu Zhou | ✓ | ✓ |