What Structurally Breaks an Agent? Auditing Difficulty in Stateful Tool-Use Workflows
Organizations: PES University, India · University College London, United Kingdom · King’s College London, United Kingdom
Abstract
An aggregate task score does not distinguish failures of scheduling, state retention, and candidate selection. We develop a small executable instrument that varies dependency depth, candidate count, active state width, and access to current-state snapshots while holding the number of required operations fixed. Two dependency-graph families show that increasing depth at fixed work changes both scheduling freedom and the number of reachable completion states, so these controls are coupled, and we quantify the coupling. The primary study contains 49,152 generated tasks and 393,216 reference-controller rollouts. A separately frozen follow-on design adds 295,936 rollouts covering retention strategy, snapshot cadence, hidden state resampling, recovery, query locality, candidate indexing, and relabeling. Residue caches and precomputed plans solve tasks that defeat limited raw-value caches, and indexed selection removes the serial-scan branching deficit. Hidden resampling imposes an exact success ceiling that additional state tracking cannot overcome. The contribution is an executable diagnostic instrument, analytic calibration, and an audit of its assumptions. A small local CPU study with a 0.5B model completed no workflows, and a 16-episode Copilot-routed fractional factorial is descriptive only. Neither supports general capability claims.
Figures & tables
| Family | Edges | Masks | Orders | Ready nodes | |
|---|---|---|---|---|---|
| Chains | 1 | 0 | 256 | 40320 | 4.02 |
| Chains | 2 | 4 | 81 | 2520 | 2.70 |
| Chains | 4 | 6 | 25 | 70 | 1.67 |
| Chains | 8 | 7 | 9 | 1 | 1.00 |
| Barriers | 1 | 0 | 256 | 40320 | 4.02 |
| Barriers | 2 | 16 | 31 | 576 | 2.13 |
| Grid | Intervention and anchors | Configurations |
|---|---|---|
| Work | ; ; ; initial-only or every-step snapshots | 192 |
| Memory | ; fixed, next-use, residue, plan, and stale retention; initial-only or every-fourth snapshots | 96 |
| Observation | ; periods crossed with public updates or hidden independent resampling | 256 |
| Recovery | ; error allowances ; trials with replacement or elimination; both snapshot endpoints | 256 |
| Locality | ; balanced, clustered, or concentrated queries crossed with additive or static state | 192 |
| Selection | ; ; serial, fixed, redundant, and indexed selection; every-step snapshots | 36 |
| Family | Controller | Success (%) | 95% interval | Predicted (%) |
|---|---|---|---|---|
| Barriers | Exact | 100.00 | [100.00, 100.00] | 100.00 |
| Barriers | Cache-2 | 75.63 | [75.51, 75.75] | 75.56 |
| Barriers | Cache-2 + Scan-4 | 51.06 | [50.87, 51.27] | 51.13 |
| Barriers | Cache-4 | 87.89 | [87.80, 88.00] | 87.93 |
| Barriers | Random schedule | 25.00 | [25.00, 25.00] | 25.37 |
| Barriers | Scan-1 | 33.52 | [33.45, 33.61] | 33.46 |
| Family | Controller | Depth | Candidates | Width | History |
|---|---|---|---|---|---|
| Barriers | Exact | 0.00 | 0.00 | 0.00 | 0.00 |
| Barriers | Cache-2 | 0.02 | -1.68 | -49.43 | -48.75 |
| Barriers | Cache-2 + Scan-4 | -0.10 | -74.79 | -33.32 | -32.63 |
| Barriers | Cache-4 | -0.08 | -0.89 | -48.42 | -24.21 |
| Barriers | Random schedule | -100.00 | 0.00 | 0.00 | 0.00 |
| Barriers | Scan-1 | 0.07 | -100.00 | -0.23 | 0.00 |
| Family | Observed (%) | Wilson interval | Exact (%) | |
|---|---|---|---|---|
| Chains | 1 | 100.00 | [98.52, 100.00] | 100.0000 |
| Chains | 2 | 3.91 | [2.14, 7.04] | 6.2500 |
| Chains | 4 | 0.00 | [0.00, 1.48] | 0.1736 |
| Chains | 8 | 0.00 | [0.00, 1.48] | 0.0025 |
| Barriers | 1 | 100.00 | [98.52, 100.00] | 100.0000 |
| Barriers | 2 | 0.00 | [0.00, 1.48] | 1.4286 |
| Controller | Success (%) | Checks/call | Build entries | Lookups | |
|---|---|---|---|---|---|
| 4 | Exact | 100.00 | 2.49 | 0 | 0.00 |
| 4 | Indexed | 100.00 | 0.00 | 32 | 8.00 |
| 4 | Scan-1 | 0.59 | 1.00 | 0 | 0.00 |
| 4 | Sham-check-4 | 0.59 | 4.00 | 0 | 0.00 |
| 4 | Fixed-check-4 | 100.00 | 4.00 | 0 | 0.00 |
| 8 | Exact | 100.00 | 4.52 | 0 | 0.00 |
| Intervention | Level | Success | Mean completed | |
|---|---|---|---|---|
| Depth | 1 | 2/3 | 5.67 | 3 |
| Depth | 8 | 3/3 | 8.00 | 3 |
| Branching | 2 | 2/3 | 7.33 | 3 |
| Branching | 8 | 3/3 | 8.00 | 3 |
| Register width | 1 | 2/3 | 7.33 | 3 |
| Register width | 8 | 2/3 | 6.33 | 3 |
| Factor | Success difference | Operation difference | per level |
|---|---|---|---|
| Depth (8 vs. 2) | -25.0 pp | -1.50 | 8 |
| Branching (8 vs. 2) | +50.0 pp | +1.50 | 8 |
| Register width (8 vs. 1) | +25.0 pp | +2.50 | 8 |
| Snapshot vs. history | +50.0 pp | +2.00 | 8 |
| Contrast | Low success | High success | Difference (95% interval) |
|---|---|---|---|
| family (barriers chains) | 0/128 (0.000) | 0/128 (0.000) | +0.0 pp (+0.0, +0.0) |
| depth (8 2) | 0/128 (0.000) | 0/128 (0.000) | +0.0 pp (+0.0, +0.0) |
| branching (8 2) | 0/128 (0.000) | 0/128 (0.000) | +0.0 pp (+0.0, +0.0) |
| width (8 1) | 0/128 (0.000) | 0/128 (0.000) | +0.0 pp (+0.0, +0.0) |
| observation (snapshot history) | 0/128 (0.000) | 0/128 (0.000) | +0.0 pp (+0.0, +0.0) |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| n16_p0 | Cache-2 | 0.00 | 0.00 | 0.00 | 3.38 |
| n16_p0 | Exact | 100.00 | 100.00 | 100.00 | 16.00 |
| n16_p0 | Random schedule | 0.00 | 0.00 | 0.00 | 1.69 |
| n16_p0 | Scan-4 | 50.05 | 50.00 | 50.15 | 9.44 |
| n16_p1 | Cache-2 | 100.00 | 100.00 | 100.00 | 16.00 |
| n16_p1 | Exact | 100.00 | 100.00 | 100.00 | 16.00 |
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| p0 | Next-use-2 | 0.05 | 0.00 | 0.15 | 5.05 |
| p0 | Cache-2 | 0.00 | 0.00 | 0.00 | 2.98 |
| p0 | Cache-4 | 50.00 | 50.00 | 50.00 | 9.66 |
| p0 | Residue-8 | 100.00 | 100.00 | 100.00 | 16.00 |
| p0 | Precomputed plan | 100.00 | 100.00 | 100.00 | 16.00 |
| p0 | Stale-8 | 0.00 | 0.00 | 0.00 | 4.20 |
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| p0_shock0 | Cache-2 | 0.29 | 0.05 | 0.59 | 2.85 |
| p0_shock0 | Exact | 100.00 | 100.00 | 100.00 | 8.00 |
| p0_shock0 | Scan-4 | 50.68 | 50.34 | 51.12 | 5.18 |
| p0_shock0 | Uniform | 0.00 | 0.00 | 0.00 | 1.25 |
| p0_shock1 | Cache-2 | 0.00 | 0.00 | 0.00 | 2.25 |
| p0_shock1 | Exact | 0.00 | 0.00 | 0.00 | 2.25 |
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| r0_p0 | Cache-2 + eliminate | 0.29 | 0.05 | 0.59 | 2.85 |
| r0_p0 | Scan-1 + eliminate | 0.29 | 0.10 | 0.54 | 1.64 |
| r0_p0 | Uniform | 0.00 | 0.00 | 0.00 | 1.25 |
| r0_p0 | Eliminate | 0.00 | 0.00 | 0.00 | 1.25 |
| r0_p1 | Cache-2 + eliminate | 100.00 | 100.00 | 100.00 | 8.00 |
| r0_p1 | Scan-1 + eliminate | 0.29 | 0.10 | 0.54 | 1.64 |
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| balanced_additive | Next-use-2 | 0.05 | 0.00 | 0.15 | 5.05 |
| balanced_additive | Cache-2 | 0.00 | 0.00 | 0.00 | 2.98 |
| balanced_additive | Exact | 100.00 | 100.00 | 100.00 | 16.00 |
| balanced_additive | Stale-8 | 0.00 | 0.00 | 0.00 | 4.20 |
| balanced_static | Next-use-2 | 0.05 | 0.00 | 0.15 | 5.05 |
| balanced_static | Cache-2 | 0.00 | 0.00 | 0.00 | 3.04 |
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| b2 | Exact | 100.00 | 100.00 | 100.00 | 8.00 |
| b2 | Indexed | 100.00 | 100.00 | 100.00 | 8.00 |
| b2 | Scan-1 | 100.00 | 100.00 | 100.00 | 8.00 |
| b2 | Sham-check-4 | 100.00 | 100.00 | 100.00 | 8.00 |
| b2 | Scan-2 | 100.00 | 100.00 | 100.00 | 8.00 |
| b2 | Fixed-check-4 | 100.00 | 100.00 | 100.00 | 8.00 |
| Condition | Controller | Success (%) | Low | High | Calls |
|---|---|---|---|---|---|
| reverse0_p0 | Cache-2 | 0.29 | 0.05 | 0.59 | 2.85 |
| reverse0_p0 | Exact | 100.00 | 100.00 | 100.00 | 8.00 |
| reverse0_p0 | Random schedule | 0.00 | 0.00 | 0.00 | 1.29 |
| reverse0_p0 | Scan-4 | 50.68 | 50.34 | 51.12 | 5.18 |
| reverse0_p1 | Cache-2 | 100.00 | 100.00 | 100.00 | 8.00 |
| reverse0_p1 | Exact | 100.00 | 100.00 | 100.00 | 8.00 |
Agent Failure Analysis
Agent failure analysis studies how and why AI agents make errors, traces causes through execution, and helps detect or prevent recurrence.
See all 157 papers