voicemulti-agentroutinglatencypythonarchitectureobservability
My Voice Router That Refuses to Think: Pattern‑First Multi‑Agent Orchestration for Sub‑Second Latency
I rebuilt my voice agent's orchestration around a stubborn rule: don't spend an LLM call on a problem a regex can solve. What forced the change was a real latency incident caused by model-first routing, where obvious intents still waited on classification and p95 crossed the point where a voice turn starts to feel broken. The fix was a pattern-first RouterAgent with an LLM fallback reserved for genuine ambiguity, an orchestrator that coordinates instead of improvising, and a voice integration layer that enforces formatting, timeouts, and stable contracts. This post walks through the architecture, the post-mortem, the measurement methodology behind the latency numbers, and a runnable reference implementation of the router, the orchestrator, and the voice processor.
Daniel Anthony Romitelli Jr. · March 4, 2026