← All AI Engineer talks

AI Engineer World's Fair 2026

Your Voice Agent Doesn't Need a Frontier Model

About this talk

Joel Allou and Ornella Bahidika present Ace, an AI voice tutor designed around an approximately 950-millisecond response budget. Instead of relying on a frontier model, deterministic state machines handle lesson progression, student knowledge, and turn-by-turn context while Claude Haiku 4.5 generates speech. A comparison against Claude Opus 4.7 reports roughly 900-millisecond responses for the scaffolded smaller model, with strict structural guardrails needed to control drift.

Chapters

  1. 0:00Introducing Ace and the voice-agent latency constraint
  2. 1:04Moving tutoring logic into deterministic scaffolding
  3. 3:07Comparing Claude Opus 4.7 with Claude Haiku 4.5
  4. 4:15Small-model limitations and the scaffolding trade-off

Talk transcript

  1. 0:00

    Hi. I'm Ornella, and that's Joel. And we built Ace, a live AI voice tutor. It run on a small model on purpose, and I want to tell you more why that's not a compromise.

  2. 0:14

    Quick gut check. That silence on a voice call, that's the difference between a tutor and a broken app. When a voice agent pause for even a second, your brain says it's dead.

  3. 0:31

    So when the answer feel a little off, every instant stay crates for the smartest, biggest model. In voice, that instant is actually a back quad.

  4. 0:44

    Because our budget was never IQ, it's millisecond.

  5. 0:49

    The AI model need to start talking in about 950 milliseconds. A frontier model that think for a full second has already lost the room, no matter how good the answer is.

  6. 1:04

    So we made the model small and took the hardest po- jobs away from it. It doesn't decide when happen... what happened in the lesson. It ha- it doesn't track what the student knows.

  7. 1:17

    It doesn't plan what's next. We have a system in place to do that, and it hands the model a summary every turn. What's left for the model is one thing it's really good at, talking, and that's iterate.

  8. 1:32

    Joel, go on and show them what it actually feel like.

  9. 1:36

    Yeah. If maybe I can add some color to what Ornella was mentioning. So if you think about the models of today, especially the frontier model, let's take Claude 4.7, which is, uh, from Anthropic.

  10. 1:49

    The model is really good at reasoning. You can give it a problem, in this case a lesson, and it can reason through it, it can reason through what the student is asking, and it can come up with the answer.

  11. 2:00

    But that is actually precisely the problem because the reasoning can take couple of seconds, and those seconds are really valuable when you are building voice applications. So what we are doing is saying, "Hey, let's extract all of the thinking away from the model so that the model focuses on only what matters," which is speaking, in our

  12. 2:24

    case. So all of the thinking is extracted into a state machine. So for Ace, we have thought about all the scenarios that are needed for a lesson. We have built a state machine that is able to coordinate each step to the next, and we've also added intelligent layer on top to derive some of the mastery that a

  13. 2:45

    student might need for the lesson to be complete. So everything, when it comes to what happens next, when it comes to what needs to be displayed, when it comes to how to actually answer a question, it's all done outside of the model, and we simply feed that output to the model to speak out.

  14. 3:07

    And so let's go ahead and look at an example and see how that works in real time. So the first video here is without the implementation we've done. So it's a simple Opus 4.7.

  15. 3:19

    We ask a very simple question, and as you can see, the model is thinking, it's reasoning, and it takes couple of seconds to return the answer back to the user.

  16. 3:28

    In this video, we've added everything we just talked about on Haiku 4.5, which is a much smaller model. Same question, but now you see that the answer comes in about 900 milliseconds.

  17. 3:42

    And so that's the beauty of building around the model. So by removing all of the thinking, all of the logic, all of the reasoning from the model and actually putting it within the code, we actually saved a lot of time and allows us to use smaller models, which are cost effective and actually better at real-time voice applications.

  18. 4:04

    And as you can see, this feels almost instant. And again, that's because all of the smart parts have already happened prior to the model actually speaking.

  19. 4:15

    But I have to be honest because this isn't necessarily free. It has a cost, right? A small model like the Haiku 4.5, if it doesn't have any scaffolding, tend to drift on long structure and really needs strict rules in order to be able to stay organized.

  20. 4:35

    So the scaffolding piece is the price. But the good thing is you pay it once and in code, right? Not on every single turn. So here's the rule: pick the fastest model that your latency budget allows, and then spend the rest of your time actually building the scaffolding.

  21. 4:54

    So in our case, right, maybe you build a state machine. You build the reasoning process. You think about scenarios. What happens if this happens? How should your model handle it?

  22. 5:04

    Everything that comes with the logic, everything that comes with the harnessing, you do that outside of the model and then allowing the model to focus on that one thing that it's really good at.

  23. 5:16

    And so that's true for voice applications like Ace. That's true for real-time applications where latency is of priority, and that's really true for anything that is high volume, right?

  24. 5:28

    In those cases, the model is the smallest part of the system. So this is Joel and Ornella, and we are building Ace again. And if you have any questions, let us know.

  25. 5:41

    Thank you.

  26. 5:42

    Thank you.