Two restaurant voice agents can use the same speech recognition, the same language model, and voices you couldn't tell apart in a demo — and still feel completely different on a live call. One feels like talking to an attentive order-taker. The other feels like arguing with a robot reading off a form.
The difference usually comes down to two problems that never make it into a sales pitch: endpointing and interruption handling. They're the plumbing of natural conversation, and they're where a lot of otherwise capable systems quietly fall down.
Endpointing: knowing when the caller is done
Endpointing is the agent's judgment about when you've actually finished speaking, as opposed to just taking a breath mid-thought.
Humans do this effortlessly and unconsciously. We read a dozen cues — tone falling at the end of a sentence, the length of a pause, whether the thought sounds complete — to know when it's our turn. A voice agent has to make the same call, in real time, with none of the visual cues and often over a noisy line.
Get it wrong in one direction and the agent jumps in while the caller is still mid-order: "I'll have a large pepperoni and—" "Great, one large pepperoni, anything else?" "...and a small Caesar." Now there's a correction to untangle. Get it wrong the other way and the agent leaves a long, dead pause after everything the caller says, which reads as the system being slow or broken.
Good endpointing threads that needle: it waits long enough to let a caller finish a genuine thought, but not so long that the conversation drags. It sounds trivial. It is one of the hardest things to get right, and one of the most noticeable when it's wrong.
Interruption handling: yielding gracefully when the caller cuts in
The second problem is what happens when the caller talks over the agent, which real callers do constantly.
Think about how people actually order. The agent starts reading back a five-item order and the caller jumps in at item three: "no, no onions on that one." Or the agent begins asking "would you like to add a—" and the caller is already saying "yeah, a large fry." A human order-taker stops immediately and adjusts. That instant yielding is most of what makes a conversation feel cooperative rather than combative.
A weak voice agent can't do this. It's committed to finishing its scripted line, so it plows ahead while the caller is trying to correct it, and now two people are talking at once and neither is being heard. The caller's only options are to give up and repeat everything at the end, or hang up and hope a human answers. Both are exactly the friction the system was supposed to remove.
This capability is often called barge-in: the ability to stop talking the moment the caller starts. It depends on the agent listening even while it speaks — the same always-listening design that also enables sub-second latency. Interruptions and speed are two views of one underlying problem: an agent that's genuinely present in the conversation instead of running a script to completion.
Why restaurants make both problems harder
These are hard problems anywhere, and a restaurant is close to the worst case for both.
The audio is noisy. A caller phoning from a loud dining room, a car with the radio on, or the doorway of a busy kitchen gives the system a messy signal, which makes it harder to tell a real pause from a gap filled with background sound, and harder to distinguish an interruption from a stray noise. Endpointing on clean studio audio is one thing; endpointing over the clatter of a Friday night is another. It's part of why the engineering behind restaurant voice AI is genuinely demanding rather than a solved commodity.
How to test it in one phone call
You don't need to understand the internals to judge this. Call the system and try two things on purpose:
- Trail off mid-sentence. Order something, pause like you're thinking, then continue. Does the agent wait for you, or cut in during the pause and force a correction?
- Interrupt it mid-response. While it's reading something back, jump in with a change. Does it stop instantly and adjust, or talk over you to the end of its line?
A good agent handles both without you thinking about it. A weak one makes you feel like you're fighting for the floor. You'll know within a minute, and it's a better test of real-world quality than any scripted demo.
The bottom line
Endpointing and interruption handling are the difference between a voice agent that feels like a conversation and one that feels like a form with a voice. They rarely appear on a feature list, they don't demo well in a clip, and they're exactly where the caller experience is won or lost. When you evaluate a vendor, spend a minute deliberately testing both — it's the fastest way to tell a genuinely conversational system from one that only sounds like one.