Engineering
Designing voice agents that survive interruptions
Real callers talk over your agent, change their mind mid-sentence, and trail off. Here's how we handle barge-in without losing the thread of the conversation.
A scripted demo call is a straight line. A real one is not. People interrupt, repeat themselves, answer a question you haven't asked yet, and go quiet at exactly the wrong moment. An agent that only handles clean turn-taking falls apart on the first genuinely messy call.
We treat interruption as the default case rather than an error state. That reframing changes how the whole turn loop is built.
Detect intent to interrupt, not just sound
Naive barge-in triggers on any incoming audio, which means a cough or a door closing stops the agent mid-sentence. We gate on speech-likeness and a short duration threshold before yielding the turn, so background noise doesn't derail a sentence the caller wanted to hear.
When the agent does yield, it keeps what it was about to say. If the caller's interjection turns out to be a filler word, the agent resumes instead of starting over.
Keep state outside the sentence
The facts an agent has collected — the policy number, the address, the appointment slot — live in structured state, not in the transcript it happens to be reading. An interruption discards the phrasing, never the progress.
This is what lets a caller say "actually, make it Thursday" four turns later and have the agent update one field instead of re-running the whole booking flow.