The demo is flawless. The agent reads the support ticket, categorizes it, looks up the customer, drafts a response, updates the CRM, and posts a summary in Slack. Everyone nods. Someone says, “This is going to save us hundreds of hours.”

Two weeks later, the same agent has replied to the wrong customer, created thirty-one duplicate tasks, retried a refund until the payment provider rate-limited it, and burned through the monthly API budget in one afternoon.

The model did not suddenly become stupid.

The system around it was never production-ready.

Most AI agent failures are not caused by the model being “not smart enough.” They are caused by missing engineering controls: weak permissions, absent evaluations, vague tool contracts, context overload, prompt injection, implicit state, uncontrolled retries, and no real failure path.