Was spinning up a voice agent PoC for a client this week using Retell's API. For anyone who has tried to build a voice agent from scratch, you know the real pain isn't just the LLM. It's the plumbing. 🚧 You're wrestling with separate VAD, ASR, and TTS services, and the latency stacks up fast. Handling user interruptions becomes a state management nightmare. The result is almost always a bot that feels slow and robotic. Retell abstracts this entire stack into a single API. ⚙️ It's a dedicated conversation engine that manages the back-and-forth, including the turn-taking and interruption logic. We just hook up our LLM endpoint. The immediate result is we're no longer maintaining that brittle glue code. ✅ We can build a voice agent that feels responsive in hours, not weeks. It lets us focus entirely on the agent's core business logic and tool-use, which is where the value is anyway. 🧠 We're building for a medspa client, and the booking flow just *works* without us needing to manage the audio streams. This feels like a major step up from cobbling together Twilio, Deepgram, and ElevenLabs. 💡 So here's the architectural question: with a managed voice layer like this, are you handling complex tool-use logic inside the LLM prompt or in a separate orchestration layer before the text ever hits the model?