← Blog
Voice Engine

Why voice AI drifts in a structured interview

2026.08.12 — 6 min read — The Evozn.ai Team

Give a frontier real-time voice model a list of twenty interview questions and tell it to ask them, one at a time, and wait for real answers. Run that same instruction a hundred times and you won't get the same interview a hundred times. Somewhere in there, it repeats a question in slightly different words. It skips one it already covered. It races through a closing script in a single breath instead of waiting the eight seconds a real person needs to say goodbye.

None of that means the model is broken. It means the model is doing exactly what it was built to do: produce a plausible continuation of the conversation so far. "Plausible" and "correct" are not the same standard, and the gap between them barely matters for most conversational use cases. It matters enormously for hiring.

The gap looks small until it isn't

In a casual chat product, a repeated question is a minor annoyance — a user notices, moves on, maybe doesn't notice at all. In a structured interview, the same failure mode has real consequences. A repeated question can read as the system not listening. A skipped question means that candidate was evaluated on eight signals instead of nine, while the next candidate got all nine — an inconsistency that undermines the entire premise of a "structured" process. A closing script delivered without a real pause reads as a company that didn't actually want to hear from you.

These aren't edge cases you can patch with a better prompt. Prompting a generative model to "not repeat questions" reduces the frequency of the failure; it doesn't eliminate it, because the model has no persistent, verifiable memory of exactly which of the twenty questions it has already asked in this specific conversation. It has a context window, and a tendency toward plausible continuations of what's in that window. That's a fundamentally different thing from a checklist.

The model is free to sound natural and responsive. It's not free to lose count.

What "holding it to a script" actually requires

The fix isn't a smarter model — it's an external state machine the model doesn't get to override. The Voice Engine tracks exactly which questions have been asked, in what order, and what state the interview is in, completely independent of what the model "remembers" from the conversation so far. The model proposes what to say next; the engine only lets it say something consistent with the actual state. If the model tries to re-ask a covered question, it doesn't get to — the engine substitutes the next real question instead, without the seam being audible to the candidate.

The same discipline applies to the close. A real pause for a real answer isn't something you can reliably get a generative model to do by asking nicely — it's a rule the orchestration layer enforces regardless of what the model would have produced on its own.

Why this generalizes past interviews

Once you separate "sounds natural" from "stays correct," the same pattern shows up everywhere a conversational AI needs to be trusted for something structured — a compliance call, a medical intake, an onboarding flow. The model still does the hard part: understanding what's being said and responding to it well. The reliability layer does the boring, unglamorous part: making sure that understanding never drifts away from what the process actually requires. That split is the whole idea behind Evozn.ai.