2026-03-10 AGENTS

The 50-step cliff is real

Four frameworks, one 100-step ops workflow, 40 runs each. Traces or it didn't happen.

Everyone building agents has felt it: the run that's flawless for twenty minutes and then quietly loses the plot. We wanted to know if the feeling was a real phenomenon or survivor-story folklore. So we took one of our internal ops workflows — 100 steps, real tools, deterministic ground truth at every checkpoint — and ran four agent frameworks against it, 40 seeded runs each, same model underneath.

It's real. All four frameworks nose-dive in the same band:

checkpoint pass rate (mean of 4 frameworks)
step 10   ████████████████████  96%
step 20   ███████████████████   93%
step 40   █████████████████     84%
step 50   ████████              41%   ← the cliff
step 60   █████                 27%
step 80   ████                  22%

Not a slope — a cliff. Between steps 40 and 60, pass rates halve. Reading ~600 failure traces, the modes sort cleanly into four buckets, and they are not equally deserved:

Context dilution (avoidable). By step 45, the original task statement is a rumor buried under tool output. Frameworks that re-inject a compact task state every N steps basically don't fall off here. Frameworks that just append… do.

Error compounding (avoidable). A small step-30 mistake — a wrong ID, an off-by-one date — survives unexamined and detonates twenty steps later. Cheap deterministic validators between phases catch most of these. Asking the model to double-check itself catches noticeably fewer.

Tool-call drift (partially avoidable). Long runs erode argument discipline — fields get renamed, optional params invented. Strict schemas with rejection + retry recover about half of these failures. The other half retry into the same wall until the step budget dies.

Goal amnesia (not yet avoidable). The run stays syntactically perfect and semantically wrong — executing a plan that no longer serves the goal. No harness trick we tried fixes this. This one is a model problem, and it's the honest frontier of long-horizon work.

With the three avoidable buckets patched — state re-injection, phase validators, strict schemas — our best configuration holds 81% at step 80. The cliff doesn't disappear; it moves, and flattens. Which is the practical takeaway: if your agent dies around step 50, it's probably not the model. It's the harness. That's good news, because the harness is the part you control.

← back to notes.log reply → hello@miaomind.com