Most teams can wire up an impressive agent demo in a weekend. The gap between that demo and something you can put in front of paying customers is where the real engineering lives — and it is mostly not about the model.
The demo hides the hard 80%
A demo runs once, on a friendly input, with someone watching. Production runs thousands of times a day on inputs nobody anticipated, with no one watching, and a bill attached to every call.
The work that closes the gap is unglamorous: input validation and guardrails, retrieval that stays fresh, evaluation you can trust, cost controls, fallbacks for when the model is slow or wrong, and observability so you can tell why a bad answer happened. None of it shows up in a demo; all of it decides whether the feature ships.
Evaluation is the product, not an afterthought
You cannot improve what you cannot measure, and “it looked good when I tried it” does not scale. A production agent needs a real evaluation set — representative inputs, expected behaviours, and a scoring method — run automatically on every change.
Without it, every prompt tweak is a gamble and every regression is discovered by a customer. With it, you can move fast because you can see what each change actually did.
Design for the model being wrong
Assume the model will occasionally be confidently incorrect, slow, or unavailable. The system around it should degrade gracefully: constrain outputs to what can be verified, keep a deterministic fallback path, show sources so users can check, and never let an agent take an irreversible action without a human gate.
Treated this way, AI becomes a component you can reason about — not a black box you hope behaves.