Turn-Taking & Interruption

swap_calls

The Turn Boundary Problem

Deciding when the user has finished speaking sets the floor on perceived latency and determines whether the agent talks over people or leaves dead air. A half-duplex pipeline (STT, then LLM, then TTS) has to commit to that decision explicitly: too early clips the user mid-sentence, too late leaves a hesitation they read as the agent being slow. Interruption is the same problem inverted, deciding whether overlapping speech is a claim on the floor, a noise artefact, or someone saying "mhm" to show they are listening.

graphic_eq

Endpointing Models

Four approaches, roughly in order of how much they know about what is being said. Each rung buys responsiveness and costs simplicity.

1
Fixed Silence ThresholdAcoustic: silence duration only

Wait a constant period of silence, typically 500 to 800ms, then declare the turn over. Deterministic, trivial to implement, and completely blind to content. The threshold is a direct latency tax on every turn, paid whether or not the user had actually finished.

Typical latencyEqual to the threshold
Breaks onMid-thought pauses when dictating numbers or addresses
2
Adaptive VADAcoustic: energy and speech probability

A neural voice-activity detector scores each frame for speech, with thresholds that adapt to the noise floor and the speaker's rate. Much better rejection of background noise and non-speech audio, but still purely acoustic: it knows whether someone is talking, never whether they have finished a thought.

Typical latency200 to 500ms after speech offset
Breaks onSlow or hesitant speakers; noisy environments still cause early cuts
3
Semantic Turn DetectionLexical: partial transcript completeness

A small, fast classifier runs over the streaming transcript and predicts whether the utterance is complete. A syntactically finished sentence can end the turn almost immediately; a trailing conjunction or a dangling preposition extends the wait. This decouples responsiveness from a single global threshold and is where most production platforms have converged.

Typical latency100 to 300ms after a confident complete utterance
Breaks onTranscription errors propagate; weaker on short or fragmentary replies
4
Full-Duplex ModelsLearned: jointly modelled from audio

The model listens and speaks continuously, with turn-taking learned as part of the training objective rather than decided by an external component. There is no explicit endpoint to tune. Removes the boundary problem outright, at the cost of a control surface: there is no longer a discrete moment at which to gate, inspect, or intervene.

Typical latencyNo discrete endpoint decision
Breaks onObservability, being harder to inspect or interrupt deliberately
forum

Overlap Taxonomy

Overlapping speech is a category, not an event. The correct response differs completely across the category, and a system that collapses them into a single "barge-in" signal will get most of them wrong.

TypeWhat the User Is DoingCorrect Agent ResponseIf Misread
BackchannelSignalling attention ("mhm", "yeah", "right") without claiming the floorKeep speaking. Do not cancel, do not treat as input.Agent cannot finish a sentence
False TriggerNot speaking to the agent at all: background TV, a second person, or the agent's own echoSuppress via echo cancellation and, where available, speaker verification.Random self-interruption
ClarificationInterjecting a question about what is being said right nowStop, answer the question, offer to resume the original turn.Question ignored or answered late
Correction / RedirectChanging the request mid-answer, as in "no, the other account"Stop immediately, discard the pending plan, re-plan from the correction.Agent completes work the user already rejected
Hard StopExplicit cancellation: "stop", "wait", "cancel that"Cancel speech and any in-flight tool call, then yield the floor silently.Agent keeps acting after being told to stop
Simultaneous StartBoth parties beginning at the same moment after a pauseYield by default. The agent should lose the race with the human.Both retreat, then both restart, in a loop

Backchannels are the expensive case to get wrong because they are frequent, short, and mean the opposite of an interruption. The listener is signalling keep going. An agent that halts on every "mhm" cannot hold the floor long enough to answer anything.

content_cut

Truncation and Reconciliation

When a turn is cut short, the agent's own record of the conversation becomes wrong. Text was generated, audio was synthesised, and some prefix of it reached the user's ear. Those are three different quantities. Writing the full generated turn into history leaves the agent convinced it said things nobody heard, and it will refer back to them.

edit_noteGenerated Text

The full LLM output for the turn. Usually complete well before the audio finishes playing, because generation outruns speech.

On cancellation: Discard everything past the spoken prefix. This is the text most systems wrongly commit to history in full.

graphic_eqSynthesised Audio

TTS output, typically buffered ahead of playback to absorb jitter. The buffer is the gap between what exists as audio and what the user has actually heard.

On cancellation: Flush the buffer. Anything unplayed never happened as far as the user is concerned.

volume_upPlayed Audio

The prefix that genuinely reached the user. The only one of the three that describes the shared conversational state.

On cancellation: This is the ground truth. Reconstruct the spoken text from playback marks and write that to history.

boltCommitted Side Effects

Tool calls the turn already executed. Cancelling speech does not unwind a booking, a payment, or a write.

On cancellation: Nothing rolls back automatically. Either gate side effects behind turn completion or make them explicitly reversible.

The practical requirement is word-level or phoneme-level playback marks from the TTS layer, so the spoken prefix can be reconstructed and written to history in place of the generated turn. Without them, truncation is a guess. See Conversation Management for what that history then has to carry forward.

timer

Latency Budget

Response latency is usually attacked at the model layer, but in a well-built pipeline the endpoint decision is frequently the largest single term, and the cheapest to reduce, because it is a policy choice rather than an engineering constraint.

StageTypical ContributionReducible By
Endpoint decisionOften the largest single term, being the full silence threshold on a fixed modelSemantic endpointing; shorter thresholds only where clipping risk is low
STT finalisationSmall if streaming partials are used; significant if waiting for a final transcriptStart LLM prefill on stable partials rather than the final result
LLM time-to-first-tokenModerate, and the most commonly optimisedSmaller or distilled models, prompt caching, speculative decoding
TTS time-to-first-byteModerate, and the first audio chunk gates everything the user perceivesStreaming synthesis; begin on the first clause rather than the full response
Network and jitter bufferSmall but highly variable, and worst on the calls that matterEdge deployment; adaptive buffering rather than a fixed floor

Dropping a fixed threshold from 700ms to 400ms removes 300ms from every single turn, more than most model swaps deliver, at the cost of clipping people who pause mid-thought. Semantic endpointing exists to take that win without paying that price. Related: Latency and Design Constraints.

error_outline

Failure Modes

content_cutPremature Endpointing

The agent commits to a response while the user is mid-thought. Dictated numbers, addresses and spellings trigger it most reliably, because natural pauses there are long and frequent.

Fix: Extend thresholds inside known slot-filling states. A turn model can be state-aware: collecting a card number is not the same context as open conversation.

hourglass_emptyLate Endpointing

A dead-air gap after every utterance. Users read the silence as the agent being broken and start repeating themselves, which restarts the turn and compounds the delay.

Fix: Semantic endpointing for confident complete sentences. If a long wait is unavoidable, fill it with an acknowledgement token rather than silence.

record_voice_overBackchannel as Barge-In

Every "mhm" halts the agent. The agent never completes a sentence, and the user escalates their volume trying to be understood, which triggers more cancellations.

Fix: Classify short overlapping utterances before acting. Duration, lexical content and prosody separate continuers from floor-claims cheaply.

sync_problemSelf-Interruption

The agent hears its own output through the microphone and interrupts itself. Characteristic of speakerphone and poorly configured telephony paths.

Fix: Acoustic echo cancellation as a hard requirement, not a tuning option. Gate barge-in detection on the residual after cancellation.

link_offInterruption During Tool Call

The user interrupts while a tool is in flight. Speech stops, but the call completes and its effect lands. The user believes they cancelled and the system disagrees.

Fix: Propagate cancellation to the tool layer, not just the audio layer. Where a call cannot be cancelled, say so before starting it.

psychology_altContext Poisoning

Truncated speech is written to history in full, so the agent later references information the user never heard. It is the most confusing failure for users because it is invisible from their side.

Fix: Commit only the spoken prefix, reconstructed from playback marks. Treat the audio layer as the source of truth for what was said.

rule

Choosing a Turn Model

SituationWhy It MattersChoice
Open-ended conversationUsers pause naturally and unpredictably; a fixed threshold either clips or lagsSemantic
Slot filling: numbers and addressesLong mid-utterance pauses are normal and clipping is costly to recover fromExtended threshold
Noisy or shared environmentsFalse triggers dominate; content-based signals help less than rejection doesAdaptive VAD first
Strict regulatory loggingEvery gate, disclosure and interruption must be inspectable after the factAvoid full-duplex
Latency is the productPerceived responsiveness outweighs fine-grained control of the turn boundaryFull-duplex
Constrained IVR-style flowsThe valid response set is small and turn boundaries are structurally obviousFixed threshold

Turn behaviour is testable. Simulated callers who interrupt, trail off, or talk over tool calls are a standard scenario class. See Agent Testing for building those suites, V2V Risks for what turn detection means at the security layer, Stream Safeguards for policy-driven interruption of the agent's own output, and Agentic Errors for turn-taking as a social failure mode.