Home > Insights > Production Voice Agents
Insights

How to Build a Production Voice AI Agent

A production voice agent is a latency budget, an escalation policy and an evaluation set that happen to be wrapped in speech. Get those three right and the model choice becomes a detail — get them wrong and even the best model produces calls customers dislike.

The short answer

A production voice agent is a latency budget, an escalation policy and an evaluation set that happen to be wrapped in speech. Get those three right and the model choice becomes a detail. Get them wrong and the best model available will still produce calls your customers dislike.

The four constraints that decide everything

⏱️Latency

Speech recognition, retrieval, tool calls and synthesis all share one budget. Architecture is mostly the work of keeping the critical path short.

🔈Turn-taking

Barge-in, silence handling and endpointing. Callers interrupt; software that cannot handle it sounds broken even when its answers are correct.

🛡️Guardrails

What the agent may promise, what it must escalate, and how it behaves when it does not know. Reliability is a policy question before it is a model question.

📊Evaluation

A scored set of real call scenarios. Without it, every prompt or model change is an unmeasured gamble on live customers.

An architecture that hits the budget

Telephony / SIP→ Streaming STT→ Intent + slot routing→ Retrieval / tool calls→ Streaming TTS→ Logs, tags & handoff

Latency budget, line by line

StageTargetWhat usually breaks it
Endpointing / turn detection< 200 msFixed silence timers that add dead air to every turn.
Streaming speech recognition150–300 msBatch transcription instead of streaming.
Intent routing and slot fill< 150 msSending every turn to the largest available model.
Retrieval or backend tool call< 300 msUnindexed queries and synchronous third-party APIs.
Response generation (first token)< 400 msLong prompts rebuilt on every turn.
Streaming speech synthesis< 200 ms to first audioGenerating the whole utterance before playing any of it.

Guardrails and escalation

Testing before you dial out

  1. Build a scripted suite covering happy paths, interruptions, silence, background noise, accents and edge intents.
  2. Run it on every prompt, model or telephony change and record intent accuracy, containment rate and false-transfer rate.
  3. Shadow-run against a slice of live traffic where the agent recommends an action but does not speak to the caller.
  4. Enable outbound calling only after containment and escalation metrics hold on the shadow data.

We cover the delivery side on the AI voice agent development page and the pattern notes on reliable voice AI agents, with vertical detail for insurance, real estate and recruitment.

Frequently asked questions

Respond within roughly 300 to 800 milliseconds for the perception of a normal conversation. Beyond about one second callers start talking over the agent or assuming the line has dropped. That budget covers speech recognition, retrieval or tool calls, and speech synthesis, so it has to be designed rather than hoped for.
Barge-in detection: the agent stops speaking the moment the caller starts, keeps the partial transcript, and responds to the new turn instead of finishing its script. Without it, calls feel robotic and callers repeat themselves, which is the fastest way to lose trust in the system.
On low confidence, on explicit request, on sentiment signals such as frustration, and on any policy category you define — payments, medical advice, complaints. The transfer carries the full transcript and captured fields so the caller never repeats themselves.
With a regression suite of recorded and scripted calls covering happy paths, interruptions, silence, accents, background noise and edge intents, plus shadow running against live traffic where the agent recommends but does not speak. We measure intent accuracy, containment rate and false-transfer rate before enabling outbound dialling.
Cost is driven by telephony minutes, speech recognition, model tokens and synthesis, and it scales with call volume rather than seats. A constrained design — small fast model for routing, retrieval only where needed, batching non-realtime work — usually matters more than the provider you pick.
Talk to an engineer about your project →