Hlavní navigace

Jak škálovat kvalitní hlasovou komunikaci v reálném čase

Načasování, přerušení, ticho a schopnost navázat utvářejí zážitek stejně jako samotná slova.

Shrnutí pro vedení

  • Hlasová komunikace v reálném čase nabízí lidem zásadně odlišný způsob interakce s aplikacemi využívajícími AI. Místo psaní nebo procházení nabídek uživatelé přirozeně mluví a dostávají odpovědi s tempem odpovídajícím reálnému času a s emočním kontextem.

  • Vytvořit skvělý hlasový zážitek v reálném čase znamená koordinovat živou interakci. Právě zde začíná skutečná práce na produktu. Interakce v reálném čase je bezprostřední a přirozená. Vytvořit aplikaci, která si tyto vlastnosti udrží, představuje samostatnou technickou výzvu.

  • Model je jen jednou částí systému. Produkční aplikace potřebují infrastrukturu navrženou přímo pro hlas, jasné oddělení plynulosti konverzace od hlubšího uvažování a řízení založené na událostech, které průběžně spravuje relaci.

  • Velká část zbývajících obtíží spočívá v ochranných opatřeních a vyhodnocování. Bezpečnostní kontroly musí držet krok s živým zvukem. Pomíjivé vlastnosti konverzace, jako jsou načasování, tón a plynulost, se navíc tradičními metodami vyhodnocují obtížně.

Úvod: hlasová komunikace v reálném čase jako podoba produktu

Většina dnešních hlasových aplikací s AI stále funguje stejně: na vstupu je řeč, z ní vznikne text, model jej zpracuje a syntetizovaný hlas přečte odpověď. Funguje to. Interakce ale také přesně tak působí: jako proces zpracování, nikoli jako konverzace.

Hlasová komunikace v reálném čase to mění. Uživatelé mluví přirozeně a dostávají odpovědi s odpovídajícím tempem, tónem a emočním kontextem. Interakce je rychlejší a plynulejší než u řetězených převodů řeči na text. Připomíná spíše rozhovor s člověkem než ovládání systému.

Zjistili jsme, že to otevírá možnosti pro produkty, s nimiž si architektury založené na řetězení obtížně poradí. Hlasoví agenti pracující v reálném čase zvládnou komunikaci se zákaznickou podporou, která by jinak vyžadovala zdlouhavé a omezující nabídky IVR a přepojování mezi odděleními. Mohou školit, provádět úvodním nastavením, zlepšovat přístupnost napříč médii a mnoho dalšího. Všude, kde je mluvená konverzace výhodnější než textové rozhraní, se vyplatí hlasovou komunikaci v reálném čase vyvíjet.

Řetězené zpracování versus reálný čas: co se mění „pod kapotou“

Většina hlasových aplikací používá takzvaný „řetězený přístup“: proces tvořený samostatnými modely pro převod řeči na text, jazykové zpracování a převod textu na řeč. Tyto systémy fungují dobře a nabízejí široké možnosti využití, zvuk se však objevuje pouze na okrajích procesu. Jednotlivé kroky vnášejí do procesu pevnou strukturu a latenci, takže interakce působí méně přirozeně než skutečný rozhovor.

Hlasová komunikace v reálném čase volí jiný přístup. Namísto samostatných modelů pro poslech, přemýšlení a mluvení zvládá všechny tři činnosti přirozeně jediný model, který současně rozumí zvuku i přepisům a také je generuje. Vstup i výstup probíhají nepřetržitě. Systém proto může reagovat s přirozeným načasováním a emocemi a zachovat realistický rytmus živé konverzace. Načasování, tón a zvládání přerušení se tak stávají ústřední součástí produktu.

Schéma porovnávající řetězené zpracování hlasu s hlasovým modelem pracujícím v reálném čase, který ze zvuku uživatele přímo vytváří zvukový výstup a přepisy.

Interakce v reálném čase je přitažlivá svou bezprostředností, ale obtížná tím, že nic nečeká, až na to přijde řada. Její podpora vyžaduje víc než jen rychlé a přesné generování zvuku. Obtížné je všechno ostatní. Model pracuje v živé relaci. Vše kolem něj – stav, bezpečnost, orchestrace a řízení – proto musí běžet souběžně s konverzací a stejným tempem.

V hlasové aplikaci s řetězeným zpracováním poskytuje střídání replik přehlednou strukturu dialogu. Uživatel promluví, systém odpoví a začne další krok. Hlasová komunikace v reálném čase takovou strukturu neposkytuje. Obě strany mohou mluvit současně, případně nemluví ani jedna a nastane ticho. Uživatel může odpověď přerušit nebo položit doplňující otázku ještě předtím, než systém domluví. Přerušení přestávají být okrajovými případy a stávají se základním vzorcem interakce.

Právě kvůli tomuto vzorci jsou aplikace v reálném čase především problémem koordinace a systém postavený kolem modelu je stejně důležitý jako samotný model.

Co potřebujete v produkčním prostředí

Provoz takového systému ve velkém vyžaduje návrh zaměřený přímo na živou interakci. Ten má tři součásti, které se opakovaně objevují v systémech nasazených do produkce.

Infrastruktura navržená přímo pro hlas

Hlasové relace v reálném čase musí zvládat streamování zvuku, střídání replik, přerušení, životní cyklus připojení a běh agenta. Podle prostředí, v němž je aplikace nasazena, může být nutná také podpora telefonie. Jde o základní prvky uživatelského dojmu, které jsou klíčové pro škálování aplikace.

Prvním požadavkem je relační vrstva navržená přímo pro hlas. Frameworky pro komunikaci v reálném čase (RTC) poskytují aplikaci prostředí ke správě účastníků, streamování zvuku a provozu agentů v telefonním prostředí. Podle našich zkušeností je obzvlášť užitečný Livekit. Nabízí hotovou sadu technologií WebRTC s nízkou latencí, kvalitním potlačením hluku a omezením kolísání přenosu. Vlastní implementace této vrstvy za přidanou složitost většinou nestojí.

Oddělte mluvení od přemýšlení, alespoň prozatím

Víceagentová architektura pro hlasovou komunikaci v reálném čase je v zásadě založena na oddělení odpovědností.

Hlasové modely pracující v reálném čase jsou velmi účinné při streamování zvuku konverzace, nejsou však optimalizované pro hlubší uvažování. Úlohy jako volání nástrojů, vyhledávání informací nebo strukturované rozhodování je vhodnější svěřit jinému modelu.

Užitečným vzorcem je architektura responder–thinker.

Responder (odpovídající komponenta) je hlasový agent pracující v reálném čase. Odpovídá za udržování živé interakce: poslouchá, mluví, zvládá přerušení a zachovává plynulost konverzace. Jeho návrh upřednostňuje rychlou odezvu, srozumitelnost a emoční návaznost.

Diagram architektury „responder–thinker“, ve kterém zvukový vstup uživatele proudí do responderu, který vytváří zvukový výstup, zatímco thinker koordinuje nástroje a předává kontext zpět responderu.

Thinker (uvažovací komponenta) je samostatný agent využívající model schopný uvažování. Pracuje mimo hlavní komunikační kanál a zajišťuje úlohy, jako jsou používání nástrojů, vyhledávání informací a plánování. Responder jej může podle potřeby zapojit a výsledky následně začlenit do konverzace.

V některých případech může thinker zajišťovat uvažování přímo. Jindy může fungovat jako orchestrátor skupiny specializovaných agentů. Podstatné je, že tuto práci vykonává model, který se lépe hodí pro úlohy vyžadující uvažování.

Přínos je jednoduchý: responder zůstává rychlý, konverzační a soustředěný, zatímco thinker řeší práci vyžadující více času, kontextu nebo struktury.

Budoucí vývoj průkopnických modelů může tento přístup učinit zbytečným, zatím se nám však tento vzorec soustavně osvědčuje lépe než přístupy s jediným agentem.

Řízení založené na událostech

Hlasové systémy pracující v reálném čase přirozeně vytvářejí nepřetržitý proud událostí.

Uživatelé začínají mluvit, dělají pauzy a přerušují. Přepisy se průběžně aktualizují. Odpovědi se generují a streamují. Přicházejí výsledky z externích zdrojů. Podmínky v rámci relace se mění. Všechny tyto jevy lze zachytit, streamovat a uložit jako klíčové události, které vedly ke konkrétnímu aktuálnímu stavu konverzace. Bez nich ztrácíme možnost provádět přesné a cílené zásahy.

Přístup založený na událostech nabízí jasný způsob, jak vše řídit. Systém zachycuje události v okamžiku, kdy nastanou, aktualizuje stav relace a spouští odpovídající následné akce.

Jednoduché obslužné rutiny udržují rychlou odezvu cesty pracující v reálném čase. Náročnější úlohy – například aktualizace stavových automatů, protokolování metrik, odstraňování citlivých údajů, aktualizace databází a ukončení relace – se spouštějí asynchronně na pozadí.

S přibývajícími funkcemi může počet těchto úloh na pozadí rychle růst. I malé změny produktu mohou přidat nové toky událostí a závislosti. Dobře strukturovaná architektura souběžného zpracování je důležitá, aby systém zůstal při dalším vývoji srozumitelný a spolehlivý.

Tento přístup založený na událostech podporuje také zásadní požadavek na produkt: formování samotné konverzace. Zvukový systém v reálném čase nejen generuje odpovědi, ale také řídí tempo, zvládá ticho a přerušení a rozhoduje, jak a kdy má relace skončit. Toto chování je součástí uživatelského dojmu z produktu a vyplatí se je cíleně navrhnout.

Jak se stav relace mění podle počtu replik, uplynulého času nebo chování uživatele, může systém předávat responderu cílené pokyny. Může například vyzvat agenta, aby uživateli pomohl uzavřít rozhovor při blížícím se limitu relace, nebo aby situaci objasnil, pokud se interakce zadrhne. Tyto zásahy jsou nenáročné, ale díky nim působí interakce promyšleně a soudržně.

Dobře navržený systém si udržuje jasný přehled o stavu relace: kdo mluví, jak se konverzace vyvíjí a které podmínky byly splněny. Tento stav, průběžně aktualizovaný proudem událostí, umožňuje poskytnout správné pokyny ve správný čas.

Ochranná opatření musí držet krok s děním v reálném čase

Ochranná opatření jsou u AI určené uživatelům povinná. Zajišťují bezpečnost, dodržování předpisů, prevenci zneužití a spolehlivost. V systému založeném na střídání replik je lze spouštět v jasně daných okamžicích: poté, co uživatel domluví, nebo před doručením odpovědi.

Hlasová komunikace v reálném čase většinu těchto pohodlných kontrolních bodů odstraňuje. Vstup uživatele přichází nepřetržitě. Zvukový výstup už může být streamován. Dokončení přepisů často za zvukem zaostává. Pokud systém před kontrolou čeká na celé zprávy, konverzace přestává působit jako komunikace v reálném čase.

Ochranná opatření proto musí běžet souběžně s konverzací, aby interakce zůstala přirozená. Jednou z možností je streamovat zvuk do vyrovnávací paměti a současně asynchronně vyhodnocovat dostupné části přepisu. Bezpečnostní kontroly tak mohou probíhat téměř v reálném čase, aniž by blokovaly interakci.

Schéma porovnávající ochranná opatření v reálném čase, která během relace pracují s živým zvukem a částmi přepisu, s opatřeními založenými na střídání replik, která kontrolují vstup a výstup před odpovědí a po ní.

Když se aktivuje ochranné opatření, systém může reagovat dle kontextu: přesměrovat konverzaci, upravit své chování nebo případně relaci ukončit. Ochranná opatření tak fungují v reálném čase, aniž by zhoršovala uživatelský dojem.

vyhodnocování v reálném čase je obtížné

Nejobtížnější na vyhodnocování konverzačního systému v reálném čase je to, že některé z nejdůležitějších vlastností – načasování, přerušování, plynulost a tón – nelze zachytit testováním založeným pouze na přepisu.

Standardní vyhodnocovací procesy předkládají systému realistické scénáře, sledují výstupy a bodují je. U textových systémů nebo systémů s řetězeným zpracováním zvuku je to jednoduché: odešlete text a zkontrolujete textový výstup. V režimu reálného času je vstupem živý zvuk a nejdůležitější konverzační dynamika se odehrává v čase: jak agent zvládá souběžnou řeč, jak rychle odpovídá a jak navazuje po přerušení.

Ruční testování, při němž se mluví přímo s agentem, tyto vlastnosti zachytí, ale nelze je provádět ve velkém. Automatizaci založenou na přepisech lze škálovat, ale ztrácí se při ní informace, které odlišují kvalitní komunikaci v reálném čase od nekvalitní.

Žádná metoda sama o sobě nestačí. Praktickým řešením je kombinace několika vrstev:

  • Vyhodnocování mezi agenty: druhý agent pracující v reálném čase dostane pokyn ztělesnit konkrétní typ uživatele a vede konverzaci s testovaným systémem. Třetí LLM v roli hodnotitele interakci oboduje. Tak lze ve velkém testovat celou zvukovou cestu včetně načasování a zvládání přerušení.

  • Nefunkční metriky: doba do prvního zvukového výstupu a analýza sentimentu přepisu poskytují kvantitativní ukazatele kvality konverzace.

  • Ruční kvalitativní kontrola: je stále nezbytná k odhalování problémů, které automatizované metriky přehlédnou, zejména v oblasti tónu a přirozenosti.

Žádná jednotlivá metoda nepokryje vše. Nasazení agentů pracujících v reálném čase do produkce vyžaduje kombinaci všech tří metod. Nástroje pro vyhodnocování zvuku v reálném čase jsou však i tak oproti textové AI stále nevyzrálé.

Závěr

Hlasová komunikace v reálném čase mění podobu produktu. Uživatelé vnímají načasování, přerušení, ticho a schopnost navázat stejně intenzivně jako samotná slova.

Model je tedy jen jednou částí systému. Produkční hlasová komunikace v reálném čase vyžaduje relační vrstvu navrženou přímo pro hlas, jasné oddělení mluvení od uvažování a řízení živé relace založené na událostech. Ochranná opatření zůstávají úzkým hrdlem z hlediska latence, ale kreativní postupy mohou zachovat většinu výhod komunikace v reálném čase.

Nejslabší částí celého řešení je stále vyhodnocování. Dosud neexistuje ustálený způsob testování vlastností, díky nimž hlasová komunikace v reálném čase působí dobře: načasování, tónu, zvládání přerušení a plynulosti konverzace. Dokud takový způsob nevznikne, budou týmy využívající tuto technologii muset kombinovat automatizované testy, interakce mezi agenty a ruční kontrolu.

Autoři

Oliver Wood, Sam Smith