Lab note

From prototype to production AI agent

The demo is roughly ten per cent of the work, and it is not the ten per cent that determines whether the thing survives contact with customers.

NEOB Engineering Published 6 min read

Agent prototypes are unusually convincing. They work on the happy path immediately, which makes the remaining distance look shorter than it is.

ConcernPrototypeProduction
Tool errorsThrows, loop retriesError / empty / refusal distinguished at the boundary
Side effectsFires every timeIdempotency keys derived from intent
PermissionsFull accessScoped per tenant and per agent
Irreversible actionsJust does themHuman approval gate
Failure pathApologisesHandover with context attached
ObservabilityConsole logsPer-iteration traces, structural signals, review queue
CostUnboundedPer-conversation budget and a hard stop
Change safetyTry it and seeFixed scenario suite run on every change
The same capability, at two levels of seriousness.

The three that get skipped

  1. Idempotency. Agents retry. Without keys derived from intent, retries duplicate side effects, and the duplicate is discovered by the customer.
  2. The handover path. Every agent needs a way to stop and fetch a person, carrying context. Retrofitting this is painful because the context was never structured for handing over.
  3. A cost ceiling. A loop that cannot terminate is a bug in the prototype and an invoice in production.

What we would tell ourselves earlier

Instrument the stages separately before optimising any of them, and decide what "task completed" means for this deployment *before* launch. Both are cheap in week one and expensive in month six - the second one especially, because a completion definition retrofitted onto historical calls tells you about the definition, not the calls.