The gap isn't hallucination – it's tool-calling. A voice agent doesn't just talk; mid-call it has to act: log the job, text the on-call tech, escalate the emergency. In a demo, nobody notices when an action silently fails. On a real call, a flooded basement does.
Building Greet, I made this the engineering bar: an agent that answers beautifully but misses the emergency page is worse than voicemail. So I redesigned for the miss. First, I took the decision away from the model – the agent fires its logging and alert tools on every call, no discretion – which took tool-calling from flaky to effectively every call. Second, failure has somewhere to go: a call that slips through surfaces as an owner alert and a callback task instead of dying silently. And I chose models for action-reliability first, cost second.
If you're building agents: production-ready means designing for your worst call, not your average one. And if you're buying an AI receptionist, that's the bar you should hold any vendor to.