Realtime spraak biedt mensen een fundamenteel andere manier om met AI-toepassingen te communiceren. In plaats van te typen of door menu's te navigeren, spreken gebruikers op natuurlijke wijze en krijgen ze antwoorden met realtime timing en emotionele context.
Bij een geweldige realtime spraakervaring draait alles om de coördinatie van een live-interactie. Hier begint het echte productwerk. De realtime-ervaring is direct en levensecht; een toepassing bouwen die dat volhoudt, vormt een geheel eigen technische uitdaging.
Het model is slechts één onderdeel van het systeem. Productietoepassingen vereisen infrastructuur die speciaal voor spraak is ontworpen, een duidelijke scheiding tussen het gespreksverloop en diepere redenering en gebeurtenisgestuurde besturing om de sessie tijdens het verloop te beheren.
Beveiligingsmaatregelen en evaluatie vormen nog steeds een groot deel van de uitdaging. Veiligheidscontroles moeten liveaudio kunnen bijhouden, terwijl vluchtige gesprekskenmerken zoals timing, toon en gespreksverloop moeilijk te beoordelen zijn met traditionele evaluatiestrategieën.
De meeste AI-toepassingen met spraak werken tegenwoordig nog steeds hetzelfde: spraak gaat erin, tekst komt eruit, een model denkt na en een synthetische stem leest het antwoord voor. Het werkt. Maar de interactie voelt ook zoals die is: als een pijplijn, niet als een gesprek.
Realtime spraak brengt daar verandering in. Gebruikers spreken op natuurlijke wijze en krijgen antwoorden met timing, toon en emotionele context. De ervaring is sneller en vloeiender dan bij gekoppelde spraak-naar-tekstpijplijnen en lijkt meer op een gesprek met een persoon dan op het bedienen van een systeem.
We hebben gezien dat dit productmogelijkheden ontsluit waarmee pijplijnarchitecturen moeite hebben. Realtime spraakagents kunnen klantenservicegesprekken afhandelen waarvoor anders lange, beperkende IVR-menu's en doorverbindingen tussen afdelingen nodig zouden zijn. Ze kunnen coachen, nieuwe gebruikers begeleiden, toegankelijkheid via verschillende media ondersteunen en nog veel meer. Overal waar gesproken gesprekken voordelen bieden boven tekstinterfaces, is het de moeite waard om realtime spraak in te zetten.
De meeste toepassingen met spraak gebruiken de zogenoemde "gekoppelde aanpak": een pijplijn van afzonderlijke modellen voor spraak-naar-tekst, taalverwerking en tekst-naar-spraak. Deze systemen werken goed en bieden tal van mogelijkheden, maar audio speelt alleen aan de uiteinden een rol. De afzonderlijke stappen zorgen voor een verplichte structuur en vertraging, waardoor de interactie minder natuurlijk aanvoelt dan een echt gesprek.
Realtime spraak kiest voor een andere aanpak. In plaats van afzonderlijke modellen voor luisteren, denken en spreken handelt één model alle drie rechtstreeks af en begrijpt en genereert het tegelijkertijd zowel audio als transcripties. Invoer en uitvoer vinden continu plaats, zodat het systeem met natuurlijke timing en emotie kan reageren en het realistische ritme van een livegesprek behoudt. Daardoor worden timing, toon en de afhandeling van onderbrekingen een centraal onderdeel van het product.


De realtime-ervaring is aantrekkelijk omdat ze direct aanvoelt; ze is lastig omdat niets op zijn beurt wacht. Daarvoor is meer nodig dan snelle en nauwkeurige audiogeneratie. Al het andere is het lastige deel. Het model werkt binnen een livesessie. Alles eromheen, zoals status, veiligheid, orkestratie en besturing, moet in hetzelfde tempo parallel aan het gesprek werken.
In een gekoppelde spraaktoepassing bieden beurtelingse gesprekken een duidelijke heen-en-weerstructuur. De gebruiker spreekt, het systeem antwoordt en de volgende stap begint. Realtime spraak biedt die structuur niet. Beide partijen kunnen tegelijk praten, maar het kan ook stil zijn omdat geen van beiden spreekt. Een gebruiker kan het antwoord halverwege onderbreken of een vervolgvraag stellen voordat het systeem is uitgesproken. Onderbrekingen zijn niet langer uitzonderingen, maar worden een centraal interactiepatroon.
Dit patroon maakt realtime toepassingen in wezen tot een coördinatievraagstuk. Daarom is het systeem rond het model net zo belangrijk als het model zelf.
Om dit soort systemen op grote schaal te ondersteunen, moet specifiek voor live-interactie worden ontworpen. Daarbij keren in succesvolle productiesystemen steeds drie onderdelen terug.
Realtime spraaksessies moeten audiostreaming, beurtwisseling, onderbrekingen, de levenscyclus van verbindingen en de uitvoering van agents ondersteunen. Afhankelijk van waar de toepassing wordt ingezet, kan ook ondersteuning voor telefonie nodig zijn. Dit zijn fundamentele onderdelen van de ervaring en ze zijn essentieel om de toepassing op te schalen.
De eerste vereiste is een sessielaag die speciaal voor spraak is ontworpen. Frameworks voor realtimecommunicatie (RTC) bieden de toepassing een omgeving om deelnemers te beheren, audio te streamen en agents uit te voeren in een telefonieomgeving. Onze ervaring is dat vooral Livekit nuttig is. Het biedt een WebRTC-stack met lage latentie en standaard hoogwaardige ruisonderdrukking en jitterreductie. Het is zelden de extra complexiteit waard om deze laag zelf te implementeren.
Een multi-agentarchitectuur voor realtime spraak draait in wezen om een duidelijke scheiding van verantwoordelijkheden.
Realtime spraakmodellen zijn zeer effectief voor het streamen van gespreksaudio, maar zijn niet geoptimaliseerd voor diepere redenering. Taken zoals het aanroepen van hulpmiddelen, het ophalen van informatie of gestructureerde besluitvorming kunnen beter door een ander model worden uitgevoerd.
Een nuttig patroon is de beantwoorder-denkerarchitectuur.
De beantwoorder is de realtime spraakagent. Deze houdt de live-interactie gaande door te luisteren, te spreken, onderbrekingen af te handelen en het gespreksverloop te bewaken. Het ontwerp geeft prioriteit aan reactiesnelheid, duidelijkheid en emotionele continuïteit.


De denker is een afzonderlijke agent die wordt aangestuurd door een model dat sterk is in redenering. Deze werkt buiten het directe gesprek en voert taken uit zoals het gebruik van hulpmiddelen, het ophalen van informatie en planning. De beantwoorder kan de denker inschakelen wanneer dat nodig is en de resultaten weer in het gesprek verwerken.
In sommige gevallen kan de denker de redenering rechtstreeks afhandelen. In andere gevallen kan deze een groep gespecialiseerde agents orkestreren. De kern is dat dit werk wordt uitgevoerd door een model dat beter geschikt is voor redeneringstaken.
Het voordeel is eenvoudig: de beantwoorder blijft snel, natuurlijk en doelgericht, terwijl de denker werk afhandelt dat meer tijd, context of structuur vereist.
Toekomstige ontwikkelingen in frontiermodellen kunnen deze aanpak overbodig maken, maar voorlopig presteert dit patroon volgens onze ervaring consequent beter dan benaderingen met één agent.
Realtime spraaksystemen produceren van nature een continue stroom gebeurtenissen.
Gebruikers beginnen te spreken, pauzeren en onderbreken. Transcripties worden stapsgewijs bijgewerkt. Antwoorden worden gegenereerd en gestreamd. Externe resultaten komen binnen. De omstandigheden binnen de sessie veranderen. Al deze zaken kunnen worden vastgelegd, gestreamd en opgeslagen als de belangrijkste gebeurtenissen die tot de huidige gespreksstatus hebben geleid. Zonder deze gebeurtenissen kunnen we niet meer gericht en gedetailleerd ingrijpen.
Een gebeurtenisgestuurde aanpak biedt een duidelijke manier om dit te beheren. Het systeem legt gebeurtenissen vast wanneer ze plaatsvinden, werkt de sessiestatus bij en activeert de juiste vervolgacties.
Lichtgewicht handlers houden het realtime traject responsief, terwijl complexere taken, zoals toestandmachines bijwerken, meetwaarden registreren, gevoelige informatie verwijderen, databases bijwerken en een sessie afsluiten, als asynchrone achtergrondtaken worden gestart.
Naarmate er functies worden toegevoegd, kan het aantal achtergrondtaken snel toenemen. Zelfs kleine productwijzigingen kunnen nieuwe gebeurtenisstromen en afhankelijkheden introduceren. Een goed gestructureerde architectuur voor deze gelijktijdige processen is belangrijk om het systeem tijdens zijn ontwikkeling begrijpelijk en betrouwbaar te houden.
Deze gebeurtenisgestuurde aanpak ondersteunt ook een essentieel productaspect: de vormgeving van het gesprek zelf. Een realtime audiosysteem genereert niet alleen antwoorden, maar beheert ook het tempo en stilte en onderbrekingen en bepaalt hoe en wanneer een sessie moet eindigen. Deze gedragingen maken deel uit van de productervaring en zijn gebaat bij een doelbewust ontwerp.
Wanneer de sessiestatus verandert op basis van het aantal beurten, de verstreken tijd of het gebruikersgedrag, kan het systeem gerichte instructies aan de beantwoorder geven. Het kan de agent bijvoorbeeld aansporen de gebruiker te helpen afronden wanneer de sessielimiet nadert, of verduidelijking te geven als de interactie vastloopt. Deze interventies zijn klein, maar zorgen ervoor dat de ervaring doelgericht en samenhangend aanvoelt.
Een goed ontworpen systeem behoudt een duidelijk beeld van de sessiestatus: wie er spreekt, hoe het gesprek verloopt en aan welke voorwaarden is voldaan. Deze status, die continu door de gebeurtenisstroom wordt bijgewerkt, maakt de juiste begeleiding op het juiste moment mogelijk.
Beveiligingsmaatregelen zijn niet optioneel in gebruikersgerichte AI. Ze waarborgen veiligheid, naleving en betrouwbaarheid en gaan misbruik tegen. In een beurtelings systeem zijn er duidelijke momenten om ze uit te voeren: nadat een gebruiker heeft gesproken of voordat een antwoord wordt gegeven.
Bij realtime spraak verdwijnen de meeste van die handige controlemomenten. De invoer van de gebruiker komt continu binnen. Mogelijk wordt de audio-uitvoer dan al gestreamd. Voltooide transcripties lopen vaak achter op het geluid. Als het systeem wacht tot berichten compleet zijn voordat het ze controleert, voelt het gesprek niet meer realtime aan.
Beveiligingscontroles moeten daarom parallel aan het gesprek plaatsvinden om de levensechte interactie te behouden. Een mogelijke aanpak is om audio naar een buffer te streamen en beschikbare transcriptiefragmenten asynchroon te beoordelen. Zo kunnen veiligheidscontroles vrijwel realtime plaatsvinden zonder de interactie te blokkeren.


Wanneer een beveiligingsmaatregel wordt geactiveerd, kan het systeem binnen de context reageren door het gesprek bij te sturen, het gedrag aan te passen of zo nodig de sessie te beëindigen. Zo werken beveiligingsmaatregelen realtime zonder afbreuk te doen aan de gebruikerservaring.
Het lastigste aan de evaluatie van een realtime gesprekssysteem is dat enkele van de belangrijkste eigenschappen, zoals timing, onderbrekingen, gespreksverloop en toon, niet kunnen worden beoordeeld met tests die uitsluitend op transcripties zijn gebaseerd.
Standaard evaluatiepijplijnen voeren realistische scenario's aan het systeem in, observeren de uitvoer en kennen er een score aan toe. Bij tekstgebaseerde systemen of gekoppelde audiosystemen is dat eenvoudig: stuur tekst in en controleer de tekst die eruit komt. Bij realtime systemen bestaat de invoer uit liveaudio. De belangrijkste gespreksdynamiek draait om timing: hoe de agent omgaat met gelijktijdige spraak, hoe snel die reageert en hoe die zich na een onderbreking herstelt.
Handmatig testen, door rechtstreeks met de agent te spreken, brengt deze eigenschappen in beeld maar is niet schaalbaar. Automatisering op basis van transcripties is wel schaalbaar, maar verwijdert precies het signaal dat een goede realtime-ervaring van een slechte onderscheidt.
Geen enkele methode volstaat. De praktische oplossing is een combinatie:
Evaluaties tussen agents: een tweede realtime agent, die een specifieke gebruikerspersona moet aannemen, voert een gesprek met het geteste systeem. Een derde LLM beoordeelt de interactie als jury. Hiermee wordt het volledige audiotraject op grote schaal getest, inclusief timing en de afhandeling van onderbrekingen.
Niet-functionele meetwaarden: de tijd tot de eerste audio en sentimentanalyse van transcripties bieden kwantitatieve indicatoren voor de gesprekskwaliteit.
Handmatige kwalitatieve beoordeling: blijft essentieel om problemen te vinden die geautomatiseerde meetwaarden missen, vooral rond toon en natuurlijkheid.
Geen enkele methode dekt alles. Om realtime agents in productie te nemen, moeten alle drie de methoden worden gecombineerd. Zelfs dan zijn de hulpmiddelen voor de evaluatie van realtime audio nog onvolwassen vergeleken met die voor tekstgebaseerde AI.
Realtime spraak verandert de aard van het product. Gebruikers ervaren timing, onderbrekingen, stilte en herstel net zo sterk als de woorden zelf.
Dat betekent dat het model slechts een deel van het systeem is. Realtime spraak in productie vereist een sessielaag die speciaal voor spraak is ontworpen, een duidelijke scheiding tussen spreken en redenering en gebeurtenisgestuurde besturing van de livesessie. Beveiligingsmaatregelen blijven de grootste vertragende factor, maar met creatieve oplossingen kan een groot deel van de realtime-ervaring behouden blijven.
Evaluatie blijft het zwakste onderdeel van de stack. Er bestaat nog geen vaste methode om de eigenschappen te testen die realtime spraak prettig laten aanvoelen: timing, toon, de afhandeling van onderbrekingen en het gespreksverloop. Tot die er is, moeten teams die met deze technologie bouwen geautomatiseerde tests, tests tussen agents en handmatige beoordelingen combineren.