A voice agent that demos well and a voice agent that survives production are separated by four disciplines: an evaluation harness that measures conversational behavior statistically, telemetry that turns timing events into operational signals, degradation paths that keep the agent useful when a component fails, and a capacity plan that matches the concurrency model of long-lived audio sessions. This chapter covers each, and shows how the answers change when inference runs on the device instead of in a central cluster.
Traditional QA assumes identical inputs produce identical outputs. Voice agents break that assumption by design: speech recognition, language models, and real-time orchestration are all probabilistic, and the same utterance spoken twice can take two different paths through the system. Reliability is therefore a distribution to be measured, not a test case to be passed.
A production evaluation harness combines methods that expose different failure modes:
| Method | What it isolates | What to measure |
|---|---|---|
| Probabilistic regression | Behavioral drift across builds | Run repeated sessions under varied accents, noise, and speaking cadence; compare metric distributions between versions |
| Replay testing | Timing regressions with input held constant | Reprocess a fixed library of recorded audio through each new build |
| Load and stress testing | Behavior under concurrency | Tail latency percentiles, not averages; worst-case delays dominate perception |
| Fault injection | Recovery behavior | Delay the reasoning stage, drop synthesis, degrade the network; verify the agent recovers instead of stalling |
| Semantic evaluation | Whether the agent said the right thing | Intent alignment, task completion, required fields present, tone review |
The timing metrics that predict how an agent feels are derived from three event boundaries: when the user stopped speaking, when the agent started thinking, and when the agent started speaking. From these, a harness computes response latency per turn, the rate of premature interruptions (the agent spoke before the user finished), and the rate of missed responses (the agent failed to reply within a defined window). Human conversation sets the reference point: median turn gaps of roughly 200 ms across 10 languages (Stivers et al., 2009, PNAS). Release gates should enforce tolerance bands on these metrics the same way a web service enforces error budgets.
Evaluation should start at the component level, before the integrated harness, because component benchmarks localize failures that end-to-end tests can only detect. Picovoice publishes open-source benchmarks with reproducible code for speech-to-text, wake word, voice activity detection, NLU, TTS latency, and LLM compression, so a team can rerun the harness on its own audio and hardware instead of trusting vendor marketing numbers.
A second property matters for replay testing: on-device engines are deterministic with respect to their environment. There is no shared cloud backend being retrained or re-routed behind the API between test runs. When a replayed session produces a different result, the cause is in the build under test, not in an upstream model version change the team never saw.
Testing validates a build before release. Observability confirms conversational health after it, while traffic scales and real-world audio diverges from the test library. In a voice system, degradation is audible immediately, so detection has to be faster than the user's patience.
A production observability pipeline has four layers:
Beyond infrastructure metrics, conversational behavior is its own signal class: barge-in handling (does the agent stop speaking promptly when the user resumes), stall detection (expected responses that never arrive), and session dynamics such as repeated prompts or looping turns. Service level objectives should be expressed in these terms, response latency below a percentile threshold, interruption handling within a tolerance band, rather than in host-level CPU terms that say nothing about how the conversation feels.
Two monitoring modes complement each other. Synthetic probes replay scripted sessions on a schedule and confirm the known-good paths still work. Real-user telemetry captures the variability that scripts cannot: accents, networks, ambient noise, and user behavior. Synthetic monitoring confirms expectations; real-user telemetry surfaces surprises.
On-device pipelines keep the observability surface small. In the stack from Chapter 6, each engine processes audio in fixed-length frames on local compute, so per-stage timing is a local measurement, not a distributed trace across vendor services. The telemetry that leaves the device is the team's choice, and it can be metadata only: timings, events, and error codes, with no audio and no transcripts, which keeps the monitoring pipeline outside the sensitive-data path covered in Chapter 8.
One caveat cuts the other way: an offline fleet cannot stream telemetry in real time. Devices that operate disconnected should buffer event logs locally and upload summaries when connectivity returns. The observability loop still closes; it closes in batches.
Reliability is defined by behavior during failure, not by the absence of failure. The cardinal rule for voice: never fail silently. A user facing an unexplained pause cannot tell a thinking agent from a dead one, and abandons the interaction.
Degradation paths should be designed per stage:
Infrastructure changes belong in the same discipline: deploy gradually, drain active sessions before recycling instances, and let in-progress conversations complete. A voice session is a live human interaction; killing it mid-turn is a user-facing outage, not a routine restart.
A cloud-cascaded agent has a degradation floor of nothing, because every stage shares one failure domain, the network path. An on-device or hybrid agent has a floor it can stand on. In the escalation-hybrid pattern from Chapter 6, connectivity loss degrades the agent from frontier reasoning to local reasoning, Rhino Speech-to-Intent for structured commands or picoLLM for local dialog, while wake word, transcription, and synthesis continue unaffected. In-car voice control is the canonical case: the vehicle enters a tunnel and the agent keeps working, because offline operation is the degradation floor, not a failure mode.
Voice workloads scale differently from request-response services. Each conversation is a long-lived streaming session holding open connections for audio input, transcription, and synthesis for minutes at a time. A cloud deployment must plan for:
The load test that matters is tail latency under concurrent sessions. An agent that answers in 500 ms at p50 and 4 seconds at p99 will be judged by the p99, because the users in the tail experience it as a broken conversation, and every conversation is someone's only sample.
On-device inference changes the unit of scaling from cluster capacity to shipped devices. Each device carries its own compute for the loop it runs, so 10 devices and 10 million devices impose the same per-device load, and there is no concurrency ceiling to provision, no peak-hour cluster to size, and no per-conversation meter accumulating against the margin. The efficiency numbers that make this work are benchmarked: Cheetah Streaming Speech-to-Text transcribes at a 0.083x core-hour ratio, 40x more efficient or faster than Moonshine Streaming Medium, and Orca Streaming Text-to-Speech synthesizes speech at 0.16x CPU utilization with 29 MB peak memory, 11x more efficient than closest alternative Kitten TTS Nano with 320 MB peak memory usage. Central capacity planning then shrinks to whatever genuinely remains central: escalation turns in a hybrid, and the telemetry endpoint.
The same logic prices the hybrid split. Every stage moved on-device is a stage removed from the concurrency plan and the usage bill; the cloud plan only has to cover the turns that escalate. Picovoice pricing scales with usage as well; the difference is the curve, and on-device execution is cost-effective at scale because the compute arrives with the device.
Chapter 8 turns from keeping the agent running to keeping it compliant: data residency, retention and redaction, consent and disclosure, content guardrails, and audit trails, and how the compliance surface shrinks when audio never leaves the device.