OpenAI built GPT-Live, a voice-first chatbot that listens and speaks simultaneously, scrapping the clunky “talk-then-listen” pauses most assistants use. The service aims for a conversation that flows like human dialogue instead of stop-and-go exchanges.
Why the old model felt broken
Typical voice assistants work like walkie-talkies: you finish a sentence, the device records, sends the audio to the cloud, waits for a response, then plays it back. That round-trip adds a noticeable lag and forces users to pause before they can be interrupted. For a generation raised on instant messaging, the delay feels archaic.
OpenAI answered with a turn-less architecture. Every second, GPT-Live decides whether to keep listening, keep speaking, or pause, letting you cut the assistant off mid-reply or ask a follow-up without waiting for a full response cycle.
The full-duplex stack in plain terms
- Separate audio loop and reasoning path – A fast path handles continuous audio exchange, while a slow path runs heavier tasks like web searches or tool calls. The fast path keeps the conversation alive while the slow path works, eliminating the dreaded “silence while I think” moment.
- WARP protocol – Traditional web connections require multiple handshakes before audio can flow, often six round-trips. OpenAI’s custom protocol collapses those steps into a single trip, making session start feel almost instantaneous.
- Go over Python for latency consistency – The team moved real-time components from Python, prized for rapid development, to Go, which delivers more predictable execution times. In voice AI, worst-case delay matters more than average speed; a single stutter breaks immersion, so consistent latency wins.
- Scaling beyond the GPU – With hundreds of millions of users, the bottleneck shifted from the model’s compute cores to surrounding infrastructure. OpenAI found CPUs and network links saturated before GPUs did, so they added smarter routing and connection-management to keep GPUs fed without overwhelming the rest of the stack.
What this means for developers
- Decouple audio handling from business logic – Keep a lightweight, always-on loop that processes microphone input and speaker output. Offload anything that can wait—database queries, external API calls—to a separate thread or service.
- Prioritize latency stability – Measure response time, focusing on worst-case delays rather than just the mean. Languages and runtimes that give tighter control over scheduling (e.g., Go, Rust) can be worth the extra engineering effort.
- Trim connection overhead – Every extra handshake adds milliseconds that add up. Bundle authentication, stream negotiation, and codec selection into a single exchange, and users will notice the difference.
Trade-offs and open questions
The full-duplex design adds complexity.
