Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
AI Apps

Designing for the Day the Model Is Unavailable

Last updated:

Four failures, all certain

  1. Provider outage — the API is down or degraded
  2. Rate limit — you have exceeded your allowance, usually at your busiest moment
  3. Timeout — the response is too slow for the user waiting
  4. Unparseable output — the model returned something that does not fit the expected structure

Each needs a decided behaviour before launch. Deciding under pressure at 11pm produces worse decisions.

Queue, degrade or fail clearly

  • Background work: queue and retry with backoff. Nobody is waiting; nothing is lost.
  • Interactive, non-critical: degrade to a smaller or alternative model.
  • Interactive, critical: fail with a clear message and a manual route. Never a spinner that never resolves.
  • Unparseable output: retry once with stricter instruction, then quarantine for review.

Silent failure is the one that costs

A feature that quietly returns nothing, or returns empty results that look like “no matches”, can run wrong for weeks. Errors get noticed; silence does not.

So we alert on absence: zero output where output is normal, volume outside the expected band, a sudden change in refusal rate.

Cost failures count too

An unnoticed loop can spend a month's budget over a weekend. Hard caps per day and per user, an alert at a threshold, and a decided behaviour when the cap is reached.

That behaviour should be degrade or queue rather than a crash, and it should be chosen deliberately.

Give someone a switch

A person in the business should be able to disable the AI step in seconds without calling us, with the system falling back to the manual path.

When output is going wrong at volume, that matters more than any feature, and it is trivial to build if designed in from the start.

Frequently asked questions

How often do providers actually go down?

Rarely enough to be forgotten and often enough to matter. Degraded latency is more common than a full outage and causes more user-visible problems.

Should we run a fallback provider?

Where downtime has a real business cost, yes. It adds complexity and requires the evaluation set to be run against both.

What about partial failures?

Route the failed items to quarantine with the input preserved, process everything else, and report the quarantine count. One bad record should never stop a run.

How do we test failure handling?

Deliberately: block the provider, throttle it, feed it malformed input. Testing only the happy path means discovering the failure design in production.

Keep reading

Have an AI feature with no failure plan?

It works until it does not. Tell us what it does and we will tell you which four behaviours need deciding.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

AI AgentsCustom Software DevelopmentSaaS Development