TL;DR
Running AI in production is an operations discipline, not a modeling one. Nine failure modes that hit every deployment, and the controls that catch them.
→ See how this applies to your business (free 30-min call)Almost everything written about AI infrastructure is about the build. Almost every failure is about the operation.
The pattern is consistent enough to be predictable: a system works beautifully in testing, ships, and then produces a slow accumulation of strange behavior that nobody can explain because nobody instrumented it. Six weeks later the team's confidence in the system is gone, and the technical debt is in the trust, not the code.
These are the nine things that break, in the order you'll encounter them.
1. Nondeterminism Makes Bugs Un-reproducible
Traditional software fails the same way twice. AI systems don't. The same input can produce different outputs, which means "I can't reproduce it" stops being a valid closing state for a bug.
The control: log the complete request context for every call — the full prompt as sent, the model and version, temperature and sampling parameters, the tools available, and the raw response. If you can't reconstruct exactly what the model saw, you cannot debug it. This is the single highest-value thing to build first, and it must exist before launch, not after the first incident.
2. Model Versions Move Underneath You
Providers deprecate models, roll updates, and change default behavior. A prompt tuned against one version can degrade meaningfully against its successor, with no error and no deploy on your side.
The control: pin explicit model versions rather than aliases. Subscribe to deprecation notices. Maintain a regression suite you can run against a new version before you migrate, and treat model upgrades as deployments with a rollback plan — because that's what they are.
3. There's No Definition of "Correct"
The deepest operational problem. Without an evaluation set, every change is a judgment call, every improvement is anecdotal, and prompt changes become superstition.
The control: build a test set of real inputs with expected outcomes — a hundred cases is enough to start, drawn from actual production traffic rather than invented examples. Score automatically where you can (did it extract the right field, did it route correctly, did it book the appointment) and with human review where you can't. Run it on every change. Track the score over time.
This is the boring, unglamorous work that separates systems that improve from systems that drift.
You cannot operate what you cannot measure, and you cannot measure a nondeterministic system without an evaluation set. Build it before the features.
4. Latency Budgets Are Violated Silently
Every AI system has a latency budget imposed by its use case. An internal document summarizer can take thirty seconds. A voice agent in a live conversation has under two seconds before the silence becomes unnatural. A lead response system has minutes before the economics change.
The control: define the budget explicitly, per use case, and monitor the tail rather than the average. P50 latency tells you nothing useful — P95 and P99 are where users live. Set alerts on the tail. And design a fallback: what does the system do when the model call exceeds budget? Failing to a fast, dumber path is almost always better than waiting.
5. Cost Per Request Drifts Upward
Prompts accumulate. Context windows grow. Someone adds a reflection step. None of these are individually noticed, and cumulatively the cost per request can double in a quarter.
The control: track cost per completed task as a first-class metric alongside latency and quality. Set per-request budget caps and hard step limits on any agent loop. Alert on anomalies rather than only on totals, because a runaway loop is visible in the distribution long before it's visible in the monthly bill.
6. Failure Modes Are Partial, Not Total
Conventional systems fail loudly. AI systems fail plausibly. The model returns a confident, well-formatted answer that's wrong, and everything downstream treats it as valid.
The control: validate structure with schemas, and validate substance with rules. If an agent extracts a phone number, check it parses. If it books an appointment, check the slot exists and is in the future. If it classifies a lead, check the class is in your enum. Route anything that fails validation to a human queue rather than swallowing it. Confidence thresholds on the model's own output are useful but not sufficient — models are poorly calibrated about their own errors.
7. State and Memory Don't Survive Reality
Conversation state kept in process memory works until the process recycles. Distributed deployment means the second request may reach a different instance. Retries replay actions that already happened.
The control: durable state from day one, and idempotency keys on every side-effecting action. This is the difference between a retry being harmless and a retry double-booking a customer, sending a duplicate message, or charging a card twice. Every production incident of this kind we've seen traces to a missing idempotency key.
8. Data Handling Becomes a Compliance Problem Late
PII flows into prompts. Transcripts get stored. Recordings accumulate. Nobody set a retention policy because the system was a pilot, and now it's production and there's eighteen months of customer conversation in a bucket.
The control: decide retention, redaction, and residency before launch. Redact sensitive fields before they reach a provider where policy requires it. Know what your provider retains and for how long. In voice systems, handle consent and recording disclosure according to the jurisdictions you operate in — this varies significantly and getting it wrong is expensive.
9. Nobody Owns It
The most common failure, and the one that causes the others. The system was built by a project team that dispersed. There's no on-call, no dashboard anyone looks at, no weekly review. It degrades quietly.
The control: a named owner, a dashboard with the four metrics that matter, and a recurring review. Fifteen minutes a week beats a quarterly emergency.
The Four Metrics Worth a Dashboard
Everything above collapses into a small number of things you should be able to see at a glance:
Task success rate — did the system complete what it was asked to do, measured against your evaluation criteria
P95 latency — the tail, not the average
Cost per completed task — trended weekly
Human intervention rate — how often something fell out to a person, and why
If those four are stable or improving, the system is healthy. If intervention rate climbs while success rate holds, something upstream changed. If cost climbs while latency holds, a prompt grew. Each pattern points somewhere specific.
The Weekly Review That Catches Most of This
Fifteen minutes, one person, every week. This single ritual prevents more incidents than any tool.
Look at the four metrics against last week. You're looking for direction, not absolute values.
Read five traces at random, plus every trace that hit a validation failure. Random sampling catches the strange behavior that never triggers an alert.
Check the intervention queue. What fell out to a human, and is there a pattern? Three similar interventions is a design change, not three incidents.
Review the cost distribution, not just the total. A widening tail means something is looping.
Check provider deprecation notices. Two minutes, and it's how you avoid discovering a model retirement from a production failure.
Run the evaluation suite if anything changed. If nothing changed, run it anyway monthly — provider-side updates change behavior without a deploy on your end.
Write down anything odd, even if you don't act on it. The value compounds: the third time you note the same oddity, you've found a real problem that no single observation would have surfaced.
What This Looks Like Operated Well
The systems we run for clients treat the ninety-second response window as a service level objective with alerting behind it, not a marketing claim. Every call is traced end to end: what the agent heard, what it decided, what it wrote back into the GoHighLevel pipeline. Every qualification decision is inspectable after the fact, which is what makes the qualification rate a number we can improve rather than a number we report.
That's the actual difference between a demo and an operated system. Not model quality. Instrumentation, ownership, and a definition of correct.
Where to Start
If you're standing up AI in production and can only do three things before launch: build the request logging, build the evaluation set, and add idempotency keys to every side-effecting action. Those three prevent the majority of what will otherwise go wrong, and each one is dramatically harder to retrofit than to build.
If you'd rather have the operational discipline come with the system, [book a free strategy call](/book) and we'll walk you through how we instrument, measure, and run these in production.
Free Weekly Briefing
One AI Marketing Tactic.
Every Tuesday. Free.
What's actually working across our client accounts right now — ROAS moves, follow-up sequences, creative angles. The stuff that isn't in any blog post yet.
No spam. Unsubscribe anytime. 1,200+ business owners already in.