ACTS: Steering How LLMs Reason, Not Just How Long

Review date: 2026-06-29 Review author: Zhongzhu Zhou Paper reviewed: Agentic Chain-of-Thought Steering for Efficient and Controllable LLM Reasoning Paper authors: Yu Xia, Zhouhang Xie, Xin Xu, Byungkyu Kang, Prarit Lamba, Xiang Gao, Julian McAuley arXiv: 2606.03965, 2 June 2026 Status / Venue: Preprint (cs.CL, 2026)

Short Answer

Modern reasoning LLMs (like the DeepSeek-R1 family) improve accuracy by thinking through problems in long chain-of-thought traces — but they often spend those tokens wastefully: re-deriving answers they already found, oscillating between strategies, or refusing to stop once they are correct. Current “efficient reasoning” methods address this by controlling how long the model thinks (cut the trace short, compress it, or force-stop it). ACTS takes a different angle: it controls how the model thinks, step by step, using a lightweight controller agent that assigns a reasoning strategy to each step under a token budget.

The controller is a separate Qwen3-4B model trained in two stages — first supervised fine-tuning on synthetic steering trajectories, then RL with budget-conditioned reward shaping. At inference time, the controller and the frozen 7B–8B reasoner run as two asynchronous servers, and the added latency from controller calls is essentially zero. Results: ACTS matches Vanilla accuracy at 57% fewer tokens on MATH-500 with DeepSeek-R1-7B, and surpasses full-thinking performance on AIME and GPQA by steering the model away from confusion spirals, all at substantially lower cost.

Prerequisites

This section builds the background knowledge needed to follow the ACTS paper in detail. If you are already comfortable with LLM reasoning, MDPs, and policy gradient, feel free to skip to the method section.

Chain-of-Thought Reasoning

Chain-of-thought (CoT) prompting (Wei et al., 2022) asks a language model to “think out loud” before producing the final answer. Instead of mapping question → answer in one step, the model generates a sequence of intermediate reasoning steps: question → ⟨think trace⟩ → answer. The thinking trace can involve decomposing the problem, setting up intermediate computations, checking results, and exploring alternatives.

Modern reasoning-focused models like DeepSeek-R1, QwQ, and o1/o3 are specifically trained with RL to allocate substantial test-time compute to the thinking trace. Empirically, longer traces correlate with higher accuracy on hard tasks. The regime is sometimes called test-time scaling: more tokens spent in the <think> block translates to higher benchmark scores.

The Overthinking Problem

The trouble is that reasoning traces grow well beyond what the task requires. On a simple arithmetic problem, a 7B model might spend 4,000 tokens thinking when 500 would suffice — re-checking each step multiple times, exploring irrelevant alternatives, and generating redundant summaries. This waste is not accidental: the model was trained to associate longer traces with correctness, so it has learned to over-generate. In aggregate, overthinking inflates inference cost by 3–10× over what a clean, focused trace would require.

More subtly, overthinking can harm accuracy. When the model finds the correct candidate early but then keeps exploring, it sometimes incorrectly self-corrects a right answer into a wrong one. This is visible in ACTS Figure 5: “Rescue” savings (28% on DeepSeek-7B) represent problems where the controller saves tokens and simultaneously fixes an answer that Vanilla got wrong by overthinking.

Prior Work: Controlling Thinking Length

Before ACTS, the dominant paradigm for efficient reasoning was about length control:

  • Prompt-level brevity (Nayab et al., CoD): add a prefix like “be concise” or “use at most 512 tokens”
  • Budget forcing (Muennighoff et al., s1): count tokens during generation and inject a </think> token once the budget is exhausted, forcing early termination
  • Confidence-based early exit (DEER, Yang et al.): probe the model’s answer confidence at every reasoning-transition token; stop if it is high enough
  • RL length penalties (L1, ThinkPrune): add an explicit token-count penalty to the reward during RL training
  • Auxiliary predictors (BudgetGuidance, Li et al.): a lightweight side-model guides token-level generation toward a target length

All of these control the quantity of thinking, but leave the quality of each step implicit. ACTS is the first framework to expose what strategy the model applies at each step as an explicit, learnable control surface.

Markov Decision Processes (MDPs)

An MDP is the standard formalism for sequential decision-making under state uncertainty. It is defined by the tuple (S,A,T,R,γ)(S, A, T, R, \gamma):

  • SS: state space
  • AA: action space
  • T(ss,a)T(s' \mid s, a): transition distribution — the probability of reaching state ss' from state ss under action aa
  • R(s,a)R(s, a): reward function
  • γ\gamma: discount factor (often γ=1\gamma = 1 for finite-horizon problems)

A policy π(as)\pi(a \mid s) maps states to distributions over actions. The goal is to find π=argmaxπEπ[tR(st,at)]\pi^* = \arg\max_\pi \mathbb{E}_\pi [\sum_t R(s_t, a_t)].

ACTS uses an undiscounted finite-horizon MDP (γ=1\gamma = 1, horizon = number of reasoning steps), where the state encodes the full reasoning history and the action is a (strategy, steering-phrase) pair.

Group Relative Policy Optimization (GRPO)

GRPO (Shao et al., 2024) is the RL algorithm used to train DeepSeek-R1 and its successors. It is a policy gradient method that avoids a separate value network by computing advantages within a group of GG trajectories sampled for the same question:

Ai=RiRˉ,Rˉ=1Gi=1GRi(1)A_i = R_i - \bar{R}, \quad \bar{R} = \frac{1}{G} \sum_{i=1}^{G} R_i \tag{1}

The advantage AiA_i for trajectory ii measures how much better it performed than the group average. The policy gradient update then encourages actions from high-advantage trajectories and discourages actions from low-advantage ones. ACTS uses a variant called Dr. GRPO (Liu et al., 2025b) which removes the standard-deviation normalization term from the original GRPO, eliminating a bias that otherwise makes short or easy trajectories appear spuriously high-advantage.

Background: What Does a Reasoning Step Look Like?

Before formalizing ACTS, it helps to understand the internal structure of a typical reasoning trace. Li et al. (2025b) and Xiong et al. (2025) analyzed thousands of DeepSeek-R1 traces and found that they consistently exhibit a small set of recurring functional step types:

Step typeDescriptionExample opening phrase
UnderstandParse and re-state the problem”Okay, let me understand what we need…”
PlanOutline a high-level approach”I’ll break this into two sub-problems…”
ExecuteCarry out a specific computation”Let me compute the integral…”
ExploreTry an alternative or branch”Alternatively, suppose that…”
CheckVerify an intermediate or final result”Wait, let me verify this…”
SummarizeRecap what has been established”So far I have shown that…”
ConcludeProduce the final answer”Therefore the answer is…”

These are not labeled in the trace text — they emerge from the semantic content of each paragraph. When a model “overthinks,” it typically over-applies Check (re-verifying an already-correct result many times) or Explore (branching into alternatives after it has already found the answer).

ACTS makes this taxonomy explicit and uses it as the action space for the controller.

The ACTS Framework

Figure 1: System Architecture

graph TD
    Q["Question + Budget B"]
    C["Controller Agent (Qwen3-4B)\nπ_θ"]
    R["Frozen Reasoner (7B/8B)\nρ"]
    H["Steering History H_t\n(question, actions, steps, budgets)"]

    Q --> C
    H --> C
    C -->|"Steering Action a_t=(u_t, p_t)\nStrategy + Phrase"| R
    R -->|"Reasoning Step z_t"| H
    H -->|"Budget update b_t"| C
    R -->|"CONCLUDE or budget exhausted"| ANS["Answer Generation"]
    ANS --> OUT["Final Answer ŷ"]

    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

Figure 1. ACTS system overview. The controller agent reads the accumulated steering history and emits a (strategy, steering-phrase) pair at each step. The frozen reasoner generates the next reasoning step conditioned on the phrase. The history grows with each step and budget is decremented accordingly.

MDP Formulation

We now describe ACTS formally. Given a question xXx \in \mathcal{X} and a thinking-token budget BN+B \in \mathbb{N}^+, the reasoning process is modeled as a finite-horizon MDP.

State. At reasoning step tt, the state is the full steering history:

Ht=(x, b0, a1,z1,b1, , at,zt,bt)(2)H_t = (x,\ b_0,\ a_1, z_1, b_1,\ \ldots,\ a_t, z_t, b_t) \tag{2}

where bt[,1]b_t \in [-\infty, 1] is the remaining budget fraction at step tt, initialized to b0=1.0b_0 = 1.0 (100%). The initial state is H0=(x,b0)H_0 = (x, b_0).

Action. At each step the controller samples:

at=(ut,pt)πθ(Ht1)(3)a_t = (u_t, p_t) \sim \pi_\theta(\cdot \mid H_{t-1}) \tag{3}

where utU={UNDERSTAND,PLAN,EXECUTE,EXPLORE,CHECK,SUMMARIZE,CONCLUDE}u_t \in \mathcal{U} = \{\text{UNDERSTAND}, \text{PLAN}, \text{EXECUTE}, \text{EXPLORE}, \text{CHECK}, \text{SUMMARIZE}, \text{CONCLUDE}\} is the high-level reasoning strategy, and ptp_t is a short free-form natural-language steering phrase that “opens” the next reasoner step — for example, “Wait, let me verify this.” for CHECK or “Alternatively, suppose” for EXPLORE.

The key insight behind this two-part action is decoupling: the strategy utu_t conveys the high-level intent (what to do), while the phrase ptp_t conveys the linguistic form (how to enter that step). The reasoner is not told “apply CHECK strategy” — it just sees the phrase and continues naturally in its own generation style.

Transition. Conditioned on the question xx, the previous thinking trace z<tz_{<t}, and the steering phrase ptp_t, the frozen reasoner generates the tt-th reasoning step:

stρ(x, z<t, pt)(4)s_t \sim \rho(\cdot \mid x,\ z_{<t},\ p_t) \tag{4}

The full step is zt=ptstz_t = p_t \circ s_t (phrase prepended to continuation). The budget is then decremented:

bt=bt1(zt)B(5)b_t = b_{t-1} - \frac{\ell(z_t)}{B} \tag{5}

where ()\ell(\cdot) counts thinking tokens. When bt<0b_t < 0, the budget has been exceeded.

The steering history is updated: Ht=(Ht1,at,zt,bt)H_t = (H_{t-1}, a_t, z_t, b_t).

Termination. An episode terminates when:

  1. The controller selects ut=CONCLUDEu_t = \text{CONCLUDE},
  2. The reasoner emits the end-of-thinking token </think>, or
  3. A maximum step count is reached.

After termination, the full thinking trace zT=z1zTz_{\leq T} = z_1 \circ \cdots \circ z_T is fed back to the reasoner for answer generation, yielding y^\hat{y}.

Terminal Reward. The reward for a complete steering trajectory τ=(x,b0,a1,z1,b1,,aT,zT,bT)\tau = (x, b_0, a_1, z_1, b_1, \ldots, a_T, z_T, b_T) is evaluated at termination:

R(τ,y^)=f(c,bT)(6)R(\tau, \hat{y}) = f(c, b_T) \tag{6}

where c=1[y^=y]c = \mathbf{1}[\hat{y} = y^*] is answer correctness. The function ff is specified by the budget-conditioned reward shaping in Section 3.

Figure 2: MDP State-Action-Transition

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 or budget exhaust
    TERM --> ANSWER: Run reasoner answer generation
    ANSWER --> [*]: Reward R(τ, ŷ)

Figure 2. MDP episode structure. Each state HtH_t captures the full history to date. The controller’s action triggers a reasoner step that advances the state and depletes the budget.

Two-Stage Training

Stage 1: Behavior Initialization via Synthetic Trajectory Construction

The controller needs to know, given a budget and a partial reasoning trace, which strategy to apply next. The challenge: existing reasoning trace datasets contain only the reasoner’s chain of thought — there are no controller actions labeled.

ACTS solves this by constructing the controller action sequence from an expert trace, treating the trace’s own length as the budget signal.

Step-by-step construction algorithm

Algorithm 1: Synthetic Steering Trajectory Construction

Input: Expert reasoning trace R, expert thinking-token count len(R)
       LLM annotator M, strategy vocabulary U
Output: Steering trajectory τ

1. SEGMENT: Split R into reasoning steps z_1, ..., z_K
   by paragraph boundaries (e.g., ".\n\n", "?\n\n")

2. SET synthetic budget B := len(R)  // trace length becomes the budget

3. FOR t = 1 to K:
   a. ANNOTATE: prompt M to classify strategy u_t ∈ U for step z_t
   b. EXTRACT: extract opening phrase p_t from z_t
      (e.g., first sentence up to a comma or period)
   c. COMPUTE step budget usage: Δ_t = ℓ(z_t) / B
   d. UPDATE remaining budget: b_t = b_{t-1} - Δ_t
   e. RECORD: (b_t, a_t=(u_t, p_t), z_t) into trajectory τ

4. DROP trajectory if it exhibits trivial looping:
   same (u_t == u_{t-1}) AND (p_t == p_{t-1}) for consecutive steps

5. RETURN τ

This construction produces a trajectory where the controller action ata_t encodes the implicit strategy a skilled reasoner was already applying, and the budget fraction btb_t encodes how far through the trace each step occurred.

The budget as a proxy for reasoning phase

A key empirical observation from the synthetic corpus (Figure 2 in the paper, described in the text) is that different strategies concentrate in different budget windows, despite the traces being generated without any budget conditioning:

  • UNDERSTAND/PLAN dominate at bt100%b_t \approx 100\% (trace opening) — as expected, the model first processes and plans
  • EXECUTE holds a broad middle band (bt40%b_t \approx 40\%80%80\%) — the bulk of computation
  • CHECK rises through the mid-to-late range (bt20%b_t \approx 20\%50%50\%) — verification happens after execution
  • SUMMARIZE/CONCLUDE concentrate near budget exhaustion

This natural progression means that when we anchor the synthetic budget axis to trace position, the behavior-initialization stage transfer this temporal structure into the controller as a prior over when each strategy should fire under a given budget.

Multi-Budget Augmentation

A trajectory constructed with B=len(R)B = \text{len}(R) always ends at bT=0b_T = 0 (budget exactly exhausted). This means the controller sees only one termination regime during training: the trace ending naturally at budget exhaustion. To improve generalization across budget values, each trajectory is augmented by re-scaling the budget:

  • Early termination (0<bT40%0 < b_T \leq 40\%): multiply all (zt)\ell(z_t) by a random scale factor >1> 1, so the trace terminates with significant budget remaining
  • Exhausted budget (bT=0b_T = 0): the original trajectory (no modification)
  • (implicitly) fractional exhaustion at different scales via random scaling

This multi-budget augmentation exposes the controller to the full range of user-specified budget scenarios and question difficulties it will encounter at deployment.

SFT Objective

Let D={τ(i)}i\mathcal{D} = \{\tau^{(i)}\}_i be the corpus of synthetic steering trajectories (7,500 questions from OpenR1-Math). The controller πθ\pi_\theta is initialized by minimizing the negative log-likelihood of the controller’s actions:

LSFT(πθ)=EτD[t=1Tlogπθ(atHt1)](7)\mathcal{L}_{\text{SFT}}(\pi_\theta) = -\mathbb{E}_{\tau \sim \mathcal{D}} \left[ \sum_{t=1}^{T} \log \pi_\theta(a_t \mid H_{t-1}) \right] \tag{7}

This is a standard language model cross-entropy loss over the controller’s action tokens — strategy label utu_t and steering phrase ptp_t — given the full preceding context Ht1H_{t-1}. The reasoner continuation tokens sts_t are masked out from the loss; only the controller turn is supervised.

Stage 2: Online Reinforcement Learning

After SFT, the controller has learned a reasonable prior over strategies and timing. But the SFT policy was derived from expert traces that didn’t have any budget constraint — it may not correctly balance accuracy and budget compliance at deployment budgets that differ from the training budget. RL corrects this by directly optimizing the shaped reward.

Budget-Conditioned Reward Shaping

The core challenge in reward design: if we simply add a penalty for over-budget trajectories to an accuracy reward, the controller can game it by terminating early — giving up on the answer to avoid the budget penalty. We need a reward that penalizes both overthinking (over-budget + correct) and premature termination (under-budget + incorrect).

Recall that bT[,1]b_T \in [-\infty, 1]. When bT>0b_T > 0, budget is underused (terminated early with leftover budget). When bT<0b_T < 0, budget is exceeded.

The shaped reward is:

R(τ,y^)={1+αmin(bT, 0)if c=1(correct answer)αbTif c=0(incorrect answer)(8)R(\tau, \hat{y}) = \begin{cases} 1 + \alpha \cdot \min(b_T,\ 0) & \text{if } c = 1 \quad (\text{correct answer}) \\ -\alpha \cdot |b_T| & \text{if } c = 0 \quad (\text{incorrect answer}) \end{cases} \tag{8}

where α[0,1]\alpha \in [0, 1] is the penalty coefficient (set to 0.50.5 in experiments). Let us unpack each case:

Correct answer (c=1c = 1): The base reward is 11. If bT0b_T \geq 0 (used at most the budget), the reward is simply 11 — full credit for being correct. If bT<0b_T < 0 (over-budget), the reward is 1+αbT<11 + \alpha \cdot b_T < 1 — correct but penalized proportionally to excess. As excess grows, the reward decays from 11 toward 1α=0.51 - \alpha = 0.5. This discourages overthinking while preserving the correct-answer signal.

Incorrect answer (c=0c = 0): The base reward is 00. The shaped reward is αbT-\alpha \cdot |b_T|. Two sub-cases:

  • Over-budget + wrong: bT<0b_T < 0, so bT=bT|b_T| = |b_T|, and reward = αbT<0-\alpha |b_T| < 0 — penalized for running over budget without solving the problem
  • Under-budget + wrong: bT>0b_T > 0 (leftover budget, but incorrect), so bT=bT>0|b_T| = b_T > 0, and reward = αbT<0-\alpha b_T < 0 — penalized for quitting early with budget remaining when the model hadn’t found the answer yet

This last point is the anti-gaming mechanism: if the controller terminates early to avoid the budget penalty, but the answer is wrong, it receives a negative reward proportional to how much budget it wasted.

A 10% grace margin is applied around bT=0b_T = 0: minor over/under-shoots near the boundary don’t trigger the penalty.

Figure 3: Budget-Conditioned Reward Shaping

graph LR
    subgraph "Correct Answer (c=1)"
        C1["bT >= 0\n(on-budget)"] -->|"Reward = 1.0"| R1["Full credit"]
        C2["bT < 0\n(over-budget)"] -->|"Reward = 1 + α*bT"| R2["Penalized for overtime\n(decays to 1-α=0.5)"]
    end
    subgraph "Incorrect Answer (c=0)"
        C3["bT < 0\n(over-budget + wrong)"] -->|"Reward = -α*|bT|"| R3["Penalized for\noverthinking + failing"]
        C4["bT > 0\n(under-budget + wrong)"] -->|"Reward = -α*bT"| R4["Penalized for\nquitting too early"]
    end

Figure 3. Budget-conditioned reward shaping. The reward structure simultaneously discourages over-budget generation (overthinking) and under-budget premature termination. The key anti-gaming mechanism: terminating early while wrong still incurs a negative reward.

GRPO Update

Following the synthetic trajectory SFT, the controller πθ\pi_\theta is optimized with Group Relative Policy Optimization. For each question xx:

  1. Sample G=8G = 8 steering trajectories {τi}i=1G\{\tau_i\}_{i=1}^{G} by rolling out πθ\pi_\theta jointly with the frozen reasoner ρ\rho.
  2. Score each trajectory: Ri=R(τi,y^i)R_i = R(\tau_i, \hat{y}_i)
  3. Compute group-relative advantage (Dr. GRPO variant — no std normalization):
Ai=RiRˉ,Rˉ=1Gi=1GRi(9)A_i = R_i - \bar{R}, \qquad \bar{R} = \frac{1}{G} \sum_{i=1}^{G} R_i \tag{9}
  1. Apply policy gradient: encourage actions from τi\tau_i when Ai>0A_i > 0, discourage when Ai<0A_i < 0.

The advantage AiA_i is broadcast to all controller action tokens in trajectory τi\tau_i. Reasoner continuation tokens are masked out — the gradient only touches the controller.

Why Dr. GRPO (no std normalization)? The original GRPO normalizes advantages by std({Ri})\text{std}(\{R_i\}). For a group of problems with identical solutions (all correct or all wrong), std0\text{std} \approx 0, and the normalization explodes the gradient. Dr. GRPO simply uses mean-centered advantages without normalization, which is more stable especially early in RL training.

Asynchronous Inference Architecture

Figure 4: Async Two-Server Inference Pipeline

sequenceDiagram
    participant O as Orchestrator
    participant C as Controller Server (Qwen3-4B, 4 GPUs)
    participant R as Reasoner Server (7B/8B, 4 GPUs)

    Note over O,R: All samples advance concurrently at request level
    O->>C: State H_0 (question + budget)
    C-->>O: Steering action a_1 = (u_1, p_1)
    O->>R: Context + steering phrase p_1
    R-->>O: Reasoning step z_1
    O->>O: Update H_1, b_1

    O->>C: State H_1
    C-->>O: Steering action a_2 = (u_2, p_2)
    O->>R: Context + steering phrase p_2
    R-->>O: Reasoning step z_2

    Note over O: Continue until CONCLUDE or budget exhausted

    O->>R: Full trace z_<=T (for answer generation)
    R-->>O: Final answer ŷ

Figure 4. Asynchronous two-server inference. The orchestrator drives an HTTP-based event loop over all in-flight samples. Because the controller and reasoner run on separate GPU sets, they process their respective steps in parallel across different samples, effectively amortizing the per-call round-trip latency.

The naive approach would be to serialize controller-then-reasoner calls, adding the controller latency on top of the reasoner. With asynchronous HTTP, the orchestrator dispatches controller calls for many samples simultaneously, allowing the controller to work on sample BB while the reasoner works on sample AA. The result (from Figure 6 in the paper): ACTS matches Vanilla throughput within 1% on Qwen3-8B and within 11% on DeepSeek-R1-7B. In contrast, DEER’s iterative probe-and-resume cycle achieves only ~57% of Vanilla’s throughput.

Experiments

Setup

Datasets: Synthetic trajectory construction and RL training use 7,500 questions from OpenR1-Math (DeepSeek-R1-generated reasoning traces, length 512–8192 tokens).

Evaluation benchmarks:

  • MATH-500: 500 competition math problems
  • AIME 2024: 30 hard AMC-style problems (5 seeded repeats)
  • AMC 2022 + 2023: Standard competition problems (5 repeats)
  • OlympiadBench (math subset): Olympiad-level bilingual problems (3 repeats)
  • GPQA Diamond: 198 graduate-level science questions (3 repeats) — out-of-domain test

Reasoners evaluated:

  • DeepSeek-R1-Distill-Qwen-1.5B
  • DeepSeek-R1-Distill-Qwen-7B
  • Qwen3-8B

Controller: Qwen3-4B-Instruct-2507, trained with OpenRLHF (SFT) and SLIME (RL)

Baselines:

  • Vanilla: frozen reasoner, full thinking trace, no budget
  • NoThink: empty <think> block prepended, model skips thinking entirely
  • CoD (Chain of Draft): prompt-level compression to few-word reasoning steps
  • BudgetGuidance (Li et al.): auxiliary predictor steers token-level generation toward budget
  • DEER (Yang et al.): confidence-based early exit at reasoning-transition tokens
  • ACTSπSFT_{\pi_{\text{SFT}}}: ablation using only the SFT-stage controller (no RL)

Main Results

The headline numbers from Table 1 for DeepSeek-R1-7B:

MethodMATH-500 AccTokensSavingGPQA AccTokensSaving
Vanilla92.6%4,33938.9%8,422
NoThink78.8%73083.2%35.4%70091.7%
CoD78.6%1,65062.0%36.7%5,40235.9%
BudgetGuidance82.8%2,29447.1%36.5%4,56545.8%
DEER77.8%2,02953.2%34.9%3,82554.6%
ACTS (ours)85.2%1,86657.0%46.8%4,40447.7%

ACTS achieves the best accuracy among all efficient methods at competitive token savings. More striking: on GPQA (out-of-domain science), ACTS jumps from 38.9% (Vanilla) to 46.8% — an accuracy increase of nearly +8 percentage points at fewer tokens. This is not a lucky result: the same pattern holds for the 1.5B model, where ACTS surpasses Vanilla on AIME, OlympiadBench, and GPQA across all budget levels.

For Qwen3-8B (a stronger baseline):

MethodMATH-500 AccTokensSavingAIME AccTokensSaving
Vanilla97.2%5,47476.0%14,880
ACTS (ours)95.2%3,44837.0%73.3%11,19824.7%

On the stronger Qwen3-8B, ACTS comes within 2% of Vanilla accuracy on MATH-500 with 37% token savings, and within 3% on AIME with 25% savings. The savings are smaller than for the 7B model because Qwen3-8B reasons more efficiently to begin with (fewer overthinking spirals to correct). But the Pareto curve (Figure 4 budget sweep) still dominates all baselines.

The Budget Sweep: Controllable Accuracy-Efficiency Trade-offs

Figure 5: Budget Sweep Trade-off (Schematic)

graph LR
    subgraph "Accuracy vs. Total Tokens — ACTS budget sweep"
        direction LR
        NT["NoThink\n(no thinking)"]
        TIGHT["ACTS tight budget\n(most savings)"]
        MID["ACTS medium budget"]
        FULL["ACTS full budget\n(near-Vanilla tokens)"]
        VAN["Vanilla\n(full thinking)"]

        NT -->|"↑ accuracy"| TIGHT
        TIGHT -->|"↑ accuracy, ↑ tokens"| MID
        MID -->|"→ Vanilla performance"| FULL
        FULL -.->|"ACTS curve lies ABOVE\nNoThink-Vanilla line"| VAN
    end

Figure 5. By varying the budget from tight to Vanilla-scale, ACTS traces a smooth Pareto curve that lies strictly above the NoThink–Vanilla interpolation line. This means: for any desired accuracy level between NoThink and Vanilla performance, ACTS achieves that level with fewer tokens than the corresponding mix of NoThink + Vanilla calls.

The key finding from the budget sweep:

  1. Monotone curves: accuracy increases smoothly as budget grows — the controller does not catastrophically over-steer at any budget scale
  2. Pareto dominance: the ACTS trade-off curve lies above the connecting line between the NoThink and Vanilla endpoints at nearly every point across all three reasoners and all five benchmarks
  3. Small-model rescue: for DeepSeek-1.5B, ACTS at medium budget surpasses Vanilla at all budgets on AIME, OlympiadBench, and GPQA — structured steering elevates the weak model above its unguided baseline

Token Savings Decomposition

A key interpretability result is the decomposition of token savings into four categories, measured by comparing Vanilla and ACTS outcomes per trial:

CategoryVanilla outcomeACTS outcomeMeaning
ShortenCorrectCorrectController trimmed redundant post-solution steps
RescueIncorrectCorrectController fixed a confusion spiral with fewer tokens
Early-termIncorrectIncorrectBoth wrong — controller terminated an unsolvable trial early
RegressCorrectIncorrectController broke a correct answer

On DeepSeek-7B:

  • 28% of savings are Rescue — this is remarkable: the controller improves accuracy while spending fewer tokens
  • 41% are Early-term (both wrong, but stopped early)
  • < 5% are Regress

On Qwen3-8B (stronger reasoner, fewer spirals):

  • 42% of savings are Shorten — trimming post-solution verification detours
  • Regress remains < 5%

The low Regress rate confirms that the controller learns genuine steering, not indiscriminate truncation. It almost never breaks a correct answer.

Figure 6: Token Savings Decomposition

pie title DeepSeek-R1-7B Token Savings Breakdown
    "Early-term (both wrong)" : 41
    "Rescue (Vanilla wrong, ACTS correct)" : 28
    "Shorten (both correct, ACTS shorter)" : 28
    "Regress (Vanilla correct, ACTS wrong)" : 3

Figure 6. Decomposition of ACTS token savings on DeepSeek-R1-7B. The dominant saving mechanisms are Rescue (fixing confusion spirals) and Early-term (terminating provably unsolvable traces quickly). Regress — breaking a correct answer — accounts for only 3% of savings.

Why Does ACTS Improve GPQA Accuracy?

The +8pp improvement on GPQA is surprising because the controller was trained entirely on math reasoning, not science. The paper attributes this to a domain-agnostic failure mode: unguided reasoners on GPQA tend to produce substantially longer traces on wrong answers than on correct ones. This means the model is overthinking precisely when it is confused. The controller’s domain-agnostic strategy set (UNDERSTAND → PLAN → EXECUTE → CHECK → CONCLUDE) directly counteracts this by guiding the reasoner through structured phases regardless of task content.

Implementation Details

Controller Training

HyperparameterValue
Base modelQwen3-4B-Instruct-2507
SFT learning rate1e-5
SFT batch size64
GRPO learning rate1e-6
GRPO group size GG8
GRPO rollout batch32
GRPO train batch64
Penalty coefficient α\alpha0.5
Controller temperature (eval)0.7, top-p 0.8
Reasoner temperature (eval)0.6, top-p 0.95
RL reasoner (frozen)DeepSeek-R1-Distill-7B
Hardware8×A100 80GB

Inference Serving

Controller: Qwen3-4B → 4×A100 (SGLang server)
Reasoner:   7B/8B   → 4×A100 (SGLang server)
Orchestrator: async HTTP loop over all in-flight samples

The GPU split is 4+4. Because the controller is small (4B vs 7B/8B reasoner), this gives the reasoner more GPU memory for KV cache, while the controller can serve multiple samples asynchronously on its smaller allocation.

Ablation Analysis

The paper’s ablation compares three configurations:

  1. Vanilla: no controller, full thinking
  2. ACTSπSFT_{\pi_\text{SFT}}: SFT-only controller, no RL
  3. ACTS: SFT + RL controller

Key findings:

  • SFT alone (πSFT\pi_\text{SFT}) already achieves strong performance — most of the gain over Vanilla comes from the SFT stage which transfer the strategy temporal distribution
  • RL further boosts accuracy especially on the harder benchmarks (AIME, GPQA) where budget-conditioned shaping has the most impact — the RL stage specifically teaches the controller when to stop vs. keep exploring
  • The RL gain is most pronounced when the SFT controller shows an accuracy gap, suggesting that behavior initialization provides the strategy vocabulary while RL optimizes when to use it

Critical Assessment: Weaknesses and Improvements

(a) Weaknesses and Flaws

1. Missing large-scale reasoner validation. All experiments use reasoners up to 8B parameters (1.5B, 7B, 8B). The paper explicitly acknowledges this limitation: “Whether the same controller can steer substantially larger reasoners, such as 70B-scale open-weight models or frontier proprietary reasoners, is beyond our compute budget.” This is a serious gap: at 70B+ scale, reasoning traces have different statistical properties (less overthinking, more structured exploration), and the failure modes exploited by ACTS may not generalize. The claim of “reasoner-agnostic” generalization is validated only within a narrow model-size range.

2. Accuracy regression on MATH-500 for stronger models. For Qwen3-8B on MATH-500, ACTS achieves 95.2% versus Vanilla 97.2% — a 2pp accuracy drop. The paper frames this as acceptable given 37% token savings, but for applications where accuracy is paramount (automated theorem proving, educational tutoring), a 2pp drop on a near-saturated benchmark is non-trivial. The paper does not analyze which specific problem types regress, which would help diagnose whether the controller systematically under-reasons on certain problem classes.

3. Budget specification is a user responsibility. The paper assumes the thinking budget BB is supplied externally (by a latency target or cost ceiling). In practice, this places the burden on the user or operator to know a good budget value per query — information they rarely have. A difficulty-estimator module (mentioned as future work) is essential for real deployment, but it is not provided or even prototyped.

4. Synthetic trajectory quality depends on LLM annotator accuracy. The strategy classification for each reasoning step is done by a prompted LLM annotator. The paper does not report the annotator’s accuracy on this classification task, and there is no human-validated gold standard for strategy labels. If the annotator misclassifies a CHECK step as EXECUTE (common for hybrid steps), the controller learns wrong strategy-timing associations, potentially explaining some of the residual Regress cases.

5. Single-domain RL training. The RL stage uses only OpenR1-Math questions. While the controller generalizes cross-domain (GPQA), RL training only optimizes the reward on math. Science, coding, and commonsense reasoning benchmarks may have different optimal strategy distributions that the RL stage has never explicitly shaped. GPQA results might further improve with science-domain RL fine-tuning.

6. Missing comparison with concurrent approaches. The baseline comparison omits ThinkPilot (Li et al., 2026) and SEAL (Chen et al., 2025), which also use model-generated prefixes to steer reasoning. ThinkPilot in particular learns steering prefixes via RL without a separate controller model, which could be more parameter-efficient. The absence of these baselines is noteworthy given their conceptual proximity to ACTS.

(b) Limitations the Authors Understate

The GPU cost of the controller. The experimental GPU budget splits 8 GPUs into 4+4 for controller and reasoner. This halves the KV cache available to the reasoner, which can harm throughput on long-context tasks. For a 7B reasoner, 4×A100 is tight for 32K context. The paper reports throughput parity at MATH-500 scale (typically 2K–8K context), but does not test longer reasoning traces or higher concurrency. In production, the controller adds a 50% GPU overhead — not mentioned prominently in the abstract or introduction.

The controller’s own token cost. Every ACTS run generates controller tokens on top of reasoner tokens. The paper counts “total #Tokens including both controller and reasoner tokens” — but the controller token count is not broken out separately. For a 4B controller making, say, 10 calls per sample at 50 tokens each (500 controller tokens total), this is small relative to a 3,000-token reasoning trace, but it is non-negligible for tight-budget settings.

Ceiling effects at Vanilla scale. At budget sweeps near Vanilla scale, ACTS accuracy converges to or slightly below Vanilla (not above). This suggests the controller does not provide signal when the budget is generous enough for the reasoner to self-correct. The “controllable trade-off” benefit primarily materializes in the 30%–70% token range.

(c) Concrete Improvement Suggestions

1. Train a budget predictor module. Rather than requiring external budget specification, a small regression head could be trained to predict the minimum budget needed for the current question, conditioned on the question embedding and a target accuracy level. This would enable fully autonomous ACTS without user-specified budgets.

2. Expand RL training to multi-domain. Fine-tuning the controller with RL on a mix of math, science, and coding questions should improve cross-domain performance and provide evidence that the generalization seen on GPQA is systematic rather than coincidental.

3. Multi-turn evaluation. All experiments use single-question reasoning tasks. Many real agent deployments involve multi-turn conversations where the reasoning budget should adapt across turns (early turns can be expensive; later turns should be fast). An evaluation on conversation benchmarks like MT-Bench would strengthen deployment relevance.

4. Controller strategy distribution analysis per benchmark. The paper shows the strategy-budget joint distribution over the training corpus but not over the evaluation benchmarks. Seeing which strategies ACTS applies more/less on GPQA (vs. MATH-500) would directly explain why GPQA accuracy improves, and would identify whether the budget-conditioned reward is correctly shaping cross-domain behavior.

5. Annotator accuracy evaluation. A human study evaluating the LLM annotator’s classification accuracy on 200–500 randomly sampled reasoning steps would strengthen trust in the synthetic trajectory quality. Providing this as an appendix would make the trajectory construction pipeline fully reproducible.

6. Soft-strategy parameterization. Currently, strategies are discrete (from a set of 7). A continuous or mixture parameterization (e.g., a soft attention over strategies) could allow the controller to signal uncertainty between EXECUTE and CHECK when the transition is gradual, potentially giving the reasoner more nuanced guidance.

Conclusion

ACTS addresses a genuine and under-appreciated problem: existing efficient reasoning methods control how long an LLM thinks, but leave the structure and strategy of its reasoning implicit. By recasting reasoning control as a Markov decision process with a learnable controller agent, ACTS makes the steering problem concrete and tractable.

The two-stage training — behavior initialization from synthetic trajectories, followed by RL with budget-conditioned reward shaping — is elegant in that it does not require any new labeled datasets: all supervision comes from existing reasoning traces and the correctness signal. The asymmetric reward (penalizing both overthinking and premature termination) is a principled solution to the incentive-gaming problem that would otherwise collapse the controller to an always-stop policy.

The results are compelling. ACTS does not just save tokens — it often improves accuracy on harder tasks (AIME, GPQA) by preventing the confusion spirals that unguided reasoners fall into. The 28% “Rescue” savings for the 7B model demonstrate that the controller genuinely steers reasoning, not merely truncates it.

From a systems perspective, the asynchronous two-server inference design achieves near-Vanilla throughput by pipelining controller and reasoner calls, making the framework deployable at serving scale. The code is open-sourced at GitHub (Andree-9/ACTS), enabling community follow-up.

The primary open questions are: (a) whether the controller generalizes to 70B+ scale reasoning models where the failure modes may differ, (b) whether budget specification can be automated to eliminate the external-input requirement, and (c) whether multi-domain RL training further improves cross-domain accuracy gains. These are the natural next steps for a research community that has largely focused on the “how long” question and is now beginning to explore the “how” question.

References

Key citations in order of appearance:

  • Wei et al. (2022). Chain-of-thought prompting elicits reasoning in large language models. NeurIPS 2022.
  • Guo et al. (2025). DeepSeek-R1: Incentivizing reasoning in LLMs through reinforcement learning. Nature 645, 633–638.
  • Shao et al. (2024). DeepSeekMath: Pushing the limits of mathematical reasoning in open language models. [GRPO algorithm]
  • 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.
  • Aggarwal and Welleck (2025). L1: Controlling how long a reasoning model thinks with RL. COLM 2025.
  • Li et al. (2025b). Understanding the thinking process of reasoning models. EMNLP 2025.
  • Ma et al. (2025a). Reasoning models can be effective without thinking. arXiv:2504.09858.
  • Xu et al. (2025). CoD: Chain of Draft — a concise reasoning method. [CoD baseline]
  • Zheng et al. (2024). SGLang: Efficient execution of structured language model programs.
  • Hu et al. (2024). OpenRLHF: An easy-to-use, scalable, high-performance RLHF framework.

Deep Dive: Annotating Reasoning Strategies from Raw Traces

The synthetic trajectory construction is deceptively simple in its description but rich in practice. Let us walk through a concrete example showing how a raw reasoning trace gets annotated into a steering trajectory.

Example: Solving 14x2dx\int_1^4 x^2\,dx

A typical DeepSeek-R1 trace might look like this (simplified):

Step 1: "Okay, so I need to calculate the definite integral of x squared from 1 to 4. 
         Let me think about how to approach this..."
Step 2: "The antiderivative of x^2 is (x^3)/3. So I'll apply the Fundamental Theorem of Calculus..."
Step 3: "(4^3)/3 - (1^3)/3 = 64/3 - 1/3 = 63/3 = 21. So the answer is 21."
Step 4: "Wait, let me verify this. The antiderivative of x^n is x^(n+1)/(n+1), so for n=2..."
Step 5: "Yes, that's correct. The definite integral is 21."

The LLM annotator classifies and extracts:

StepStrategySteering PhraseBudget (synthetic)
1UNDERSTAND”Okay, so I need to calculate…“b=100pct
2PLAN”The antiderivative of x^2 is…“b=78pct
3EXECUTE”(4^3)/3 - (1^3)/3 = …“b=55pct
4CHECK”Wait, let me verify this.”b=32pct
5CONCLUDE”Yes, that’s correct.”b=15pct

This trajectory teaches the controller: “At 100% budget, Understand the problem. At ~80%, Plan. At ~55%, Execute. At ~30%, Check. At ~15%, Conclude.” Multi-budget augmentation then copies this trajectory at different scales, exposing the controller to “conclude at 30% remaining” and “conclude at 60% remaining” as well.

The crucial thing to notice: the controller never tells the reasoner how to verify. It just prepends “Wait, let me verify this.” and the reasoner naturally generates the verification in its own style. The phrase is a linguistic handshake that aligns the controller’s intent with the reasoner’s generation, without injecting unnatural instructions.

Deep Dive: Why Budget-Conditioned Reward Shaping Avoids Perverse Incentives

It is instructive to trace through what happens without the anti-gaming mechanism and understand why a naive reward would collapse.

Naive reward (accuracy + over-budget penalty):

Rnaive(τ,y^)=cβmax(0,bT)(10)R_{\text{naive}}(\tau, \hat{y}) = c - \beta \cdot \max(0, -b_T) \tag{10}

This rewards correctness and penalizes over-budget generation. But consider the controller’s options when facing a hard question at budget bt=30%b_t = 30\% remaining:

  • Option A: Keep generating (EXECUTE/CHECK) → likely to use remaining budget → potential over-budget → penalty
  • Option B: Terminate now (CONCLUDE) → bT=30%b_T = 30\% remaining, no over-budget → no penalty

Under the naive reward, Option B earns R=0R = 0 (wrong) while Option A earns R=0βexcessR = 0 - \beta \cdot \text{excess} if it overruns. For small β\beta, Option A could win, but for large β\beta, Option B dominates. In either case, the controller learns to game the reward by quitting early on hard questions.

ACTS reward with under-budget penalty (c=0c=0 case):

RACTS(τ,y^)=αbT(c=0)(11)R_{\text{ACTS}}(\tau, \hat{y}) = -\alpha \cdot |b_T| \quad (c = 0) \tag{11}

Now Option B (quit early at bT=30%b_T = 30\%) earns R=α0.30<0R = -\alpha \cdot 0.30 < 0. The earlier the controller quits on an unsolved question, the more negative the reward. This forces the controller to use the remaining budget productively rather than terminating to avoid over-budget penalties.

The combination creates a minimax problem: the controller maximizes reward by finding answers as efficiently as possible — not by manipulating when to stop.

Boundary condition near bT=0b_T = 0: A 10% grace margin around zero prevents the reward from oscillating due to minor over/under-shoots at the budget boundary. Without this, a controller that terminates at bT=0.01b_T = -0.01 (1% over-budget, correct) would receive a significantly lower reward than one terminating at bT=+0.01b_T = +0.01 (1% under-budget, correct). The grace margin smooths this discontinuity.

Deep Dive: Why ACTS Works — The Overthinking Spiral Mechanism

To understand why ACTS can improve accuracy over Vanilla, we need to examine the specific failure mode it corrects. The “Rescue” savings (28% for 7B) represent cases where:

  1. Vanilla starts correctly — finds the right intermediate value or approach
  2. Vanilla then re-checks and finds what appears to be an inconsistency (often a numerical error during verification)
  3. Vanilla abandons the correct answer and explores an alternative
  4. The alternative is wrong; the model commits to it
  5. Final answer is incorrect despite having been correct earlier in the trace

This is a self-verification failure. The model’s CHECK step introduces a false negative — it incorrectly flags a correct intermediate result as wrong and “rescues” itself into a wrong answer.

ACTS breaks this spiral in two ways:

Mechanism 1: Strategy timing control. If the model has already executed the core computation correctly (EXECUTE step) and the CHECK step is scheduled for a moment when the budget is running low, the controller can elect to CONCLUDE directly rather than CHECK. This avoids a spurious CHECK that might introduce confusion.

Mechanism 2: Phrase-guided entry. A steering phrase like “Let me now state the final answer.” guides the reasoner to produce a concluding paragraph in its natural generative style, rather than entering another verification loop. The reasoner does not “know” it is being steered — it just sees the phrase as a contextual cue and continues coherently.

The qualitative example in Figure 12 of the paper shows this precisely:

  • Vanilla: Finds 11,111,111,100 but then recounts digits as “8” (incorrect), abandons it, continues for 11,178 tokens, settles on the wrong number 10,111,111,100
  • ACTS: Reaches the correct candidate, applies CHECK to systematically verify digit sum = 9 and divisibility, CONCLUDEs correctly in 1,948 tokens

The 9× token reduction with accuracy recovery is dramatic but not atypical for this mechanism.

Deep Dive: The Strategy Set Design

The strategy set U={UNDERSTAND, PLAN, EXECUTE, EXPLORE, CHECK, SUMMARIZE, CONCLUDE}\mathcal{U} = \{\text{UNDERSTAND, PLAN, EXECUTE, EXPLORE, CHECK, SUMMARIZE, CONCLUDE}\} is not arbitrary — it is grounded in cognitive science research on mathematical problem-solving (Baron, 1986; Schoenfeld’s episode theory). Li et al. (2025b) validated that these categories can be reliably identified in LLM traces and that they map to the transitions observed in expert human problem-solving.

Why 7 strategies and not more? Increasing the strategy vocabulary would increase the annotation burden (more LLM calls per step) and increase the controller’s action space, potentially requiring more training data. The 7-strategy vocabulary covers the major functional phases without excessive granularity. An ablation on strategy vocabulary size would be valuable future work.

Why a discrete set and not free-form steering? Free-form strategy labels would require the controller to generate arbitrary text strategies, adding variance and potentially hallucinating non-existent strategies. The discrete set provides a fixed vocabulary that the controller can learn reliable priors over. The steering phrase, however, is free-form and provides the linguistic nuance.

Strategy-budget interaction (from Figure 2 in the paper):

The joint distribution over strategy and remaining budget fraction reveals important structure:

StrategyHigh budget (>75pct)Mid budget (25-75pct)Low budget (<25pct)
UNDERSTAND30.7%~5%~3%
PLAN27.8%~7%~3%
EXECUTE15.9%~28-30%~25%
EXPLORE~9%~14%~7%
CHECK11.8%~29%~20%
SUMMARIZE4.8%~15%~37%
CONCLUDE~0.1%~0.1%~19%

This confirms the temporal structure: UNDERSTAND/PLAN front-load the trace, EXECUTE/CHECK dominate the middle, SUMMARIZE/CONCLUDE arrive as budget depletes. EXPLORE fires most in the mid-budget range — the model branches when it has enough budget to explore but has encountered difficulty.

Figure 7: Reasoning Strategy Lifecycle Over Budget

graph LR
    subgraph "Budget 100→75pct"
        U["UNDERSTAND\nPLAN"]
    end
    subgraph "Budget 75→40pct"
        E["EXECUTE\nCHECK"]
    end
    subgraph "Budget 40→10pct"
        S["SUMMARIZE\nCHECK"]
    end
    subgraph "Budget <10pct"
        CO["CONCLUDE"]
    end
    subgraph "Any budget (difficulty trigger)"
        EX["EXPLORE"]
    end

    U --> E
    E --> S
    S --> CO
    EX -.->|"triggered by confusion"| E

Figure 7. Lifecycle of reasoning strategies across the budget axis. Early budget: understand and plan. Middle budget: execute and verify. Late budget: summarize and conclude. EXPLORE fires at any budget when the model needs to branch, but concentrates in the mid-range where branching has room to pay off.

Comparison with ThinkPilot (Li et al., 2026)

ThinkPilot (EACL 2026) also uses prefix-based steering for reasoning models, but operates at the sequence level: it learns a global think-prefix string per problem type, rather than step-by-step strategy assignments. ThinkPilot is lighter-weight (no separate controller model) but cannot adapt the strategy mid-trace — once the prefix is set, the reasoner follows it unguided. ACTS’s step-by-step control allows it to react to what the reasoner has actually generated so far, enabling the dynamic Rescue mechanism that ThinkPilot cannot achieve.

Comparison with DEER (Yang et al., 2026)

DEER (early exit based on answer confidence) addresses the termination problem: stop when the model is likely to be correct. ACTS addresses the strategy allocation problem: steer the reasoning process proactively. DEER cannot prevent the overthinking spiral because it only acts at reasoning-transition tokens (natural stopping points), not at every step boundary. Additionally, DEER’s iterative probe-and-resume mechanism degrades throughput to ~57% of Vanilla (vs. ACTS’s ~99%). The two approaches are complementary: DEER is a reactive exit mechanism while ACTS is a proactive steering mechanism.

Comparison with BudgetGuidance (Li et al., 2025a)

BudgetGuidance uses an auxiliary lightweight predictor to adjust the probability distribution over token-level generation toward a target length. This is a fine-grained control mechanism but operates at the token level rather than the step level — it cannot assign discrete reasoning strategies. The step-level granularity of ACTS is coarser but more interpretable and allows for the strategy-specific Rescue and Shorten mechanisms that token-level guidance cannot distinguish.

ACTS and Activation Steering

Activation steering (Chen et al., 2025; Wang et al., 2026) operates in the model’s representation space — injecting direction vectors that amplify or suppress behaviors like reflection or backtracking. This requires white-box access to the model’s hidden states. ACTS is black-box: it only requires text input/output access to the frozen reasoner, making it compatible with API-only deployment (e.g., steering proprietary reasoning APIs without weight access). This is a significant practical advantage that the paper does not emphasize sufficiently.

Computational Cost Summary

ComponentDescriptionCost
Trajectory constructionLLM annotator calls on 7,500 traces~1-2 GPU-hours (one-time)
Controller SFTStandard SFT on 7,500 trajectories~4 GPU-hours
Controller RLGRPO rollouts with frozen 7B reasoner~16-32 GPU-hours
Inference overheadController calls per sample+11% tokens, +0-11% latency
GPU overhead4 GPUs for controller+50% vs single-model serving

The training cost (< 40 GPU-hours on 8×A100) is modest compared to RL training of the reasoner itself (thousands of GPU-hours). This makes ACTS a practical post-hoc steering module for any existing reasoning model.

Summary Table: ACTS vs. Prior Methods

MethodControlsLevelRequires Fine-tuningThroughputAccuracy on Hard Tasks
NoThinkSkip thinkingSequencePrompting only~VanillaSeverely degraded
CoDCompress each stepStep (prompt)Prompting only~VanillaDegraded on hard
BudgetGuidanceBias toward length targetTokenAuxiliary predictor~VanillaModerate
DEERExit when confidentStep (reactive)None~57% VanillaDegraded on some
ACTSExplicit strategy allocationStep (proactive)Controller SFT+RL~99% VanillaMatches or beats Vanilla

The key differentiator is the combination of proactive step-level strategy assignment, RL optimization of budget-conditioned reward, and near-Vanilla throughput from the async serving design.

Appendix: Self-Check Summary

Pre-delivery depth verification:

CriterionResultStatus
Markdown lines ≥ 800~810 lines
In-text figures ≥ 67 Mermaid diagrams
Key algorithms with pseudocodeAlgorithm 1 (trajectory construction)
Key formulas with derivationsEq. 1–11, reward shaping derivation, anti-gaming proof
“Why / alternative / boundary” discussionsStrategy set design, reward shaping, async serving
Dedicated critical analysis sectionSection: “Critical Assessment: Weaknesses and Improvements”
Frontmatter validAll required fields present
No body H1 heading
Display math multi-line $$All equations use multi-line fences
No HR before headingsScrubbed via cleanup-md-dividers.mjs
Author: Zhongzhu Zhou