The news. In July 2026, researchers posted STRACE to arXiv. It targets a plumbing problem in improving long-horizon agents from their own runs: the execution traces you'd learn from are redundant, heterogeneous, and full of irrelevant steps. STRACE reduces each trace to the steps that causally explain a failure and points at the module to optimize. On VeruSAGE-Bench, it lifts human-designed formal-verification agents from 42.5% to 58.5% success — about a 1.4× gain. Read the paper →

Picture the detective's cork board. A hard case leaves you with a wall of pinned clues — statements, receipts, camera stills — and most of them lead nowhere. The mistake a rookie makes is to read only the last few pages of the file, because that's where the body turned up; but the act that doomed the case happened early, and every later clue only inherited it. An agent's execution trace is that wall. When a long-horizon agent fails a task, its trace is a long, noisy trail — searches, tool calls, dead ends — and if you want to learn from the failure to improve the agent, you first have to cut that wall down to what matters.

The tempting cut is by length: keep the most recent N steps, or whatever fits the context budget, and throw the rest away. That is exactly the rookie's move — it optimizes for recency, and the step that actually broke the run can sit early, far from the tail. A misparsed table early in the run quietly poisons every step after it; trim to only the most recent steps and you've deleted the cause while keeping its inherited symptoms. Feed that back into training and you'll "fix" the wrong module. This is the error-analysis gap the Evals & Diagnostics module keeps hammering: you cannot fix what you cannot locate, and length is not location.

STRACE cuts by cause instead, in two passes. First, at the batch level, it mines failure patterns across many runs and keeps one representative per pattern — the near-identical witness statements collapse to a single card, so redundant traces don't all get re-analyzed. Then, within each kept trajectory, it builds a textual dependency graph — the red string linking each step to the ones it depended on — and performs causal localization: it walks backward from the failure along those edges, keeps the steps that explain it, and names the module to fix. The output isn't a shorter log; it's a pointer at a root cause.

Way to shrink a traceWhat it keepsWhat it loses
Length-based trimmingthe most recent steps / whatever fits the budgeta causal step that isn't recent
Dedup by similarityone copy of each look-alike stepstill answer-blind — no cause, no module
STRACE (causal localization)the causal steps + the module to optimizeredundant & irrelevant steps (kept the cause: 42.5% → 58.5% on VeruSAGE-Bench, paper)

Here is why the causal cut is worth the trouble. Picture one failed run of, say, 40 logged steps where the true culprit is step 6 (illustrative step counts; the paper's per-trace lengths vary). Length-based trimming keeps the last 10 to fit a budget, so step 6 is gone, and you'd tune whatever module ran near step 35 while the real bug survives. STRACE instead follows the dependency edges back, keeps the handful of steps on the causal path, and discards the rest as redundant. Fed those causally-reduced traces, a human-designed formal-verification agent's success rate climbs from 42.5% to 58.5%, about 1.4× (only the 42.5% → 58.5% and 1.4× figures on VeruSAGE-Bench come from the paper). The lever is the traces themselves: causally reduced instead of length-trimmed.

Goes deeper in: AI Agents → Evals & Diagnostics → Error Analysis First

Continue in trackObservability: replaying an agent's trace to find where it broke

Related explainers

Frequently Asked Questions

Check what you knowMap your AI & GPU knowledge across every track — free, role-based