Latest / Agentic Conversations (formally mlops.community) / Voice Agent Use Cases
Transcript
- 0:17There's a challenge with controls where since there are
- 0:20so many controls, if you have like a developer team within a
- 0:24company, product focus company, do this, then often what I see
- 0:30with customers is that if you give too many controls and if
- 0:33they exactly don't know how to sort of set it up, it is like,
- 0:36oh, this just doesn't work right.
- 0:38So I think there's always a tension between like
- 0:40preconfiguration, right, and giving more flexibility.
- 0:45But if you give more flexibility, then for example,
- 0:48sometimes people are like, OK, why the latency is so high for
- 0:52speed generation? Because, you know, we maintain a
- 0:55certain buffer size to make sure that the the speed generation
- 1:00has enough context, right, to be prosodi aware to to have the
- 1:06right tone, maintain the consistency tone and higher the
- 1:09buffer size, you will have like higher latency.
- 1:12But now if you let's say, let them reduce the buffer size, the
- 1:16speech quality sort of goes down this time.
- 1:18And then they're like, OK, yeah, you're complaining, right?
- 1:21So I think that is a general challenge.
- 1:23What is the right abstraction? Right.
- 1:25So we should also talk about general abstraction of agents.
- 1:29So many of the companies building orchestration, like it
- 1:34VAPI on the tech side, launching these are meant for like tools
- 1:43to be built by software engineers, like you build agents
- 1:46over them. But like I see, let's say in
- 1:48customer support, customer support is more like a cost
- 1:53Center for a company, which means you'll have like less
- 1:56number of engineers there. And the, the, the real person or
- 2:00the real customer is the operations leader there who is
- 2:03basically managing the workforce there and one student end to end
- 2:07operation. But like the current interfaces
- 2:10of our existing orchestration systems are not meant for them,
- 2:13right? And that is where like we have
- 2:16recently received a project called 11 labs for support by
- 2:19Sierra Decagon, where we define these interfaces for
- 2:22non-technical sort of authors to, to define the behavior of
- 2:26agents, right? So even before AI agents, you
- 2:30will see what, what would I was in Amazon.
- 2:32And if we have let's say 100K support agents across the world,
- 2:36many of them are not full time, right?
- 2:38Like they can come and they can leave at any point, right?
- 2:40Which means there's not really an opportunity to train them on
- 2:43specific support. So customer support always had
- 2:46these like pages of documents called Sops and every time you
- 2:50call someone, they say, oh, give me a moment to look up your
- 2:53information. They're literally reading that,
- 2:55right? That way this person is reaching
- 2:57out for refund. What should I do?
- 2:58I should look for information about Demetrios, then I should
- 3:02check his eligibility for refund, his past sort of
- 3:05purchase behavior, blah, blah, blah.
- 3:07And then that that takes time, right?
- 3:09So these SO PS were written by the operations leaders or
- 3:13managers or customer support managers and they would use that
- 3:18to for human agents to follow them, right?
- 3:20And then the second mode of sort of interaction between them
- 3:24would be that once the human agents are sort of following
- 3:27those Sops, sometimes they would not follow them and they would
- 3:32break the rules or be non compliant to that.
- 3:35And then the operations manager has mechanism to listen to calls
- 3:39and then give them feedback, right?
- 3:43So I think my thought process is that if we need to make like
- 3:45agents used by non tech authors, which are which are largely
- 3:51which is most of the population who would be using agents and
- 3:55they still need autonomy on the behavior of agent, right?
- 3:58What an interfaces we need to build.
- 4:01So I think on customer support specifically, can I keep the
- 4:05interface same, right? So instead of human agent, can I
- 4:09have an AI agent? But let's say if I'm the support
- 4:11manager, can I keep the interface same where I still
- 4:14define SOP's now, right? Just like I used to.
- 4:17But now I can go very very detailed and long because I
- 4:21don't have a human constraint of not being able to read a long
- 4:25documents, right? Like all large tables, right?
- 4:29So I think that can change, but like the regular interface can
- 4:33be the same. And then the second is just like
- 4:35I was providing feedback to human agents, can I also sort of
- 4:39provide feedback to AI agent that oh, you provided wrong
- 4:42information there or you sort of broke this rule or you did not
- 4:47follow the SOP or sometimes the SOP is not clear enough.
- 4:50So the agent got confused. Even humans get confused.
- 4:53How do we take that feedback and sort of iterate on the
- 4:57specification and procedure. So I think that is quite
- 5:00interesting that like how do we sort of keep the interface of
- 5:04interaction between sort of domain experts who may not be
- 5:09software engineers, same as how they were sort of working with
- 5:13human agents, right? And and if you were to do that,
- 5:17then there's a lot more heavy lifting to be done, right?
- 5:20Which means continual learning, which is pretty hot topic right
- 5:23now that how do we make these agents improve based on natural
- 5:27language feedback, right? So we can talk about some design
- 5:30patterns for that, how we are doing it, how companies are
- 5:33doing it. So yeah.
- 5:35Why do you feel like voice is harder than chat?
- 5:39Yeah, so even chat is not easy, right?
- 5:41Like chat has not been solved and I've spent more time doing
- 5:45chat than voice to be honest. And I don't think like first,
- 5:50there are no real benchmarks for like end to end dialogs.
- 5:54Tao bench is 1 but it is so much more easier than the real world
- 5:58situation. So for example.
- 6:01Why is that? Just because you have so many
- 6:03random sounds or you exactly different accents, that type of
- 6:07thing. Yes.
- 6:08So I think first, if we start with chat dialogues and
- 6:11dialogues are often multi turn. So longer a dialogue, there are
- 6:15the chances of failure increases, right?
- 6:18And then for chats, the challenge is that how does the
- 6:22agent recover, right? If you change your mind, you
- 6:25change your intent, you said something that was unclear, I
- 6:29misunderstood, right? The agent misunderstood.
- 6:32And then you know, what are the self correcting abilities?
- 6:36What are the abilities to ask right follow up question at the
- 6:38right time? Because if it's not the right
- 6:41follow up question at the right time, people have this
- 6:44historical baggage of not trusting agents, right?
- 6:46Like the the AI agents or chat agents, right?
- 6:49So which means that since they don't always trust you have to
- 6:54be very precise, like when you should ask a follow up question
- 6:57to for clarification, right? When you think you misunderstood
- 7:01them and like, you know, pivot. So these variations are present
- 7:06in the text stack and now you add voice to that, right?
- 7:09Voice is OK. Where are you sitting?
- 7:12Like most people are not in such a studio setting, right?
- 7:14Like wired often, you know, especially in like and, and,
- 7:19and, and another important factor is that voice, the
- 7:23distribution of how many, what percentage of population
- 7:26interacts with support or any of these countries are just through
- 7:30voice is vastly different between US and Europe and let's
- 7:34say India, right? Like in India, probably 75% of
- 7:38conversations, customer conversation happen on voice,
- 7:41right? While that number could be
- 7:43around 30 to 35% in the US, right?
- 7:45So, so the difference is very stark.
- 7:47And now when most people are calling from phone, they are
- 7:50usually outside, there is background noise, there could be
- 7:53multiple speakers present. How do you sort of filter that
- 8:00people don't talk about enough about transcription people when
- 8:03when voice agents are there? I think people want to hear like
- 8:07the most beautiful voice from text to speech.
- 8:10But in terms of reliability for specific domains like customer
- 8:14support, you need very accurate transcription, right?
- 8:18So for example, if you call me and I ask you for your order
- 8:23number, your e-mail, or your name, and if I get any of that
- 8:27wrong and I don't have mechanisms to correct that or my
- 8:31transcription is not super accurate, then there's no way my
- 8:35dialogue or the conversation will succeed.
- 8:38It just fails. So now, like we discussed in
- 8:41chat Agents, there are few degrees of freedoms where it
- 8:44could fail. And that significantly increases
- 8:47its voice because of let's say transcription errors, background
- 8:51noise, multi speaker diarization, turn taking is a is
- 8:55is still a open problem. Yeah, how do you, because I I
- 8:59heard about with turn taking that you can't just say a number
- 9:05of how long you wait or if X amount of time has gone by, you
- 9:11know. Oh cool, now I can talk.
- 9:14So there's like probability, yes.
- 9:17Is it a whole separate model that you're using?
- 9:19Yes. Tell me about.
- 9:20That yes. So you can have a separate turn
- 9:23taking model, you know, based on transformer architectures
- 9:26fine-tuned for turn taking tasks where you collect data.
- 9:29The data should have enough variations in terms of like
- 9:32different accents but different like pace and intonation.
- 9:36Let's say I speak very fast, but someone else could take longer
- 9:40pauses, right? Yes.
- 9:42So having all those variations across all accents and
- 9:47languages, I don't think those rich data sets exist today in
- 9:50voice. And then like training turn
- 9:53taking based on that large part of turn taking has moved to
- 9:56these neural models. But I do feel, and we can talk
- 9:59more about that, that the the old school ways of extracting
- 10:03voice features like, you know, the the the pitch, the RMS
- 10:07energy, right, like from your voice and using those features
- 10:11and using like simpler heuristics over them.
- 10:14I think that is still helpful. Like what?
- 10:17Yeah. So using these features to
- 10:19determine when to stop, like you know, when the user has stopped,
- 10:22Correct. So largely the turn taking
- 10:24models are transformer based architecture, but I do see like
- 10:28a hybrid as well, right? So because if you look at turn
- 10:32taking models, most of them take speech and text both has input.
- 10:37So imagine in a cascaded world, you speak something, then I
- 10:41transcribe it, then I pass the speech as well as text.
- 10:44It already adds a bit to the latency.
- 10:47But let's say you know, in some cases you are your features of
- 10:54voice are strong enough, right? Like where these acoustic
- 10:58features are with a very high confidence, I can say that like,
- 11:01or Demetrius has just stopped speaking.
- 11:03Then I don't even need to like wait until the transcription is
- 11:07over right to to to detect the turn.
- 11:10So I think this also helps the hybrid approach also helps in
- 11:14reducing latency and to end. But when you're running those
- 11:18models, it's two separate models you're running, right?
- 11:20Yes, yes. But I think the the the old
- 11:23school extracting acoustic feature is fast enough compared
- 11:26to the neural models. And you have something set up so
- 11:30that the acoustic models are going to be the ones that always
- 11:34override. So if that says, hey, we're
- 11:36done. At a very high sort of
- 11:40confidence threshold, right? Like otherwise you still sort of
- 11:43use neural models for large number of use cases, right?
- 11:46So I think that is one pattern to somewhat reduce latency,
- 11:50right? Like through turn taking and
- 11:52also have more confidence like using both these approaches.
- 11:55But it's still an open problem. There are not enough good
- 11:58benchmarks for turn taking open source, something I want to work
- 12:02on once I have more time and then there are not enough good
- 12:05open source models. I know Pipecat has done some
- 12:09work with Smart Turn V2 model where I think they created this
- 12:12interface to publicly collect conversation data and then use
- 12:18that to fine tune our turn trainer turn taking model.
- 12:23But it is often very hard to get data sets from like real
- 12:29distribution, right? For because when I'm talking to
- 12:31customer support, more often than not, you will not have
- 12:34access to that data, right? So many of these conversations
- 12:39on which this these models are trained are either synthetic or,
- 12:43you know, by some of the data collection companies and they
- 12:46probably pay users to do that. But like when when both of us
- 12:50are talking and then I know what the purpose is, it could change
- 12:54things, right? Like subconsciously, I feel that
- 12:56is a very interesting area that like how do you sort of collect
- 13:01this more natural data and use that to sort of tune your turn
- 13:07taking also, it depends on domain a lot, right?
- 13:10So the distribution of how people talk in customer support
- 13:14versus talk the same person talking to a friend versus
- 13:17talking to a customer support agent versus, you know, maybe
- 13:24talking to even AI agent, right? Like the pitch and annotation
- 13:29can change, right? So I feel like fine tuning that
- 13:34for domain data is is very useful.
- 13:37And I think that is still possible because when we are
- 13:39working with some enterprise customer and if you say that,
- 13:42OK, you know, we can have turn taking specifically for your
- 13:45customer support. There's a certain pattern, let's
- 13:48say most of your customers are in the US and there's a general
- 13:52pattern to that sort of conversation, the noise levels
- 13:56versus let's say someone sitting in like, you know, India or in
- 13:59London, right? Like so fine tuning definitely
- 14:03helps on specific data set. So I do believe like when we
- 14:06don't have great benchmarks here, creating internal company
- 14:10benchmarks on real data is a lot more powerful than, you know,
- 14:15just benchmarking on open source because these data sets have the
- 14:18challenges I was just talking about.
- 14:20All right, so this episode is brought to you by the good folks
- 14:23at ML Flow, the open source platform for developers who want
- 14:27to build production ready AI applications.
- 14:31Enhance your AI applications with end to end AI
- 14:34observability, all in a single integrated platform with ML
- 14:38Flows Gen. AI capabilities.
- 14:39You can evaluate AI applications using a suite of built in or
- 14:43custom judges, visualize trace executions and agentic
- 14:48analytics, and continuously monitor evaluations, all while
- 14:53tracking every run in one place. Ship better agents faster.
- 14:58You know that's the name of the game.
- 15:00Get started at mlflow.org. We had Zach in here from Sierra
- 15:06a few months ago and he was talking about how they're
- 15:10running a constellation of models.
- 15:14You've seen that that's very common in your eyes.
- 15:16Yes, yes. Can you break down how many
- 15:19models and what what that constellation looks like?
- 15:22Yeah, so that is true and we can talk about constellation of
- 15:26models in different contexts. So one of the example was like
- 15:30you know for for turn taking was like I said like you know one
- 15:35could be a simpler acoustic features based model.
- 15:38Second is neural right now you go to LLMS, right.
- 15:40That is a big challenge because in the easiest thing in chat is
- 15:44that somehow there is a, there is a higher tolerance for
- 15:49latency where you are chatting with something and there's like
- 15:52dot, dot, dot and thinking, right?
- 15:54But in voice, that is, if that is complete silence, people
- 15:59would just drop the call, right? And I think there are like more
- 16:01historical reasons for that because voice agents or voice
- 16:06chat bots traditionally were like so dumb that people
- 16:08generally don't trust them. So now if you're putting like 2
- 16:12seconds of pause, they'll be like, OK, I don't think I'll get
- 16:15anything out of it and they'll disconnect, right?
- 16:18So, but there's also a need from our customers to use the best
- 16:21models, right? Like if Cloud Opus is there or
- 16:24Sonnet is there, they still want to use that as an intelligence
- 16:27layer. How do you do that?
- 16:29And I feel like there's something in between the like
- 16:34dumb cascaded way of just chaining things together and
- 16:38like speech to speech, where you come up with like more
- 16:41intelligent patterns of cascaded architecture or whatever you
- 16:44call it. For example, let's say when when
- 16:49two of us are talking and you ask me a hard question, right?
- 16:52Which requires me to think more, right?
- 16:55I would not go completely silent after you asked me, right?
- 16:59I would often either ask you to give me a moment, right?
- 17:04And let's say if it's taking more time, I'll be like, hey,
- 17:06Dimitri, as I apologize, right? But give me 5 more seconds,
- 17:10right? And that's better.
- 17:12But even better is that you asked me something, let's say
- 17:15about voice agents, right? And you asked a very open-ended
- 17:18question. I had to go go and then do a
- 17:21deep research to give you a comprehensive answer.
- 17:24But can I keep the conversation going right?
- 17:27Can I start with something very basic about voice agents, what
- 17:30they are, where are they used, right?
- 17:32And for that, do I need the most expensive model?
- 17:34No, right. So I think what we often see
- 17:39working with our customers, but also in general is like, I can
- 17:42have a like a smaller model, right?
- 17:45That is for these more cursory conversations, right?
- 17:48A high level chit chat or are basically like turns that
- 17:53require low intelligence right where these models keep you
- 17:57engaged. And then they they do delegate
- 18:01the the more intense tasks in background to A to a more
- 18:05expensive model so that now there's no complete silence.
- 18:09I have a model which is trying to be helpful and at some point
- 18:14if it doesn't have enough context of what you're asking
- 18:16about, then it can ask you to sort of wait and you know, still
- 18:21keep the conversation going while the background tool or
- 18:24background more expensive model returns.
- 18:26So this is a very common model and now you can have like more
- 18:29than two models in this, right? So I think this is 1 very common
- 18:33use case of using multiple models.
- 18:36Second is what I have seen is in customer support, specifically
- 18:42that and at Amazon, we we went back and forth multiple times
- 18:49where there was 2024 was very confusing where like you see
- 18:55these great model releases from GPD or cloud.
- 18:58Then you chat with them like they are just like amazing.
- 19:01But then on on task oriented dialogue tasks like customer
- 19:04support, where I don't really care about the overall general
- 19:09intelligence of the model, but like I want higher reliability
- 19:12on those tasks. There they would like often like
- 19:15the prompt based approach or a react style looping method would
- 19:18often fail. So then we would have like a
- 19:21constellation of models again, right?
- 19:22Like where for certain tasks, let's say tool calling cloud was
- 19:27excellent even in like late 2024.
- 19:30So I would probably rely on Haiku, right?
- 19:33But like response generation is something where I want to have
- 19:36more control because I'm building models for Amazon's
- 19:40customer support, which is in across so many languages impacts
- 19:44probably 2 billion plus interactions.
- 19:46I cannot like let it loose on Haiku and just prompt the heck
- 19:49out of it, right? So there I would use like a
- 19:52smaller sort of fine-tuned model for response generation tool
- 19:56calling. I will get the best from Haiku.
- 20:00So I think that's another sort of reason to use a constellation
- 20:05of models, yeah. I wonder how many is too many,
- 20:12if there ever is too many. Yes.
- 20:15And too many shouldn't be too many in my opinion because very
- 20:19hard to sort of update them, improve them.
- 20:24And so that was a challenge. And there also we went back and
- 20:30forth even in early 2023 where we were like OK, we should given
- 20:35that LLMS are here and we were already using a constellation
- 20:38before pre LLM because generative capabilities were not
- 20:42there. So for intent detection, you use
- 20:44like you fine tune a bird style classifier for response
- 20:48generation. You really don't use generative
- 20:50models in production then, right?
- 20:52We would have these like ranking models where you still use the
- 20:56understanding ability of bird style models, but to keep the
- 20:59dialogue contained and not not say anything like we define for
- 21:04each domain, let's say refund from our historical transcripts,
- 21:07we only see of 500 types of like responses that are possible,
- 21:12right? Given that it's a constrained
- 21:14domain and long tail, it's fine. We can transfer it to a human,
- 21:17right? And we asked the model to
- 21:20basically understand what the customer is saying and then like
- 21:23pick the right template and fill that template with high
- 21:26demetrios, right, right. And I can put the placeholders
- 21:29and choose the template, right? And then we were using like a
- 21:33bunch of models together and then we were like, OK, LLMS are
- 21:36here, we should not, they are intelligent.
- 21:38They should be able to do sort of multiple things together.
- 21:42So what we did was our first iteration was fine tuning Flan
- 21:48and Mistral on on our own data for multiple tasks, which was
- 21:53action prediction. These days it's called tool
- 21:55calling, but that back then response generation, intent
- 21:58detection, dialogue state tracking, which is still very
- 22:03common. So and we would have like
- 22:07bespoke models for each of them and we tried to consolidate
- 22:10them. And then you will see that like
- 22:12there's an interference, like if one task sort of if the model
- 22:18regresses on one task, right, then I add, let's say more data
- 22:21to the post training mix for that.
- 22:23And then it ends up impacting my other tasks as well.
- 22:27Yeah, it's a vacuum mole. And then, you know, of course,
- 22:29you have to still release stuff in production.
- 22:31So like we went from a like constellation of models to a
- 22:37multitask to a constellation, but like a smaller
- 22:40constellation. And I do believe in many
- 22:44production system, I haven't seen one model doing everything,
- 22:48especially for like more complex situation.
- 22:51If it's like a small to medium sized business, largely AQ and a
- 22:54use case, couple of tool calls, right?
- 22:57I think. I think just one model is just
- 22:59fine. But then what you're seeing for
- 23:03the various models in the constellation of models, what
- 23:08are the different use cases of the different models?
- 23:10You mentioned a deep research. I imagine there's OK, you kick
- 23:14off some tool calling, maybe you want to go and grab some data
- 23:17from somewhere. Yes, those are all pretty
- 23:20obvious ones. Are there others that are
- 23:22missing? It's just not deep research.
- 23:28You can deep research is the most common use case like doing
- 23:32that. But sometimes they are just APIs
- 23:38that take longer invoice agents. If you see demos from different
- 23:42companies, they'll be like, oh, you know, in 500 milliseconds,
- 23:46we do everything right. But in real world, you are
- 23:48deploying it in production. The APIs themselves take a
- 23:51couple of seconds or sometimes one second, right?
- 23:53And so it it is not a constellation of models, but
- 23:56often you also use these models to sort of hide the latency of
- 24:01those like more expensive tool calls or legacy APIs, right?
- 24:07Yeah, yeah. Other constellation or other is
- 24:11like retrieval, right. If you still use retrieval
- 24:14today, for example, I still need to come up with a quick answer.
- 24:20So I will, I will have like a fast retriever which is like,
- 24:24you know, largely keyword based or grab based to give you a
- 24:27quick answer and then you know, more expensive retrieval that
- 24:31sort of does its job like more like deep research.
- 24:35And so this is something where you would experience it as the
- 24:38voice agent saying, OK, let me talk to you about that more.
- 24:43Yes. And then boom by the time it
- 24:44finishes that. Phrase yes, exactly or or give
- 24:47you something more useful than that right.
- 24:49So like, like, like if you ask me what are voice agents, I
- 24:52think smaller models are still, if I just do like grab on my
- 24:56documentation and search for voice agents, right?
- 25:00And then I will still have a reasonable answer to give you,
- 25:03right? So I, I just don't need to ask
- 25:05you to wait. I can give you something And
- 25:08then I'm like, hey, Demetrius, do you want me to go deeper?
- 25:10But I was already going deeper in the background, right?
- 25:13And then fetch the response for you.
- 25:15So by the time you say yes, I get enough time to to to
- 25:19basically like, you know, use the response from a deeper deep
- 25:23research or a more expensive retrieval to to self.
- 25:27And that's where you're masking the latency.
- 25:30Yeah, that's like latency masking.
- 25:31Yeah, yeah, yeah. Yeah, that's awesome.
- 25:34OK, So what else? I know there are so many things.
- 25:37That and then there are other examples of like having
- 25:40constellation for example in support.
- 25:43Most of my examples are going to be from support because.
- 25:46You're knee deep in it these days.
- 25:47So it makes sense, for example, like if you just do like the
- 25:52cookie cutter way of building agents where you put a knowledge
- 25:55base and some tools, right? At best it's going to match the
- 25:59performance of a level 1 customer support, right?
- 26:02Which is like usually not the best quality in a given
- 26:05organization. Every organization has level 1
- 26:08and level 2. Level 2 are probably more like
- 26:10permanent employees, domain experts, right?
- 26:14And no matter what company it is today, it's so hard to beat
- 26:18their performance even today, right?
- 26:20Yeah. So one of the ideas we were
- 26:22like, OK, how do we make these agents smarter, get closer to
- 26:26this level? Can we sort of learn from their
- 26:29trajectories, right? Like how are they pivoting in a
- 26:32conversation? How are they sort of taking
- 26:34decisions on exceptions and not what are they saying to
- 26:37customers that is more reassuring that the customer
- 26:40doesn't disconnect, right? And how do we sort of fetch that
- 26:43context and then also like, you know, give that as an example to
- 26:48our agent to sort of follow that.
- 26:51And so for that, we had like another model that basically
- 26:54processes them because these conversations look very similar,
- 26:59right? But just based on like one or
- 27:01two values of like let's say age of the account or location of
- 27:08the account, the policies could be very different.
- 27:10So the model can make mistakes. So we had sort of another sub
- 27:14agent to like fetch these conversations that are high
- 27:17quality within similar context from these expert agents.
- 27:22Give it to an LLM to see if there's something it has to
- 27:25learn from them, right? Pass it to as a context to the
- 27:28main LLM, right, or our main agent.
- 27:32And that was another sort of multi agent setting where it was
- 27:37helpful. So you're doing this
- 27:38dynamically. It's not like the training, no.
- 27:41Yeah, you, you and we did end up training that because if you the
- 27:46conversation that you sort of retrieve like these trajectories
- 27:50of conversation, the top five are so similar, right?
- 27:54When you retrieve them that you would even we would not be able
- 27:58to find which is the correct one and which is the according to
- 28:00the policy and the SOP, right? These domains are very
- 28:03compliance or SOP heavy, right? So you still need like some kind
- 28:08of like fine tuning over that to make it understand the
- 28:12difference between the correct and the wrong 1 based on some
- 28:15minor details, let's say the, the, the loyalty status of the
- 28:20customer or the tier of the customer or their credit usage
- 28:23or whatnot, right? And for that, I think you need
- 28:28to still sort of do some kind of a preference tuning to make the
- 28:32model understand those like very specific differences.
- 28:35Yeah, there's variables, yes, are only understood by the
- 28:38subject matter expert. Exactly because like two of our
- 28:42conversations could be very similar, but then in one of the
- 28:46conversation, probably the location is different or or some
- 28:51attribute is different and that makes all the difference, right?
- 28:53Whether I should be giving you refund or not giving you a
- 28:56refund, right? So if you don't have like
- 28:58something that that learns to have this sort of discrimination
- 29:03and out-of-the-box, I haven't seen anything.
- 29:04Working, yeah, that discretion is so.
- 29:07Important. Yeah.
- 29:08And for some reason these level 2 agents have that discretion.
- 29:11Uh huh. Right.
- 29:13And I think it's still an open problem.
- 29:14How do we sort of learn from their behavior and make the
- 29:19agents like the current state of agents, which are at best level
- 29:22one, get closer to that? It is also like context capture,
- 29:26right? Like these days, agents are
- 29:28largely working on internal knowledge bases and tools,
- 29:32right? But the judgement of like these
- 29:36experts, right? A lot of that information is in
- 29:39their heads. But do you think they know why
- 29:42there? Like do you think the experts
- 29:44know why and they can explain if they were asked to?
- 29:49Yes, and that is something I'm very passionate about that.
- 29:51How do we capture that data, right?
- 29:53Like I don't think they log it anywhere, but like with voice
- 29:57becoming so much better, right? Like, you know, can you ask them
- 30:00to like just talk about their reasoning of doing that and like
- 30:04make them log at least some of them, right?
- 30:06And then sort of close that gap through that information, but
- 30:10also like observing their behavior and sort of emulating
- 30:14that. I think that's a very important
- 30:16area of applied research where how do we sort of get this
- 30:20information that's there in their head or through their
- 30:23experience, either observing their past trajectories or, like
- 30:28you said, explicitly asking them.
- 30:30But making it easier for them to be able to say that because
- 30:33agent handle time is a big sort of constraint.
- 30:37If I'm a human support agent, especially an expert one, the
- 30:41amount of money I make would be would depending on how many
- 30:44calls I take in a day, right? Which means if I'm spending more
- 30:48time in like recording my rationale, then like it's.
- 30:52So I think that the incentive structure has to change their or
- 30:56it has to be a more natural way of like capturing that feedback.
- 30:59Yeah, you almost have to give them as much time or money
- 31:04compensation for doing this as if they were and.
- 31:08There's also like a huge tension within the operations org in a
- 31:11company and the org that is building AI agents to make those
- 31:15operations more efficient. Because for operations org, if I
- 31:19want to like use the expertise of these humans, it increases
- 31:24their handle time, increases their cost, at least in the
- 31:27short term. While without this information I
- 31:31would not be able to make my agents better, so there is quite
- 31:35a back and forth I've seen across different places.
- 31:37Yeah, there's a little bit of a catch 20.
- 31:39Yes. You know, what always fascinates
- 31:41me with voice is how much more willing I am to give extra
- 31:47context. So when I interact with someone
- 31:53through voice, I will say and explain much more than if it's
- 32:00with text. Yes, I feel that is like that is
- 32:02the real unlock in my opinion. Then like at a very high level,
- 32:08people saying like, oh, voice is the most natural way of
- 32:11communication. Of course it is, but how does it
- 32:14help it help? It manifests in exactly what you
- 32:16said because it is a more natural way.
- 32:19I can speak more, I can provide more context, right?
- 32:22I can correct you more right. While my patience level when I'm
- 32:26just chatting is like so much low.
- 32:27I will just type minimum amount of words and that is going to be
- 32:32ambiguous. The agent is going to get
- 32:34confused and like, but in voice. As long as you don't like
- 32:37frustrate the heck out of me, I'm happy to provide more
- 32:41context to you. Yeah, yeah.
- 32:42And just naturally I would say that I provide it without being
- 32:47prompted extra because I want it's as I'm thinking through it,
- 32:53I'm also talking through it. Yes, yes.
- 32:55Normally when I will write with text, yeah, I'm, I'm thinking
- 32:59through something, but I'll think so much faster.
- 33:03And then I'll type out the summary.
- 33:05Yes, exactly. And same for like voice other
- 33:08applications, right. This is just sort of chat or or
- 33:11real customer conversation. But the amount of time in let's
- 33:15say customer support, how much time these associates spend in
- 33:19writing an e-mail, right, That is a significant part of the
- 33:24handle time. Sometimes as much as they they
- 33:27spend like helping you out, they have to like do some compliance
- 33:31stuff, add information, frame an e-mail, right?
- 33:35And I think that part has also been like, you know, agents or
- 33:39LLMS have helped quite a bit. And now with voice that becomes
- 33:42so much more easier, right? Like if you have to frame the
- 33:45e-mail you just talk, or if an LLM pre populates the e-mail
- 33:49based on the summary of conversation.
- 33:51If you need to correct you can just say it right.
- 33:54Yeah, yeah. And so the thing that I've
- 33:57noticed is that I am starting to get really lazy when it comes to
- 34:03typing. And I think that's the wow
- 34:05moment that a lot of people have with whisper flow is when you
- 34:09can say, oh, no, I didn't mean to say that.
- 34:12Or when it automatically formats with bullet points.
- 34:16That's incredible because normally with the dictation,
- 34:22it's really shitty. And when you say, oh, I didn't
- 34:24mean to say that it will write it.
- 34:26Will write that exactly and that is where I feel like this sort
- 34:29of another area which I haven't personally sort of explored but
- 34:34like which which can get important is like fusing the the
- 34:38ASR and the LLM layer, right? Why most people don't like that
- 34:42in production is because they want to have full control over
- 34:44their LLM, right. But for applications like this,
- 34:47right, where I don't want it to transcribe verbatim everything
- 34:50I'm saying, it needs to be intelligent enough to have the
- 34:53context that like, OK, whenever I was like, you know, back
- 34:57channeling or sync or stop for a moment or set something
- 35:02irrelevant in between, it shouldn't be transcribing that,
- 35:05right? And so those models are getting,
- 35:08you can literally like fine tune an open source model that can
- 35:13take like multimodal input speech and text both to be able
- 35:17to like basically fuse the 1st 2 layers, right?
- 35:20So I know there are companies and some customers doing that to
- 35:25manage latencies, but I think these personal use cases, right,
- 35:28where you don't want transcription to be like
- 35:30completely verbatim, you also need to understand the context
- 35:34of the situation before you, let's say, send an East e-mail.
- 35:37So you can basically bake the ASR and the intelligence layer
- 35:40together. Yeah.
- 35:42I hadn't realized that, but makes a lot of sense.
- 35:45I think there's this wise AI startup called Ultravox.
- 35:49They used to be called Fixi dot AI in CI.
- 35:51Yeah. They follow this approach.
- 35:53Really. Yes.
- 35:54Yes. They're the first one from what
- 35:55I know that hard because I remember back in the day they
- 35:58were trying to do like a Ling chain competitor.
- 36:02Yeah. No, I think now they are like
- 36:04from what I know from my last couple of things change very
- 36:08fast these days, but they're like a voice agents platform.
- 36:11But they're like general thesis was that like, you know,
- 36:15somewhere in between the speech to speech and like complete
- 36:18cascaded is where we basically fuse 2 components, right.
- 36:22So make it less cascaded, right. But again, right, there's a
- 36:25spectrum, then you lose some control, right?
- 36:27Yeah. Yeah, yeah.
- 36:29What other use cases do you see a lot of with the voice agents?
- 36:34Customer support, inbound sales, outbound sales, there are
- 36:39companies that are building over us for outbound sales as well.
- 36:44And inbound is much easier because see, if you look at the
- 36:47sales cycle, right, like there are different types of
- 36:51customers, like some are like strategic, like key accounts,
- 36:55right? Where maybe you want to deploy
- 36:56your best salesperson, right? But then there's a long tail,
- 37:00right? And maybe eventually you might
- 37:03still want a human there, at least with the current
- 37:05capabilities, but the initial basic conversations, right?
- 37:08Like if you see your LinkedIn and I see my LinkedIn like there
- 37:11would be GTM folks from some startups reaching out, oh, we
- 37:15are launching this product, are you interested, happy to set up
- 37:18a call with our founder or whatever, right.
- 37:21Like I think that initial call or initial e-mail, that is a
- 37:26very common use case with with voice agents or text agents
- 37:30today where the the first part of the outbound sales cycle is
- 37:34like can be handled by that which is a long tail of
- 37:37customers. Don't you think that would piss
- 37:39people off though? If they get on a call and then
- 37:41it's like, oh this is just a fucking voice agent, get out of.
- 37:45Here and that is why I feel like inbound is more common.
- 37:48Inbound is like when customer is reaching out to you that I want
- 37:51to use your product and I want to do some kind of a lead
- 37:53qualification that OK, is Imatrios the right customer?
- 37:58Instead of having them fill out a form, yes, get them on a call
- 38:02and you just. Right.
- 38:03So that is a very clear one. Outbound, I know a few startups
- 38:07which are specifically companies built for outbound sales agent,
- 38:10they are building over us and they seem to be doing quite
- 38:13well. So I'm pretty sure they are like
- 38:16they have found a segment of customers who are just fine with
- 38:20this early calls being with voice agents, especially with
- 38:23how natural the voice has become.
- 38:25And to be honest, like it was never about talking to, at least
- 38:30for me talking to a human or to an AI.
- 38:33I'm fine talking to an AI if I have enough trust that it's
- 38:37going to solve my problem, right?
- 38:39Just speaking to a startup founder where they are solving
- 38:44this for plumbing, right? Where and I've seen that problem
- 38:47myself and friends, you are looking for a plumbing
- 38:50contractor today. You go on the website, you
- 38:53submit your information, you ask a code and then a couple of days
- 38:56later someone reviews that and gets back to you, asks for you
- 39:00the best time to talk and. But I want that like thing to be
- 39:04fixed today, right? Especially plumbing have some
- 39:07serious problems. Exactly right.
- 39:09So I don't think that works. So for plumbing, for example, it
- 39:13is like so much easier now. And that's a great use case in
- 39:17my opinion, where like if I can basically get a code
- 39:21immediately, right? And it could basically find.
- 39:25And I think plumbing also has this problem of like
- 39:28seasonality. So if there is like a layer
- 39:31above plumbing, which is like, because I many cases I don't,
- 39:35I'm not fixated on a contractor. I want a contractor who is
- 39:39charging me like reasonable and is available today, right?
- 39:42So something that can basically make calls to contractors on my
- 39:46behalf, submits that what I'm willing to pay for it and then
- 39:50like get me something like tonight or tomorrow.
- 39:53Right. It reminds me of there's these
- 39:56folks who will run Google ads for like landscaping businesses,
- 40:02but they don't have a landscaping business.
- 40:05What they have is when somebody clicks on there and says I want
- 40:08to get a quote. They then take that lead and
- 40:12they'll sell it to an actual landscaping business.
- 40:14Yes. And then booking and reservation
- 40:16is like super sort of common use case if you are in a restaurant
- 40:20and if I'm an authenticated user, if you get a call from me
- 40:24to book a reservation, as long as you are sure that like I am
- 40:27the person calling, do you care if I if it's an AI agent on my
- 40:31behalf or it's me? No.
- 40:32No. So booking from the customer
- 40:36side, yes, yes, yeah. Booking any appointment?
- 40:39Yes. Any appointment which means in
- 40:42future I do imagine to have like once the whole authentication
- 40:47layer, the payment part is is taken care of.
- 40:50And I know companies like Visa and others are building a layer
- 40:54for that for like payment authentication with agents where
- 40:58I do have ability to authorize my agent to take XYZ actions on
- 41:02my behalf. It could be shopping, it could
- 41:04be making a reservation. And I think once, and I think it
- 41:08will come like very soon and then I can have my
- 41:11representation, right that can make these calls, book these
- 41:14appointments. Because today what happens is
- 41:16like I call especially in SF reservation, in restaurant, they
- 41:21don't pick up phones. So I think this solves both
- 41:23sides of the problem, right? The the user side, but also the
- 41:27vendor side or the restaurant side, because there is one
- 41:30person who is also serving but also taking calls.
- 41:33They did not pick up the calls, right.
- 41:35But if you have it's, it's very simple, right?
- 41:37Like I know how many people are reserved for today, how many
- 41:41sort of spots I have. And then, you know, I could, I
- 41:45could basically book a reservation automatically or
- 41:49worst case, if that information is not there yet, right?
- 41:52I could still like ask the person to call you back, right,
- 41:56so that I don't have to call back right when they are
- 41:58available. So in both cases, I feel like
- 42:01this significant like time we are spending and we are like so
- 42:05unproductive doing this, that this should already be solved
- 42:08now. Yeah, dude, this is great.
- 42:11What else do you want to talk about?
- 42:13What are some other things? I know you mentioned you rattled
- 42:15off a ton at the beginning and I can't remember everything
- 42:18because you said so much. I think the whole like cascaded
- 42:22versus like speech to speech debate, right?
- 42:24That is the most common question that comes from customers.
- 42:29Also customers who are probably like more abstracted out or at
- 42:34like leadership levels where they don't want to get into the
- 42:38details, but they clearly feel that like, OK, when they talk to
- 42:41like speech to speech APIs, it sounds cool.
- 42:44Why do we need to have this like complex orchestration?
- 42:46Why can't one model do everything right?
- 42:49And yeah, so I was talking to in an informal setting with some
- 42:55open AI researcher and I think they are still sort of working
- 43:01on finding how do you sort of keep the speech quality good
- 43:05because the model has to be smaller to to, to to have the
- 43:09latency. Right.
- 43:10Right. It has to be fast.
- 43:11But then then we already know based on scaling laws right now,
- 43:15right? A bigger model is better, right?
- 43:18So I don't know, like I think that tension would always exist.
- 43:21But more than that, even if these speech to speech models
- 43:25keep getting better, right? There's always, even with the
- 43:28latest, let's say, release of Opus, right?
- 43:32It will not satisfy me 100% of the time if I'm enterprise,
- 43:36which means like in some cases, I need to like have ability to
- 43:41fix it, right? Sometimes it could just be
- 43:44prompt or maybe adding like tools or maybe using a different
- 43:47model, right? Like we talked about
- 43:48constellation of model. So I think this whole like
- 43:51cascaded architecture gives me that flexibility.
- 43:54As long as we figure out, like we talked about that there are
- 43:58different layers of users for voice agents today.
- 44:01There are like non-technical business owners who want to
- 44:04automate their like concierge experience, right?
- 44:07Like taking bookings and stuff like that.
- 44:10What is the interface for them? They want us to do all the heavy
- 44:13lifting, no customization needed, right?
- 44:16Then there's a layer below which is like customers who are small
- 44:21enough but have few engineers, right?
- 44:23And they want a little bit more of control right there.
- 44:27It gets like, you know, we do offer some controls, but I think
- 44:30it's still up for debate what is the right amount of control,
- 44:33right? Because if it is like all the
- 44:35control, then there are just too many knobs to change.
- 44:38And then if you don't do it right, then your experience is
- 44:40bad and then you can turn. It's witchcraft.
- 44:43It's a witchcraft after that. Right.
- 44:45So I feel like the number of knob, the the biggest challenge
- 44:48of Cascade is not that you can't make it work like a real time
- 44:52speech to speech in terms of voice quality, but with better
- 44:55intelligence. It's more about the number of
- 44:58knobs and the effort it takes to do that.
- 45:01And that is why I feel like we see that more and more where
- 45:04customers want to control the text stack and like offload the
- 45:08voice orchestration to us. That is getting very common.
- 45:12And I think there's a spectrum between pure dumb cascaded,
- 45:16which is just chaining them and the speech to speech.
- 45:19And there are different patterns like we spoke about, you can
- 45:22fuse the ASR plus your LLM layer.
- 45:27You can fuse the ASR plus turn taking layer, right?
- 45:32They can be the same models. They don't need to be different,
- 45:35right? Then you can have the TTS,
- 45:40right. A couple of weeks back, we
- 45:42released this expressive mode TTS models.
- 45:45So, so far, TTS models were already so good, but like they
- 45:50were not trained or fine-tuned for long conversations and long
- 45:54conversations. I mean like 5 to 10 tons, which
- 45:57is pretty standard in customer support or other areas.
- 46:01So these models were just trained on, OK, this is the
- 46:04text, right? With these emotional cues,
- 46:07right? Like laughing or whisper
- 46:09generate a speech based on this, right?
- 46:12But like real world application of these models, if you look in
- 46:15more enterprise setting, which is not on the creative side of
- 46:18things is like I want to make sure that when I generate a
- 46:22speech, it has context of my conversation so far, right?
- 46:27Like all of a sudden it should not start laughing when the
- 46:31conversation was going quite serious, right?
- 46:34And so far in this pipeline, all that offloading was being done
- 46:39on the LLM, right? Where LLM is responsible to
- 46:42basically generate a sentence in a way that it is, it is it would
- 46:48not laugh, right? Either use the right emotion
- 46:50tags with that or or or keep the language that way that the TTS
- 46:54model knows that this is not a happy moment, right.
- 46:57But now with this conversational TTS is nothing but that that
- 47:02just you train it in a different way where you pass it the final
- 47:06utterance that it needs to do, but also pass historical context
- 47:10of the conversation. And it's super important in in
- 47:14domains like customer support, like booking sales, for example,
- 47:18right? Like so with some of these
- 47:21design in patterns where these TTS models getting more
- 47:24conversational, like, you know, taking full context of the
- 47:27conversation rather than that immediate turn ASR models and
- 47:33LLM, you can sort of fuse them together having like this
- 47:39foreground and background approach of model that you want
- 47:43to use like expensive model, the best model, but also want to
- 47:47keep it natural. So have this like small model
- 47:50that is you can call it a masking model that is not as
- 47:54dumb to just say that like say that give me a moment every
- 47:57time. It's smarter than that, but less
- 47:59smart than the big model. And so I feel like there are
- 48:02enough design patterns in between, right, which could
- 48:06basically make it sound as good as speech to speech, but with so
- 48:11much more flexibility that when an enterprise customer says
- 48:14that, OK, why I'm seeing hallucination at XYZ or, you
- 48:17know, my, there's an outage on like, you know, Google Gemini
- 48:22and I want to like, now change the model.
- 48:24Now how do you do that with like speech to speech?
- 48:26Like what if I'm using a speech to speech API from Gemini or
- 48:31open AI and there's an outage? What do I do there?
- 48:33You're screwed. I'm screwed, right?
- 48:36So I feel like for, and that's my personal opinion, that like
- 48:40for some time now, right? This, this somewhere in between
- 48:45is the right approach, right? Not the old cascaded way, right?
- 48:49Just chaining them. It doesn't work.
- 48:50You will have so many edge cases that it would end up sounding as
- 48:55dumb as the old chat bots, despite improvements in ASR and
- 48:58TTS. So you can based on your
- 49:01appetite, right? Like are you OK?
- 49:03Do you need to, you have a small enough use case that you can use
- 49:07open source model. You don't need to rely on, let's
- 49:10say cloud. And in that case, can you fuse
- 49:15the ASR and, and the LLM and, or maybe the foreground model, the
- 49:19smaller model, you can fuse with the ASR, the bigger model can be
- 49:22separate and that can be accessed as a tool called,
- 49:24right? That is, that is one way of
- 49:26doing that. Second, how do you sort of have
- 49:31a more sort of conversational TTS?
- 49:35You can potentially also combine the turn taking with this.
- 49:38There are multiple permutations and I feel like the right
- 49:41developer platform and we are also sort of improving on that
- 49:44side would be at least for the core developer layer giving
- 49:48these options right so that they don't making it easier to
- 49:51implement and experiments with these design patterns.
- 49:54I think I feel like most platforms are like had a long
- 49:59way to go there. Yeah, right.
- 50:00Yeah, I haven't heard that from anyone.
- 50:02Yes, yes. So I feel because it it is non
- 50:06trivial, right here we talked about these ideas.
- 50:09It's easier said than done, right?
- 50:10Because I also do like like implement them or like, you
- 50:14know, in this like whole async event loop, like making that all
- 50:20these events tie up together, right, exactly at the same time,
- 50:23right. It is, it is non trivial.
- 50:25So I think there's the dev platform layer need to provide
- 50:29this flexibility. And then probably once people
- 50:33experiment with these permutation, then you know, they
- 50:36can choose, choose within the spectrum, not the cascaded and
- 50:39the speech to speech. There are options in between
- 50:43that give them enough trade-offs between, let's say, control
- 50:47versus quality, reliability versus quality.