Skip to Content
cuelo.

03Conversation

Turn-taking

How Cuelo decides when the agent speaks, when it stops, and when it says "mhm".

Turn-taking is the difference between an agent that feels like a phone tree and one that feels like a person. Cuelo breaks it into four questions. Each one is answered by a controller, a small model listening to the call:

QuestionSignalConfigured by
Has the caller finished their turn?turn_endturns.controller
Is the caller interrupting the agent?interruptturns.barge_in_detector
Is the caller only backchanneling ("yeah")?user_backchannelturns.barge_in_detector
Should the agent say "mhm" now?backchannelturns.backchannel_model

A policy turns those signals into actions:

The calluser audioagent audiotranscriptsEnd of turnturn-1-mini · smart-turnBarge-in detectormaai · bc-detectorBackchannel modelmaai · vad rulePolicyStandardTurnTaking turn_end interrupt user_backchannel backchannelrespondstop talkingkeep talkingplay “mhm”
controllers listen; the policy decides. Swap either independently.

Splitting listening from deciding means you can swap a model without touching the rules, or change the rules without retraining anything.

The default stack

config.cuelo
turns:
  controller: turn-1-mini # end of turn: ~140 ms after the caller stops
  barge_in: true # the caller can interrupt the agent...
  barge_in_detector: maai # ...but "yeah" and "mhm" don't stop it
  backchannel: true # the agent says "mhm" while the caller talks
  backchannel_model: maai # timed by MaAI
  backchannel_hold: 1200 # ms to wait after a "mhm" before replying

The MaAI parts need the maai extra (PyTorch). Without it, Cuelo falls back to the small backchannel detector and a VAD rule. Weights download on first use, or ahead of time with cuelo models pull --all.

Choosing a stack

Goalcontrollerbarge_in_detectorbackchannel_modelNotes
Most natural (default)turn-1-minimaaimaai~1 GB per process. ~5 calls per process.
Many calls per machineturn-1-minibackchannel-detectorvad~160 MB. ~60 calls per process.
Non-Englishsmart-turnbackchannel-detectorvadSmart Turn v3 is multilingual.
Simplest, most predictablevadvadvadFixed silences. Robotic on pauses.
Full duplex (research)maaimaaimaaiOne model for turns and interruptions.

The per-process numbers were measured on an M3 Pro. Run cuelo machine check for yours.

In this section

On this page