Failure modes in multi-agent teams: how a crew of agents breaks differently

A single agent fails by getting the task wrong. A team of agents fails in ways no single agent can: correlated collapse, diffused responsibility, context fragmentation, and consensus that converges on nothing. The four failure modes that only exist once you have more than one agent — and why adding agents can lower reliability.

July 21, 2026 · 5 min · 1043 words · Loop & Retry

Prompt caching: what actually gets cached, and when it silently misses

Prompt caching can cut your input-token bill by 90% on the reused part of a request — or do nothing at all, with no error to tell you which. It’s an exact-prefix match with a short TTL, and small, common mistakes in how agents build requests break it silently. Here’s what actually gets cached, the five ways real agents lose the discount without noticing, and how to check whether yours is.

July 20, 2026 · 8 min · 1596 words · Loop & Retry

Context contamination: why retrying the same prompt makes it worse

The default retry pattern — catch the failure, append ’that didn’t work, try again,’ resend the same messages — doesn’t give the model a clean second attempt. It gives the model a context window containing its own wrong answer, which is exactly the thing most likely to make the second attempt rhyme with the first. Why retries poison the window, how to tell a poisoning retry from a safe one, and a scrub step that keeps the constraints without keeping the wrong path.

July 19, 2026 · 7 min · 1292 words · Loop & Retry

Your timeout is a bet: pricing the tradeoff before you pick a number

Every per-step timeout is a number someone typed in without a model behind it — too short and you kill real work in flight, too long and you pay to sit idle waiting on a hang. Both mistakes are failure modes with a price tag. A small cost model finds the number that actually minimizes total cost instead of the one that felt safe.

July 18, 2026 · 6 min · 1235 words · Loop & Retry

Streaming tool calls without losing your mind

Streaming a text response is easy: print tokens as they arrive, order doesn’t matter to the reader. Streaming a tool call is not, because the payload is JSON, and partial JSON is not valid JSON. The three ways people handle that mismatch, why two of them break in production, and the pattern that lets you show progress without ever executing on a half-formed argument.

July 16, 2026 · 6 min · 1076 words · Loop & Retry

Retry budgets by language: Python, Go, and JavaScript

A retry budget is a language-agnostic idea, but the place you enforce it is not. Python’s tenacity decorators, Go’s context-plus-backoff, and JavaScript’s promise chains each make a different mistake easy and a different guarantee hard. Where the shared budget lives, and the per-language trap that leaks it.

July 15, 2026 · 6 min · 1227 words · Loop & Retry

Debugging a failed agent run costs more than the run itself

The cheap part of a failed agent run is running it again. The expensive part is that you can’t — the failure was non-deterministic, so the run that broke is gone, and you pay to summon it back. A cost model shows why reproduction, not repair, dominates your debugging bill, and why always-on tracing is almost always cheaper than the alternative it replaces.

July 14, 2026 · 7 min · 1305 words · Loop & Retry

Predicting agent failure before you ship it

A demo proves an agent can succeed once. It says almost nothing about how often it will fail under real load, real input distributions, and real adversarial garbage. The failures that cost you in production are predictable before release — but only if you test the things that actually shift between the demo and the deployment. Four pre-release signals that forecast production failure, and the ones that don’t.

July 14, 2026 · 7 min · 1464 words · Loop & Retry

One bad step, N bad steps: how agent failures cascade

A single agent error rarely stays a single error. The bad output goes into the context, the next step reasons on top of it, and the mistake compounds down the trajectory — one wrong step becoming N wrong steps. This is the cascade, why it’s structurally different from a fleet-wide blast radius, and the three interruption points that stop a local mistake from eating the whole run.

July 14, 2026 · 8 min · 1527 words · Loop & Retry

Your token bill is the cheap part: dimensioning the real cost of an agent

Everyone budgets the token bill because the provider hands you an invoice for it. But an agent in production spends across five other axes that never show up on that invoice — wall-clock latency, orchestration, tool-call fees, human review, and idle polling — and for a lot of workloads the tokens are the smallest line. A model that sums all six so you can see which one you’re actually paying.

July 14, 2026 · 8 min · 1534 words · Loop & Retry