Paper

From ‘Author’ to ‘Reviewer’ for the Strong Model: Trajectory-Level Speculative Execution in SpecAgent

TL;DR — Instead of having a Strong model generate every step of a tool-using agent, a Weak model executes several steps first by calling real read tools and stops just before the first state change. The Strong model reads the entire draft in a single prefill and commits only the longest semantically valid prefix. On τ²-Bench, it maintains quality within 1 point of Strong-only while reducing HBM-read by 43–57% and wall time to 41–54%; on MCP-Atlas edge–cloud, it uses only 36–50% of Strong output tokens and recovers 53–75% of the quality gap (source: Abstract, Tab. 2, Tab. 3).


Numbers at a Glance

  • Models: Weak Qwen3.5-4B (dense, 4B params), Strong Qwen3.5-397B-A17B (MoE, 397B total/17B active, 512 experts, top-10 active, vocabulary 248,320) (source: §4.1, Tab. 6).
  • Training: No additional training. At inference time, the protocol, verifier prompt, and benchmark adapter are the entire method (source: §4.1, Appx. D).
  • Serving: H20 GPU, Strong 16-way tensor parallelism, Weak 1 GPU, 8 tasks running concurrently, up to 100 steps (source: §4.1, Appx. A).
  • Key results: On τ², HBM-read 43–57%, wall time 41–54%, Strong calls from 13.1–13.8 to 3.1. On MCP-Atlas, Strong output tokens 36–50%, API cost 59–81% (source: Tab. 2, Tab. 3).
  • Not reported in the original: context window limit, TTFT/TPOT, KV-cache size, training compute, energy/PUE have no numbers in the paper. Per-task token counts (e.g., VitaBench 28.4k uncached tokens/task) are reported.

1. Background: Agent Cost Scales with the Number of Steps

A tool-using agent produces a long trajectory of tool calls, not a single question-answer exchange. Table 1 presents representative trajectory lengths: 20–30 turns for MCP services, 30–80 turns for τ², 40–60 turns for AutomationBench, and 50–100 turns for VitaBench (source: Tab. 1). In existing designs, a single Strong model decodes all these steps token by token. Serving cost scales with trajectory length, and the bottleneck is the Strong model’s autoregressive decoding (source: §1).

Many steps are routine: order lookup, record reading, re-searching. A Weak model suffices for a substantial number of steps, yet the dominant design assigns every step to the Strong model. Prior work has tried to divide this work in roughly three ways.

  • Routers/cascades choose one model per query. The Strong model still generates every step of the selected query (source: §2).
  • Collaborative agents decide which model acts at each step. But the model in control still generates each step from scratch (source: §2).
  • Speculative agents have the Weak model draft the next action and the Strong model verify it. However, the draft is usually accepted only when it matches the Strong model’s own action, so the Strong model must still generate the reference step. The work is overlapped, not removed (source: §2).

Recent step-level critics introduce loose matching instead of exact match, but they check only one step at a time and mainly handle search-style tasks where actions do not change the environment (source: §2). This makes the research gap clear.

Research gap — Can the Strong model be a reviewer of multiple steps rather than the generator of every step? That review must be grounded in real tool observations, occur only just before irreversible state changes, and preserve valid progress even when it differs from what the Strong model would have written (source: §1, §2, §3).

Within the scope the paper compares, the landscape at publication is as follows. Strong-only is the quality baseline at 86.0/88.6% on τ² Airline/Retail, 15.2% on AutomationBench, and 48.0% on VitaBench, but incurs large HBM-read and wall time. Weak-only is far cheaper with a 4B model but reaches only 6.8% on AutomationBench and 34.0% on VitaBench. AgentCollab is close to Strong on τ² at 85.3/85.7%, but its Strong calls are 18.5/16.6, more than Strong-only’s 13.8/13.1, and its wall time is longer as well. Speculative Actions targets latency and keeps the Strong model as the actor (source: Tab. 2, §2). In other words, the problem is finding a better operating point between “Strong quality” and “Weak cost.”


2. Core Hypothesis

The authors hypothesize that by using SpecAgent, in which a weak model drafts multiple steps with real read tool calls and a strong model semantically validates the draft in a single prefill just before a state change, one can eliminate the Strong-only per-step autoregressive decoding and cut HBM traffic and wall time roughly in half while maintaining quality within 1 point on τ²-Bench.

This hypothesis decomposes into three premises. First, the draft must be grounded. The Weak model must choose the next step based on observations from real read tools, not imagined observations (source: §3.2). Second, execution must be safe. The first state-changing action is held rather than executed, and the environment is not changed before the Strong model’s review (source: §3.1, §3.2). Third, review must be cheap. Reading multiple steps in a single prefill must cost less than decoding those steps one by one, and semantic prefix acceptance must preserve the Weak model’s valid progress (source: §3.3).

Contributions by Type

  1. A new inference and serving protocol (not a new model architecture): trajectory-level draft–verify–repair at the read/write boundary, verification of multiple steps in a single prefill, and a fused replacement attempt for the first rejected step. The Strong model is a reviewer, not the author of each step (source: §3, Alg. 1, Fig. 1).
  2. A new analytical model: Propositions 1–2 predict Strong decode cost from acceptance rate, chunk length, verdict length, and repair probability (source: §3.3, Appx. C).
  3. A new application of an existing idea: moving speculative decoding’s draft–verify to the irreversible action boundary of tool-using agents (source: §2).

There is no new dataset and no new model training. This improves reproducibility but also means performance depends heavily on off-the-shelf models and prompts.

The Authors’ Case for Superiority

The authors’ core argument is that SpecAgent “removes rather than overlaps” the Strong model’s work. In existing speculative agents, the Strong model keeps generating reference steps, so the gain stays limited to latency. SpecAgent has the Strong model read a long trajectory segment at once and decode only a short verdict (source: §1, §2). The second argument is semantic acceptance. Agent tasks have multiple valid paths, so steps that are valid for the goal should be preserved even if they do not exactly match what the Strong model would have written. In the ablation, switching to exact match drops Retail Pass@1 from 87.7% to 82.5% and increases FLOPs from 0.81 PFLOP to 1.37 PFLOP, a 70% rise (source: §3.2, Fig. 4). The third argument is the predictive power of the cost model. Strong traffic consumed by verification and repair matched predicted and observed HBM within 0.01 (source: §5, Tab. 4).


3. SpecAgent: How It Works

3.1 Reads, Writes, and the Reversible Boundary

SpecAgent views tool-use tasks as a partially observable Markov decision process. The environment has a hidden state $s$, such as a database or workspace, which the agent cannot see directly. At each step it emits an action $a_t$ (usually a tool call) and receives an observation $o_t$. The policy is conditioned on the task $u$ and the history

$$ H_t = \big(u,(a_1,o_1),\ldots,(a_t,o_t)\big) $$

(source: §3.1). Two policies share the same interface: a cheap Weak model $\pi_W$ and a Strong model $\pi_S$ whose quality we want to preserve.

Actions fall into two classes. Reads return observations and do not change state, such as searches or lookups. State changes alter state, such as modifying a record or submitting a final result (source: §3.1). This distinction is the principle of the method. Errors left in the history can be erased and recovered from. Because a read did not change state, deleting it from the history leaves the environment as it was. In contrast, an error that reached the environment is not undone by fixing the history. A changed record does not revert, and a submitted result is not withdrawn (source: §3.1).

Speculation therefore proceeds freely while execution is reversible and verifies only at the boundary where errors become irreversible. Earlier verification wastes the Strong model on steps that can still be rolled back, and later verification is too late (source: §3.1). Note that “reversible” here means logical rollback. Deleting a rejected read from the history may still leave traces such as access logs in external services. What the paper guarantees is that “actions classified as state changes are not executed before review,” not that every physical effect of speculation is rolled back (source: Appx. D).

3.2 Three Beats: Draft, Verify, Repair

Execution flow comparison between Strong-only and SpecAgent

Original Fig. 1 (PDF p.3). (a) Strong-only decodes every step token by token. (b) SpecAgent has the Weak model execute reads immediately and build a draft; when the first write is held, the Strong model reviews the entire draft in a single prefill. Bars indicate the Strong model’s relative memory reads.

On the left (a) of the figure, the Strong model autoregressively generates find user, get order, check policy, and refund order. On the right (b), the Weak model actually executes reads in steps 1–3 and leaves exchange item in step 4 held. The Strong model reads steps 1–4 in a single prefill, accepts through step 3, and replaces step 4 with refund order. The key is that the Strong model’s job shifts from “generating each step” to “one review plus a short repair” (source: Fig. 1, §3.2).

The concrete procedure is Algorithm 1 (source: Alg. 1).

  1. Draft. From the current history $H_t$, the Weak model drafts a chunk of up to $K$ steps. Reads execute immediately; upon encountering the first state-changing action, it marks that action as $\perp$, appends it to the end of the chunk, and stops. Later steps depend on the outcome of that action and cannot be executed in advance. If all $K$ steps are filled with reads, the chunk is committed without review (source: §3.2).
  2. Verify. The Strong model reads $H_t$ and the chunk in a single prefill and returns $(j,r,\tilde a)$. $j$ is the length of the longest acceptable prefix, $r$ is the reason for the first rejection, and $\tilde a$ is an optional replacement action. Acceptance is semantic. It asks whether the step is a valid move toward the task, not whether it matches what the Strong model would have written (source: §3.2).
  3. Repair. If $j=n$, commit the read prefix $n-1$ and execute the held action. If $j\lt n$, commit only through prefix $j$; if $\tilde a$ passes tool-schema and executability checks, use it. Otherwise, the Strong model performs one repair turn with $H_t$ and $r$. Because repair is the Strong model’s own step, it is committed without further review. The rejected suffix, including the held action, is discarded, and the next draft starts only from the committed history (source: §3.2, Alg. 1).

An important design point is that the verifier does not see the Weak model’s reasoning process. It sees only the committed actions and observations plus the draft’s actions and observations (source: Appx. D). Verification is therefore grounded in real observations, not “plausible explanations.” In addition, a fused replacement must be a single tool call, match the argument schema, and be actually executable. Otherwise, it falls back to a separate repair turn (source: §3.2, Appx. D).

Chunk size is $K=6$ on τ², VitaBench, and MCP-Atlas, and $K=8$ on AutomationBench (source: §4.1, Tab. 9). This value bounds how much reading accumulates before committing without review (source: Appx. D). Depending on the benchmark adapter, the final message may also be held. On AutomationBench and MCP-Atlas, the final message is the graded answer and is treated like a write, whereas on τ² and VitaBench replies are not held (source: Appx. D).

3.3 Illustrative Example: A Single Refund Request

This is an illustrative example built along the flow of Fig. 1. The order ID, amount, and day counts below are hypothetical values for explanation, not paper numbers. They are not real τ² logs but a construction to show state changes at each step.

Task: “Please refund order A-1001.” Initial state: the order is delivered, not refunded, 12 days have passed since delivery, and the policy allows refunds within 30 days.

StepWeak model draftClassExecuted?Environment state
1find_user("minji")ReadExecuteduser_id=U7
2get_order(U7,"A-1001")ReadExecutedDelivered, 120 USD, 12 days ago
3check_policy("refund", 12)ReadExecutedWithin 30 days, refundable
4exchange_item("A-1001")WriteHeldrefunded=false

The Weak model encounters the first state-changing action at step 4 and stops. The Strong model reads $H_t$ and steps 1–4 in a single prefill and returns accepted_steps=3, replacement_action=refund_order("A-1001"), and the reason “the user requested a refund and the order is within the 30-day policy.” Steps 1–3 are valid reads grounded in real observations. Step 4 is rejected because it misinterprets the user’s goal as an exchange. Because step 4 was not executed, the environment has not changed yet (source: Fig. 1, §3.2).

The meanings of the prefix branches are as follows.

  • $j=3$: commit steps 1–3 and replace step 4 with the Strong model’s replacement action. The example above is this case.
  • $j=4$: commit steps 1–3 and execute held action 4 as is. This is the case where the Strong model considers all steps through 4 valid.
  • $j=2$: commit only steps 1–2 and discard steps 3–4. Because step 3’s observation also disappears from the history, the Strong model repairs again from step 3.
  • $j=0$: discard the entire chunk and have the Strong model write from the first step.

In this example, semantic acceptance does not ask “did the Weak model read in exactly the same order as the Strong model?” For instance, even if the Weak model calls search_orders once more before get_order, that observation can remain in the prefix if it is valid and helps the goal. Conversely, if the policy was misread at step 3 or the order ID at step 4 is wrong, the prefix is cut at that point. This is the difference between exact match and semantic acceptance (source: §3.2).

3.4 Why Review Is Cheaper Than Generation: Prefill vs Decode

Autoregressive decoding performs one forward pass per token and reads the model’s active weights from HBM on each pass. When the batch is small, decode is bound by memory bandwidth, not arithmetic. Prefill processes multiple tokens with a single weight read, reducing weight traffic but increasing FLOPs because the matrix multiplies grow (source: §3.3, §5). SpecAgent’s cost model exploits this asymmetry.

Let $d$ be the weight pass of one step in Strong-only, $v$ the weight pass of a verdict, $n$ the chunk length, $p_u$ the average per-step acceptance rate for task $u$, and $\rho$ the probability that a separate repair turn is needed. Proposition 1 predicts the Strong model’s time and memory traffic per committed step relative to Strong-only as follows (source: Prop. 1, Appx. C).

$$ R_u = \frac{1-p_u}{1-p_u^n}\cdot\frac{v}{d} + \rho(1-p_u) $$

The limits make the intuition clear. If $p_u=0$, then $R_u=v/d+\rho$, the cost of paying a verdict and a repair at every step. If $p_u\to 1$, then $R_u\to v/(nd)$, the cost of one verdict shared across $n$ steps. The gain grows with higher acceptance, longer chunks, shorter verdicts, and fewer separate repairs. Read-only chunks committed without review lower $R_u$ further (source: Prop. 1, §3.3).

Latency adds the Weak model’s drafting cost. Let $\kappa$ be the time of one Weak step relative to one Strong-only step; then the end-to-end time per committed step is (source: Prop. 2)

$$ L_u = R_u + \kappa\frac{n(1-p_u)}{1-p_u^n} $$

The second term is the number of Weak steps that must be drafted to produce one committed step. As $p_u\to 1$, it approaches 1. SpecAgent is therefore faster than Strong-only only if one Weak step is sufficiently cheaper than one Strong step. This model ignores tool latency (source: Prop. 2). When this condition breaks in real deployments reappears in the MCP-Atlas results.

There is also a measurable form. Let $c_v$ be the number of verifications per committed step, $c_r$ the number of separate repairs, and $\bar v$, $\bar d_r$, $\bar d$ the average output tokens of a verdict, a repair, and a Strong-only step, respectively. Then the Strong traffic ratio is (source: §5)

$$ R = c_v\frac{\bar v}{\bar d} + c_r\frac{\bar d_r}{\bar d} $$

Table 4 evaluates this expression on log token counts. On τ², the Strong model reviewed about once every 7 committed steps, and decoding tokens fell to 17–30% of Strong-only. Predicted HBM ratios matched observations within 0.01 on every benchmark. Generation time matched predictions on τ² and was lower than predicted on AutomationBench and VitaBench (source: §5, Tab. 4). This match is the empirical basis for the claim that “the savings come from decoding.”


4. Experiments: Measuring Quality and Resources in the Same Deployment

4.1 Setup

The experiments cover four kinds of agent tasks. τ²-Bench Airline runs 50 tasks three times each, and Retail runs 114 tasks three times each. AutomationBench runs 600 public tasks once each, and VitaBench Delivery runs 100 tasks twice each. MCP-Atlas runs 101 tasks against real MCP servers once each and is reported separately for an edge–cloud deployment (source: §4.1, Appx. A).

ItemSetting
Weak / StrongQwen3.5-4B / Qwen3.5-397B-A17B
ServingH20 GPU, Weak 1 GPU, Strong 16-way TP, SGLang, 8 tasks concurrent
SamplingServer defaults, thinking enabled for action generation, disabled for verification, max 100 steps
MetricsPass@1, HBM-read, wall time, estimated FLOPs, GPU·s, Weak/Strong calls, API cost
MCP-AtlasWeak on a local RTX 5090; Strong via cloud APIs for Qwen3.5-397B-A17B, GLM-5, DeepSeek-V4-Flash-0731

Pass@1 is the average per-task success rate over attempts, with failed or incomplete attempts remaining in the denominator (source: Appx. B.1). HBM-read is an estimate of bytes read from GPU memory per request, and FLOPs is an estimate of compute. Both are computed from log token counts and model architecture, not hardware counters. Prefix reuse is computed with a radix prefix cache model and applied identically to all methods. For the Strong MoE model, expert routing during prefill is unknown, so HBM is reported as an interval. HBM-read excludes writes and inter-GPU communication, and FLOPs excludes RMSNorm, softmax, and communication (source: Appx. B.3–B.4). For the Weak model, weight and KV reads matched Nsight DRAM counters within 5% on one held-out request and within 10% on short request shapes, but the Strong deployment was not profiled (source: §4.1, Appx. B.4). GPU·s is an upper bound that charges the full duration of 16 GPUs without accounting for concurrency (source: Appx. B.5). Wall time on τ² and VitaBench runs from task start to agent completion and includes tool calls and user simulator turns (source: Appx. B.5).

MCP-Atlas responses are graded by Gemini 3.1 Pro, and a task succeeds if it covers at least 75% of graded claims (source: Appx. A). API cost is the sum over all 101 tasks at list price and excludes local GPU cost (source: Tab. 3 caption). The code and all prompts are public on GitHub (source: Appx. D.1).

4.2 Quality: Close to Strong, but Not “Equivalent”

BenchmarkWeak-onlyStrong-onlyAgentCollabSpecAgentWeak–Strong gap recovered
τ² Airline (50×3)80.086.085.386.0100%
τ² Retail (114×3)80.488.685.787.789%
AutomationBench (600×1)6.815.27.310.544%
VitaBench Delivery (100×2)34.048.050.044.575%

Pass@1 (%), same Weak/Strong deployment, 8 tasks concurrent, H20. τ² uses 3 trials, AutomationBench 1, VitaBench 2. (source: Tab. 2, §4.2)

On τ² Airline, SpecAgent records exactly the same 86.0% as Strong-only. On Retail it reaches 87.7%, 0.9 points short of Strong-only’s 88.6%, recovering 89% of the Weak–Strong gap. AutomationBench is 10.5%, 4.7 points below Strong-only’s 15.2%, a gap recovery of 44%. VitaBench is 44.5%, 3.5 points below Strong-only’s 48.0%, a recovery of 75% (source: §4.2, Tab. 2). The differences from Strong-only are reported as 0.0 points on Airline (95% CI [−5.3, +5.3]) and −0.9 points on Retail (95% CI [−4.7, +2.9]) in a paired bootstrap (source: §4.2, Appx. B.1). The point estimates are within 1 point, but the confidence intervals are wide. This should be read as a statement that the observed difference is small in this sample, not as a non-inferiority test conclusion that the methods are “equivalent.”

On VitaBench, AgentCollab reaches 50.0%, above Strong-only’s 48.0% and above SpecAgent’s 44.5%. SpecAgent therefore does not hold a quality advantage on every benchmark. At the same time, AgentCollab spends 1.4× the HBM and 1.4× the wall time of SpecAgent for that quality (source: Tab. 2). It is a matter of choosing a quality–resource operating point.

4.3 Resources: HBM and Time Fall, FLOPs Rise

BenchmarkHBM-read Strong (TB)HBM-read SpecAgent (TB)Wall Strong (s)Wall SpecAgent (s)FLOPs Strong→SpecAgent (PFLOP)Strong calls (Strong-only→SpecAgent)
τ² Airline333.2–341.6147.6–150.1305.2126.20.78→1.0113.8→3.1
τ² Retail192.8–201.8107.3–109.7162.487.50.58→0.8113.1→3.1
AutomationBench324.0–337.3264.5–273.6307.4174.91.10→1.5217.4→11.8
VitaBench Delivery249.6–262.0154.9–161.1197.3135.20.72→1.3421.9→8.2

HBM-read is an analytical estimate. Strong MoE is an interval because expert routing is unknown; dense Weak is a point estimate. FLOPs is also an estimate. (source: Tab. 2, Appx. B.3–B.4)

Resource ratios point in a consistent direction. HBM-read falls to 43–45% on Airline, 53–57% on Retail, 78–84% on AutomationBench, and 59–65% on VitaBench. Wall time falls to 41%, 54%, 57%, and 69%. Conversely, estimated FLOPs rise by 30%, 38%, 38%, and 87%, respectively (source: §4.2). Strong calls fall from 13.8 to 3.1 on Airline, 13.1 to 3.1 on Retail, 17.4 to 11.8 on AutomationBench, and 21.9 to 8.2 on VitaBench (source: Tab. 2). GPU·s also drops from 4828.4→860.4, 2535.6→789.7, 4483.2→1761.0, and 3018.9→814.0 (source: Tab. 2).

Pareto plane of quality and resources relative to Strong-only

Original Fig. 2 (PDF p.8). Strong-only for each domain is placed at the star (1, 0); the x-axis is HBM-read or wall time relative to Strong-only, and the y-axis is the Pass@1 difference. Left is cheaper, up is better.

The two panels of Fig. 2 divide the quality–resource plane into four quadrants. The star is Strong-only; moving left means fewer resources, and moving up means higher quality. SpecAgent is to the left of the star on all four benchmarks, but its y-axis position is near or below zero. It sits almost on zero for Airline and Retail and gives up some quality on AutomationBench and VitaBench. AgentCollab is above the star on VitaBench (+2.0 points) but to the right of SpecAgent. Because the quadrants are drawn from point estimates, interpretation near the boundaries requires caution. What this figure says is not “SpecAgent wins on every axis” but “an operating point exists that buys similar quality with far less memory traffic and time” (source: Fig. 2, Tab. 2).

The paper emphasizes that SpecAgent is the only collaborative method with both HBM-read and wall time below Strong-only. AgentCollab is below Strong-only on both axes on VitaBench, but on AutomationBench it exceeds Strong-only by 1.5× HBM and 3.0× wall time (source: §4.2). SpecAgent is below Strong-only on both axes on all four benchmarks (source: §4.2).

4.4 Edge–Cloud: On MCP-Atlas, Tokens and Cost Fall, Not Time

MethodPass@1 (%)Gap recoveredStrong output tokens/taskAPI cost (USD, 101 tasks total)Wall time (s/task)
Weak-only (4B)44.6——0.00109
Strong-only Qwen3.5-397B-A17B72.3—3.6k1.39105
SpecAgent + Qwen3.5-397B-A17B59.453%1.8k1.12120
Strong-only GLM-576.2—4.6k8.91110
SpecAgent + GLM-567.372%2.1k5.54108
Strong-only DeepSeek-V4-Flash-073184.2—10.6k1.37151
SpecAgent + DeepSeek-V4-Flash-073174.375%3.8k0.81215

101 tasks, real MCP servers, 1 trajectory/task. Weak on a local RTX 5090, Strong via cloud APIs. API cost is the sum over all 101 tasks at list price and excludes local GPU cost. (source: Tab. 3, §4.3)

On MCP-Atlas, SpecAgent sits between Weak-only and Strong-only for all three Strong models. Quality gap recovery is 53% for Qwen, 72% for GLM-5, and 75% for DeepSeek. Strong output tokens fall from 3.6k→1.8k (50%), 4.6k→2.1k (46%), and 10.6k→3.8k (36%), while API cost drops from 1.39→1.12 USD (81%), 8.91→5.54 USD (62%), and 1.37→0.81 USD (59%) (source: Tab. 3). HBM-read also falls in all three cases (source: Tab. 3). Because this 101-task subset is somewhat easier than the full benchmark, absolute scores cannot be compared directly with the public leaderboard (source: Appx. A). SpecAgent’s quality tracks the Strong model’s quality, because the Strong model is the one judging and repairing the draft (source: §5).

There is an important asymmetry here. The fraction of the quality gap recovered (53–75%) is larger than the fraction of Strong tokens used (36–50%). That is, one Strong token used inside SpecAgent buys more quality than one token used in Strong-only (source: §4.3). As Strong-only token counts grow from 3.6k to 4.6k to 10.6k tokens per task, SpecAgent’s token share falls from 50% to 46% to 36%, because the amortized verdict covers more steps (source: §5). Wall time, however, does not fall clearly. Qwen goes from 105 to 120 seconds, GLM-5 from 110 to 108 seconds, and DeepSeek from 151 to 215 seconds, showing little gain or even an increase (source: Tab. 3). Because the local Weak model spends about 109 seconds per task and the hosted Strong model spends 105–151 seconds, the latency term in Proposition 2 does not deliver a gain (source: §4.3, Prop. 2). In this deployment, SpecAgent’s value is not latency but remote usage and cost.

There is also a reason API cost does not fall as much as the token ratio. Each review resends the context as input. Strong output tokens fall to 36–50%, but with prefill input attached, cost remains at 59–81% (source: §5). This is the cost structure of a design that “replaces decode with prefill.”

4.5 Anatomy of Cost: Verification Eats Compute, Weak Eats HBM

Phase-level cost ratios in SpecAgent

Original Fig. 3 (PDF p.10). Relative cost with Strong-only set to 1. Bars are split into Weak drafting, Strong verification, Strong repair, verification+repair, and tools/other. Strong verification and repair dominate compute but account for a small share of HBM-read.

Each bar in Fig. 3 is a ratio relative to Strong-only, and the dashed line is 1. Strong verification and repair account for 81–85% of SpecAgent FLOPs but only 39–66% of HBM-read. Conversely, Weak drafting is only 15–19% of FLOPs but uses 34–61% of HBM-read (source: Fig. 3, §5). The Weak model’s autoregressive decoding is also memory-bound. This composition explains the phenomenon that “time falls while FLOPs rise.”

Wall time has the same structure. Strong generation falls to 0.16–0.34 of Strong-only wall time, and Weak drafting adds 0.22–0.24. On VitaBench, Weak drafting adds 0.40 (source: §5). In other words, the Strong model’s long decoding is replaced by the Weak model’s short decoding plus Strong prefill.

The reason compute on VitaBench rises by as much as 1.87× is concrete. The verifier prompt and repair prompt do not share a prefix with each other, nor with the actor prompt. As a result, the Strong model prefills about 28.4k uncached tokens per task, versus 12.5k tokens for Strong-only. This prefill alone is 1.03 PFLOP, exceeding Strong-only’s total of 0.72 PFLOP, while the decode removed is only about 0.21 PFLOP (source: §5). It is a typical case of greatly increasing compute in exchange for reducing memory traffic.

The small gain on AutomationBench is also explained by the cost model. The Weak model’s drafts are rejected more often, and each rejection triggers a separate repair of about $1.5\bar d$ tokens. Thus the $c_r$ term grows, and savings shrink as the $\rho(1-p_u)$ term predicts (source: §5). VitaBench is in between. About 77% of review boundaries are rejected, but verdict and repair contribute roughly equally to the predicted ratio of 0.28 (source: §5).

4.6 Ablation: What to Review, How to Fix, What to Accept

The most important component is semantic prefix acceptance. On Retail, replacing it with exact match produces the following.

Retail settingPass@1 (%)Compute (PFLOP)HBM-read (TB)Wall time (s)
SpecAgent87.70.8110888
Remove semantic acceptance (exact match)82.51.3712584
Δ−5.2+0.56 (+70%)+17−4

(source: Fig. 4, §5)

An exact-match verifier rejects Weak steps that differ from what the Strong model would have written and regenerates them. As a result, valid Weak progress is discarded, Strong decoding increases, FLOPs and HBM rise, and quality drops. Interestingly, wall time is 84 seconds, slightly below the base of 88 seconds. This variant is not worse on every resource axis. The decisive losses are quality and compute.

Design ablation on Retail

Original Fig. 4 (PDF p.11). Results of changing SpecAgent’s design one element at a time on τ² Retail. From left to right: SpecAgent, review through replies, review all chunks, remove fused replacement, remove semantic verification (exact match). Each panel shows Pass@1, compute, HBM-read, and wall time; the dashed line is Strong-only.

Fig. 4 shows the four variants at a glance. Reviewing through replies or reviewing all chunks drops Pass@1 to 84.2% and pushes HBM-read to 176–194 TB and wall time to 223–259 seconds. Strong calls more than triple, HBM rises by 63–79%, and wall time rises by 2.5–3.0× (source: Fig. 4, §5). More review is not better; reviewing only at the irreversible boundary is the key.

Removing fused replacement turns every rejection into a separate Strong turn and drops Pass@1 to 82.5%. HBM is 111 TB and wall time is 114 seconds, worse than the base (source: Fig. 4). Repairing the common case of a rejection with a single tool call matters for both quality and cost.

Removing semantic verification yields exact match, with Pass@1 82.5%, compute 1.37 PFLOP, and HBM 125 TB (source: Fig. 4). Exact match demands “the same action as the Strong model,” but agent tasks have multiple valid paths. This ablation shows that the difference appears in real quality and compute.


5. Critical Comparison: Where It Wins and Where It Ties

5.1 Comparison with Strong-only

SpecAgent’s strongest result is resource savings on τ². Airline ties at 86.0% quality while using 43–45% of Strong-only’s HBM-read, 41% of its wall time, and 3.1 Strong calls versus 13.8. Retail is 0.9 points behind with 53–57% of Strong-only’s HBM, 54% of its wall time, and 3.1 Strong calls versus 13.1 (source: Tab. 2). GPU·s is 2.5–5.6× lower (source: Tab. 2). This combination supports the claim that it “substantially reduces Strong decoding while nearly preserving Strong quality.”

It is difficult, however, to assert equivalent quality. Airline’s 0.0-point difference has a 95% CI of [−5.3, +5.3], and Retail’s −0.9-point difference has [−4.7, +2.9] (source: §4.2, Appx. B.1). The wide confidence intervals mean this experiment alone does not statistically establish non-inferiority. AutomationBench retains a 4.7-point gap and VitaBench a 3.5-point gap (source: Tab. 2). “Within 1 point” describes the τ² point estimates, not a guarantee across all benchmarks.

5.2 Comparison with AgentCollab

On τ², SpecAgent has higher quality and far lower resources than AgentCollab. Airline is 86.0% vs 85.3% and Retail 87.7% vs 85.7%, with 1.6–1.9× lower HBM and 2.6–3.1× lower wall time (source: §4.2, Tab. 2). AgentCollab is close to Strong quality, but its Strong calls are 18.5/16.6, far more than SpecAgent’s 3.1. That cost shows up directly in resources.

On AutomationBench, SpecAgent leads on quality at 10.5% vs 7.3% and also has lower HBM and wall time. AgentCollab uses 1.5× Strong-only’s HBM and 3.0× its wall time (source: §4.2). On VitaBench, by contrast, AgentCollab reaches 50.0%, above Strong-only’s 48.0% and 5.5 points above SpecAgent’s 44.5%. In exchange, AgentCollab uses 1.4× SpecAgent’s HBM and 1.4× its wall time (source: Tab. 2). Thus the point is not that “SpecAgent is always better” but that on VitaBench, AgentCollab is the expensive quality option and SpecAgent is the cheaper operating point.

5.3 Comparison with Speculative Actions

The paper ports Speculative Actions to τ² and obtains 72.0% (Airline) and 48.5% (Retail). This is below Weak-only’s 80.0%/80.4%, and Strong calls are 17.4/17.1, more than Strong-only’s 13.8/13.1 (source: Tab. 2, Appx. E). The authors state, however, that these numbers come from porting the public implementation as is. The public implementation executes background tool calls in the real environment without a read-only filter and adds results to the context without checking speculated user messages against actual ones. This result should therefore be read as a property of the released implementation, not as the performance of the guarded design described in the paper (source: Appx. E). This comparison should not be overinterpreted as evidence of SpecAgent’s superiority.

5.4 Summary of Wins and Losses

ComparisonSpecAgent advantageCaveat
Strong-onlyτ² quality tie/0.9-point gap, HBM 43–57%, wall 41–54%, Strong calls 13.8→3.1Auto −4.7 points, Vita −3.5 points, FLOPs +30–87%
AgentCollabτ² quality +0.7/+2.0 points, HBM 1.6–1.9× lower, wall 2.6–3.1× lower, Auto quality +3.2 pointsVita 44.5% vs 50.0%, AgentCollab reaches higher quality with 1.4× resources
Speculative ActionsBetter quality and resources in this portComparison is with the released implementation, not the guarded design

The message of this table is clear. SpecAgent is not “best everywhere” but offers a low-cost operating point close to Strong quality. The price is more compute and, in workflows with low acceptance, more quality given up.


6. Limitations and Risks

6.1 Limitations Acknowledged by the Authors

  • Compute does not fall. Estimated FLOPs rise by 30–38% on τ²/AutomationBench and 87% on VitaBench. The authors state that the method is suited to memory-bandwidth-bound serving (source: §1, §5). On H20, once the decode batch exceeds about 37 sequences, decode becomes compute-bound, and the FLOPs increase can turn into a time cost (source: §5).
  • No latency gain in edge–cloud. When the local Weak model takes about as long as the hosted Strong model, the latency term in Proposition 2 does not deliver a gain. On MCP-Atlas, wall time was 105→120 seconds, 110→108 seconds, and 151→215 seconds (source: §4.3, Tab. 3).
  • Low acceptance reduces savings. AutomationBench recovers only 44% of the quality gap, and separate repair of rejected drafts dominates cost (source: §4.2, §5).
  • HBM numbers are estimates. Because Strong MoE expert routing is unknown, results are reported as intervals, and the Strong deployment was not validated with hardware counters. Only the Weak model received spot checks within 5–10% (source: Appx. B.4).
  • The cost model is a first-order approximation. It assumes acceptance at each step is independent and the per-task average acceptance rate $p_u$ is constant. Real draft errors may be correlated (source: §3.3, Assumption 2).
  • The Speculative Actions comparison is a port. It mixes in properties of the public implementation and is not a fair comparison with the guarded design (source: Appx. E).

6.2 Risks Inferred by the Reviewer

The following are the reviewer’s interpretations, not direct measurements in the paper.

  • Safety of false accepts. If the Strong verifier accepts an incorrect state-changing action, that error is irreversible. The paper measures success rates but does not separately report the verifier’s false accept rate and false reject rate. Whether a single review is sufficient depends on task risk (source: §3.2, §4).
  • The assumption behind read classification. The classification that “reads do not change state” depends on benchmark documentation and observed effects. If a tool classified as a read leaves side effects such as external logs, notifications, caches, or costs, logical rollback alone is not enough. The paper also acknowledges that rejected reads may leave external traces (source: Appx. D).
  • User-visible responses. On τ² and VitaBench, replies are not held, because they return as observations to a user turn without changing the database. However, a promise such as “I will issue your refund” is a commitment already delivered to the user. The verifier prompt instructs the model to treat this as a commit, but that is not a structural guarantee (source: Appx. D, Fig. 4).
  • Scope of generalization. The core experiments focus on one Weak model (Qwen3.5-4B) and one main Strong model (Qwen3.5-397B-A17B). MCP-Atlas compares three Strong models, but the Weak model is fixed. Coding agents, computer use, multi-agent settings, long trajectories of more than 100 steps, and other tool ecosystems are not validated (source: §4.1, Tab. 3).
  • Statistical evidence. The confidence intervals on τ² are wide, and paired CIs for AutomationBench/VitaBench are not reported in the main text. Point estimates alone are insufficient to claim “equivalence” or “superiority” (source: §4.2, Appx. B.1).
  • Security and privacy. Because read tools are called speculatively with real credentials, the attack surface for access logs and data exposure grows. This risk is not quantitatively evaluated in the paper.
  • Tool latency and queueing. The cost model ignores tool latency, and wall time is measured with 8 tasks running concurrently. Real production queueing, rate limits, and tool server latency can change the results (source: §3.3, §4.1).
  • Truncation of review context. On VitaBench, tool results are truncated for the verifier; on MCP-Atlas, older tool results are truncated. This can create evidence the verifier misses (source: Tab. 9).

7. What’s Next?

The authors’ proposed direction is clear. A stronger Weak drafter and a better-calibrated verifier translate directly into memory and latency savings without changing the protocol (source: §6). Because SpecAgent’s gain scales with acceptance, improving the Weak model’s capability and the verifier’s judgment quality is itself performance improvement.

From the reviewer’s perspective, there are four directions.

  1. Adaptive review. Estimating per-task acceptance online and adjusting $K$ and review frequency can reduce repair cost in rejection-heavy workflows like AutomationBench. Conversely, workflows with high acceptance can allow longer chunks.
  2. Verifier calibration and safety. False accepts/rejects should be measured, and high-risk writes should combine multiple verification or tool-level transactions. Making “a single review” a structural guarantee requires managing the verifier’s error rate separately.
  3. Expanding the irreversible boundary. The current boundary is state-changing tool calls and some final messages. A design is needed that includes user-visible promises, external side effects, access logs, and personal data exposure in the boundary.
  4. Expanding deployment conditions. Validation is needed on high-batch/compute-bound serving, real HBM counters, more diverse model combinations, and coding, computer-use, and multi-agent tasks. Combining with each model’s speculative decoding or overlapping Weak/Strong asynchronously in edge–cloud are natural directions as well.

8. Conclusion

SpecAgent’s core is not training a new model but changing the Strong model’s role. The Strong model becomes a reviewer of trajectories that the Weak model built on real observations, rather than the author of every step. Speculation proceeds freely while it is reversible, and verification happens only at the irreversible boundary. Acceptance is judged by semantic validity rather than exact match with the Strong model, and reviewing multiple steps in a single prefill turns Strong decoding into short verdicts and occasional repairs.

The results show that this design creates a realistic operating point. On τ² it maintains quality within 1 point of Strong-only while reducing HBM-read to 43–57% and wall time to 41–54%; on MCP-Atlas it uses only 36–50% of Strong output tokens while recovering 53–75% of the quality gap. At the same time, the 44% recovery on AutomationBench, the quality shortfall versus AgentCollab on VitaBench, the 30–87% increase in FLOPs, and the lack of latency gain in edge–cloud show that this method is a conditional optimization.

The idea that will last longest can be summarized in three sentences. Verify only at irreversible boundaries. Accept valid prefixes semantically. Amortize verification cost through prefill. The Strong model does not need to write every step, but this saving is safe only in workflows where review is cheaper than generation and where review errors are tolerable.

Tables from the paper

Tables converted mechanically from the arXiv e-print LaTeX source. The numbers are the paper’s own and did not pass through a model.

Table 1. Representative trajectory length per task for frontier agents, in turns (messages from the agent, the user, and tools).

Real-World MCP ServicesTransactional InteractionBusiness WorkflowsLife Services
20–30 turns30–80 turns40–60 turns50–100 turns

Table 2. Quality and mean per-trajectory resources of the agent models on $\tau^2$-Bench, AutomationBench, and VitaBench (Delivery). Compute and HBM-read are estimated from logged tokens and model architecture, assuming prefix reuse within a task. HBM-read of a Strong MoE model is a range, because the number of experts a prefill pass reads is not logged; the dense Weak model has a point estimate. Calls count Weak and Strong model calls per trajectory. Per benchmark, excluding Weak-only, the best value in each column except Calls is in bold and the second best underlined.

MethodPass@1 (%) $\uparrow$HBM-read (TB) $\downarrow$Wall-time (s) $\downarrow$Est. compute (PFLOP) $\downarrow$GPU$\cdot$s $\downarrow$Calls (W/S) $\downarrow$
$\tau^2$-Bench (Airline)
Weak-only (4B)80.0$83.8$69.70.1866.0$14.1/0.0$
Strong-only (397B)86.0$[333.2,341.6]$305.20.784828.4$0.0/13.8$
AgentCollab85.3$[276.6,289.4]$385.21.125629.3$9.0/18.5$
Speculative Actions72.0$[429.5,438.2]$665.60.899990.6$4.5/17.4$
SpecAgent86.0$\mathbf{[147.6,150.1]}$126.21.01860.4$15.5/3.1$
$\tau^2$-Bench (Retail)
Weak-only (4B)80.4$48.4$45.70.1441.2$13.3/0.0$
Strong-only (397B)88.6$[192.8,201.8]$162.40.582535.6$0.0/13.1$
AgentCollab85.7$[171.9,184.2]$223.20.983147.8$10.3/16.6$
Speculative Actions48.5$[270.4,280.4]$263.50.683944.7$5.0/17.1$
SpecAgent87.7$\mathbf{[107.3,109.7]}$87.50.81789.7$13.8/3.1$
AutomationBench
Weak-only (4B)6.8$94.5$60.10.2960.0$20.4/0.0$
Strong-only (397B)15.2$[324.0,337.3]$307.41.104483.2$0.0/17.4$
AgentCollab7.3$[470.0,510.6]$932.03.998603.0$15.7/54.8$
SpecAgent10.5$\mathbf{[264.5,273.6]}$174.91.521761.0$24.4/11.8$
VitaBench (Delivery)
Weak-only (4B)34.0$77.6$86.30.2174.2$26.0/0.0$
Strong-only (397B)48.0$[249.6,262.0]$197.30.723018.9$0.0/21.9$
AgentCollab50.0$[212.3,220.1]$183.40.762329.6$19.1/23.9$
SpecAgent44.5$\mathbf{[154.9,161.1]}$135.21.34814.0$25.5/8.2$

Table 3. Edge–cloud deployment on MCP-Atlas (101 tasks, real MCP servers, one trajectory per task). The Weak model, Qwen3.5-4B, runs on one local RTX 5090; each Strong model is served by its provider’s cloud API. The Weak-only row is shared by all groups. Resources are per-task means and API cost is the total over all tasks at list price, excluding the local GPU.

MethodPass@1 (%) $\uparrow$HBM-read (TB) $\downarrow$Strong output tokens $\downarrow$Wall-time (s) $\downarrow$Est. compute (PFLOP) $\downarrow$API cost ($) $\downarrow$
Weak-only (4B)44.639.1–1090.670.00
Strong: Qwen3.5-397B-A17B
Strong-only (397B)72.3$[119.5,128.6]$3.6k1051.721.39
SpecAgent59.4$[105.7,109.0]$1.8k1202.641.12
Strong: GLM-5
Strong-only (GLM-5)76.2$[377.6,389.4]$4.6k11010.078.91
SpecAgent67.3$[217.0,223.1]$2.1k10810.505.54
Strong: DeepSeek-V4-Flash-0731
Strong-only (DeepSeek)84.2$[150.3,151.7]$10.6k1513.381.37
SpecAgent74.3$[102.7,103.5]$3.8k2152.630.81

Table 4. Strong decoding relative to Strong-only: predicted from , scaled by the ratio of committed steps per trajectory to that of Strong-only (1.05–1.41), and observed. Time is Strong generation time relative to that of Strong-only.

Verify $c_v$Verify $\bar v/\bar d$Repair $c_r$Repair $\bar d_r/\bar d$Predicted decodedObserved HBMObserved time
Airline0.1450.670.0461.270.170.170.16
Retail0.1521.350.0571.320.300.300.30
AutomationBench0.2770.250.2041.520.530.540.38
VitaBench0.2160.530.1001.360.280.290.24

Table 5. Prefix-reuse rules. $M$, $B^{v}$, and $B^{c}$ are running maxima kept per session and updated after each request.

Request familyNewly processed tokens $P_q$Rationale
Weak draft, Strong act$\max(0,\,I_q-M)$append-only transcript
Strong verification$c_q+\max(0,\,I_q-c_q-B^{v})$candidate $c_q$ is new text
Strong repair$300+\max(0,\,I_q-300-B^{c})$rejection note is new text

Table 6. Architecture parameters used by the estimators (text backbone).

Qwen3.5-4B (Weak)Qwen3.5-397B-A17B (Strong)
Hidden size $h$ / vocabulary $V$2560 / 248,3204096 / 248,320
Layers: full attention / Gated DeltaNet8 / 2415 / 45
Query / KV heads, head dim $d$16 / 4, 25632 / 2, 256
DeltaNet value heads $n_v$, $d_k{=}d_v$32, 12864, 128
MLPdense, $m=9216$MoE, $E=512$, $k=10$
Expert / shared width $m_e$ / $m_s$–1024 / 1024
Weights / KV / recurrent stateBF16 / BF16 / FP32BF16 / BF16 / FP32

Table 7. Architecture parameters of the MCP-Atlas Strong models GLM-5 and DeepSeek-V4-Flash-0731 used by the estimators.

GLM-5DeepSeek-V4-Flash-0731
Hidden size $h$ / vocabulary $V$6144 / 154,8804096 / 129,280
Layers78 (first 3 dense)43
AttentionMLA + DSAsliding window + compressed
Query / KV heads64 / 6464 / 1
Head dim (q/k, v)256 (192 + 64 rope), 256512 (64 rope)
Low-rank projection dimsquery 2048, KV 512query 1024, output 1024 (8 groups)
Indexer heads $\times$ dim, top-$k$$32\times128$, 2048$64\times128$, 512
MLPMoE, $E=256$, $k=8$MoE, $E=256$, $k=6$
Expert / shared width $m_e$ / $m_s$2048 / 20482048 / 2048
Dense MLP width $m$12,288–
Weights / experts / KVBF16 / BF16 / BF16FP8 / FP4 / FP8

Table 8. $\tau^2$-Bench single-model baselines. Pass@1 is mean binary reward per attempt; pass@3 requires at least one successful attempt per task, and pass$^3$ requires all three. Scores are percentages. Airline contains 50 tasks and Retail 114 tasks, each with three attempts.

DomainMethodPass@1 (%) $\uparrow$Pass@3 (%) $\uparrow$Pass$^3$ (%) $\uparrow$
AirlineWeak-only (4B)80.096.064.0
Strong-only (397B)86.096.072.0
RetailWeak-only (4B)80.495.661.4
Strong-only (397B)88.696.576.3

Figures in this post are taken from the original arXiv:2610.21463 (CC BY 4.0). Only size and format were changed.

License

Author: Jaehun Ryu

Link: https://jaehun.me/en/posts/paper-2610-21463v1/

License: CC BY 4.0

This work is licensed under the Creative Commons Attribution 4.0 International License. You are free to use it for any purpose, including commercial use, as long as you provide proper attribution.

Comments