Нақты уақыттағы дауыс адамдарға ЖИ негізіндегі қолданбалармен өзара әрекеттесудің мүлде жаңа тәсілін ұсынады. Мәтін терудің немесе мәзірлерді шарлаудың орнына пайдаланушылар табиғи сөйлеп, нақты уақыт ырғағы мен эмоциялық мәнмәтіні бар жауаптар алады.
Нақты уақыттағы сапалы дауыс тәжірибесін құру — тікелей өзара әрекетті үйлестіру міндеті. Өнімді жасаудың негізгі жұмысы осы тұстан басталады. Нақты уақыттағы тәжірибе жылдам әрі шынайы сезіледі; оны тұрақты ұсынатын қолданба жасау — бөлек инженерлік міндет.
Модель — жүйенің бір бөлігі ғана. Өндірістік қолданбаларға дауысқа бейімделген инфрақұрылым, әңгіме ағыны мен терең ой қорыту арасындағы нақты бөлініс және сеанстың өрбуіне қарай әрекет ететін оқиғаға негізделген басқару тетігі қажет.
Қалған қиындықтардың көбі қауіпсіздік тетіктері мен бағалауға байланысты. Қауіпсіздік тексерулері тікелей аудио қарқынына ілесуі керек, ал уақыт үйлесімі, үн және әңгіме ағыны сияқты өткінші қасиеттерді дәстүрлі бағалау әдістерімен өлшеу қиын.
Бүгінде дауысты қолдайтын ЖИ қолданбаларының көбі әлі де бірдей жұмыс істейді: сөз кіріп, мәтін шығады, модель ойланады, содан кейін синтезделген дауыс жауапты оқып береді. Бұл жұмыс істейді. Бірақ өзара әрекет әңгіме емес, конвейер екені сезіліп тұрады.
Нақты уақыттағы дауыс мұны өзгертеді. Пайдаланушылар табиғи сөйлеп, ырғағы, үні және эмоциялық мәнмәтіні бар жауаптар алады. Бұл тәжірибе тізбектелген сөйлеуден мәтінге түрлендіру конвейерлеріне қарағанда жылдамырақ әрі бірқалыпты; жүйені басқарудан гөрі адаммен сөйлесуге көбірек ұқсайды.
Біздің байқауымызша, бұл конвейерлік архитектуралар іске асыруда қиналатын жаңа өнім мүмкіндіктерін ашады. Нақты уақыттағы дауыс агенттері әйтпесе ұзақ әрі шектеулі IVR мәзірлері мен бөлімдер арасында ауыстыруды қажет ететін клиенттерге қызмет көрсету міндеттерін атқара алады. Олар тәлімгер бола алады, жаңа пайдаланушыларды бейімдейді, түрлі ортада қолжетімділікті арттыруға көмектеседі және басқа да міндеттерді атқарады. Ауызша әңгіме мәтіндік интерфейстен тиімді болатын кез келген жерде нақты уақыттағы дауысты қолданған жөн.
Дауысты қолдайтын қолданбалардың көбі «тізбектелген тәсілді» қолданады: сөйлеуді мәтінге түрлендіру, тілді өңдеу және мәтінді дыбыстау үшін бөлек модельдерден тұратын конвейер. Бұл жүйелер жақсы жұмыс істеп, көптеген мүмкіндік ашады, бірақ аудио тек конвейердің екі шетінде қалады. Жекелеген қадамдар жүйеге қатаң құрылым мен кідіріс қосып, өзара әрекетті шынайы әңгімеге қарағанда жасандырақ етеді.
Нақты уақыттағы дауыс басқа тәсілді қолданады. Тыңдау, ойлау және сөйлеу үшін бөлек модельдерге сүйенудің орнына, бір модель осы үшеуін де тікелей орындайды әрі аудио мен транскриптті бір уақытта түсініп, жасайды. Кіріс пен шығыс үздіксіз жүретіндіктен, жүйе тікелей әңгіменің шынайы ырғағын сақтап, табиғи уақыт үйлесімімен және эмоциялық реңкі бар жауаптармен әрекет етеді. Нәтижесінде уақыт үйлесімі, үн және сөз бөлуді өңдеу өнімнің негізгі бөлігіне айналады.


Нақты уақыттағы тәжірибе дереу жауап беретіндіктен тартымды, ал ештеңе өз кезегін күтпейтіндіктен күрделі. Оны қолдау үшін аудионы жылдам әрі дәл жасау жеткіліксіз. Қалғанының бәрі қиындық туғызады. Модель тікелей сеанс ішінде жұмыс істейді; оны қоршағанның бәрі — күй, қауіпсіздік, үйлестіру және басқару — әңгімемен қатар дәл сондай қарқында жұмыс істеуі керек.
Тізбектелген дауыс қолданбасында кезекке негізделген әңгіме анық сұрақ-жауап құрылымын береді. Пайдаланушы сөйлейді, жүйе жауап береді, содан кейін келесі қадам басталады. Нақты уақыттағы дауыс мұндай құрылым бермейді. Екі тарап бір уақытта сөйлеуі мүмкін немесе екеуі де сөйлемей, үнсіздік орнауы ықтимал. Пайдаланушы жауаптың ортасында сөзді бөле алады немесе жүйе сөйлеп бітпей тұрып қосымша сұрақ қоя алады. Сөз бөлу сирек жағдай болудан қалып, өзара әрекеттің негізгі үлгісіне айналады.
Осы үлгі нақты уақыттағы қолданбаларды ең алдымен үйлестіру мәселесіне айналдырады әрі модельді қоршаған жүйенің неліктен модельдің өзі сияқты маңызды екенін көрсетеді.
Мұндай жүйені ауқымды қолдау үшін оны тікелей өзара әрекетке арнайы бейімдеп жобалау қажет. Өндірістік жүйелерде бұл үш құрамдас үнемі кездеседі.
Нақты уақыттағы дауыс сеанстары аудио ағынын, сөйлеу кезегін, сөз бөлуді, қосылымның өмірлік циклін және агенттің жұмысын басқаруы керек. Қолданбаның қайда орналастырылғанына қарай телефонияны қолдау да қажет болуы мүмкін. Бұлар — тәжірибенің іргетасы әрі қолданбаны ауқымдаудың негізгі шарттары.
Бірінші талап — дауысқа бейімделген сеанс қабаты. Нақты уақыттағы байланыс (RTC) фреймворктары қолданбаға телефония ортасында қатысушыларды басқаруға, аудионы ағынмен жіберуге және агенттерді іске қосуға мүмкіндік береді. Біздің тәжірибемізде әсіресе Livekit пайдалы болды: ол жоғары сапалы шуды басу және кідіріс ауытқуын азайту мүмкіндіктері дайын күйде берілген, кідірісі төмен WebRTC стегін ұсынады. Бұл қабатты өз бетіңізше іске асырудың қосымша күрделілігі көбіне өзін ақтамайды.
Нақты уақыттағы дауысқа арналған көп агентті архитектураның негізі — міндеттерді бөлу.
Нақты уақыттағы дауыс модельдері сөйлесу аудиосын ағынмен жеткізуде өте тиімді, бірақ терең ой қорытуға оңтайландырылмаған. Функция шақыру, іздеу немесе құрылымдалған шешім қабылдау сияқты тапсырмаларды басқа модель орындағаны тиімді.
Тиімді үлгілердің бірі — жауап беруші–ойлаушы архитектурасы.
Жауап беруші — нақты уақыттағы дауыс агенті. Ол тікелей өзара әрекетті сақтауға жауапты: тыңдайды, сөйлейді, сөз бөлуді өңдейді және әңгіме ағынын үзбейді. Оның дизайнында жеделдікке, түсініктілікке және эмоциялық сабақтастыққа басымдық беріледі.


Ойлаушы — ой қорытуға қабілетті модель басқаратын бөлек агент. Ол негізгі арнадан тыс жұмыс істеп, құралдарды пайдалану, іздеу және жоспарлау сияқты тапсырмаларды орындайды. Жауап беруші қажет кезде оған жүгініп, нәтижелерін әңгімеге қоса алады.
Кей жағдайларда ойлаушы ой қорыту міндетін тікелей атқара алады. Басқа жағдайларда ол мамандандырылған агенттер тобын үйлестіруші бола алады. Негізгі идея — бұл жұмысты ой қорыту тапсырмаларына неғұрлым лайық модельге тапсыру.
Пайдасы қарапайым: жауап беруші жылдам, әңгімеге бейім және негізгі міндетіне шоғырланған күйде қалады, ал ойлаушы көбірек уақытты, мәнмәтінді немесе құрылымды қажет ететін жұмысты атқарады.
Болашақтағы озық модельдер бұл тәсілді қажетсіз етуі мүмкін, бірақ әзірге бұл үлгі бір агентті тәсілдерден тұрақты түрде тиімдірек екенін байқадық.
Нақты уақыттағы дауыс жүйелері табиғи түрде үздіксіз оқиғалар ағынын тудырады.
Пайдаланушылар сөйлей бастайды, кідіреді және сөз бөледі. Транскрипттер біртіндеп жаңартылады. Жауаптар жасалып, ағынмен жіберіледі. Сыртқы нәтижелер келіп түседі. Сеанс ішіндегі жағдайлар өзгеріп отырады. Осының бәрін әңгіменің нақты қазіргі күйін қалыптастырған негізгі оқиғалар ретінде тіркеуге, ағынмен жіберуге және сақтауға болады. Олар болмаса, егжей-тегжейлі әрі мақсатты араласу мүмкіндігін жоғалтамыз.
Оқиғаға негізделген тәсіл мұны басқарудың анық жолын ұсынады. Жүйе оқиғаларды болған сәтте тіркеп, сеанс күйін жаңартады және тиісті кейінгі әрекеттерді іске қосады.
Жеңіл өңдегіштер нақты уақыт жолының жеделдігін сақтайды, ал күй машиналарын жаңарту, метрикаларды журналға жазу, құпия ақпаратты жою, дерекқорларды жаңарту және сеанстан шығу сияқты күрделі міндеттер асинхронды фондық тапсырмалар ретінде іске қосылады.
Мүмкіндіктер қосылған сайын мұндай фондық тапсырмалар саны тез өсуі мүмкін. Өнімдегі шағын өзгерістердің өзі жаңа оқиға ағындары мен тәуелділіктерді тудыруы мүмкін. Жүйе дамыған сайын оны түсінікті әрі сенімді күйде сақтау үшін осындай қатар орындалатын міндеттерді дұрыс ұйымдастыратын архитектура маңызды.
Оқиғаға негізделген бұл тәсіл өнімнің тағы бір маңызды міндетін — әңгіменің өзін қалыптастыруды да қолдайды. Нақты уақыттағы аудио жүйесі тек жауап жасап қоймайды; ол қарқынды басқарады, үнсіздік пен сөз бөлуді өңдейді және сеансты қалай әрі қашан аяқтау керегін шешеді. Бұл әрекеттер өнім тәжірибесінің бір бөлігі және оларды саналы түрде жобалау керек.
Сөйлеу кезектерінің санына, өткен уақытқа немесе пайдаланушы әрекетіне қарай сеанс күйі өзгергенде, жүйе жауап берушіге мақсатты нұсқау бере алады. Сеанс шегіне жақындағанда ол агентке пайдаланушыға әңгімені аяқтауға көмектесуді ұсынуы немесе өзара әрекет тоқтап қалса, түсіндірме беруі мүмкін. Мұндай араласулар жеңіл болғанымен, тәжірибені мақсатты әрі біртұтас етеді.
Жақсы жобаланған жүйе сеанс күйі туралы анық түсінікті сақтайды: кім сөйлеп жатыр, әңгіме қалай өрбіп келеді және қандай шарттар орындалды. Оқиғалар ағыны үздіксіз жаңартып отыратын бұл күй қажетті нұсқауды дер кезінде беруге мүмкіндік береді.
Пайдаланушыларға арналған ЖИ-де қауіпсіздік тетіктері міндетті. Олар қауіпсіздікті, талаптарға сәйкестікті, теріс пайдалануды және сенімділікті басқарады. Кезекке негізделген жүйеде оларды іске қосатын тұстар анық: пайдаланушы сөйлеп болғаннан кейін немесе жауап берілер алдында.
Нақты уақыттағы дауыс осы қолайлы тексеру нүктелерінің көбін жояды. Пайдаланушының кіріс деректері үздіксіз келіп түседі. Шығыс аудио ағынмен беріліп жатуы мүмкін. Дайын транскрипттер көбіне дыбыстан кешігеді. Жүйе хабарларды тек толық келгеннен кейін тексерсе, әңгіме нақты уақыттағыдай сезілмейді.
Сондықтан өзара әрекетті шынайы күйінде сақтау үшін қауіпсіздік тетіктері әңгімемен қатар жұмыс істеуі керек. Тәсілдердің бірі — аудионы буферге ағынмен жіберіп, транскрипт үзінділері дайын болған сайын оларды асинхронды бағалау. Бұл қауіпсіздік тексерулерін өзара әрекетті бөгемей, нақты уақытқа жуық қарқынмен жүргізуге мүмкіндік береді.


Қауіпсіздік тетігі іске қосылғанда, жүйе әңгіме бағытын өзгерту, мінез-құлқын түзету немесе қажет болса сеансты аяқтау арқылы мәнмәтінге сай әрекет ете алады. Осылайша қауіпсіздік тетіктері пайдаланушы тәжірибесін нашарлатпай, нақты уақытта жұмыс істейді.
Нақты уақыттағы сөйлесу жүйесін бағалаудың ең қиын тұсы — маңызды қасиеттердің кейбірін, атап айтқанда уақыт үйлесімін, сөз бөлуді, әңгіме ағыны мен үнді тек транскрипт арқылы тексеру мүмкін емес.
Стандартты бағалау конвейерлері жүйеге шынайы сценарийлерді беріп, нәтижелерін бақылап, бағалайды. Мәтіндік немесе тізбектелген аудио жүйелерде бұл оңай: мәтінді жіберіп, шыққан мәтінді тексеру жеткілікті. Нақты уақытта кіріс — тікелей аудио, ал ең маңызды сөйлесу динамикасы уақыт өлшемінде көрінеді: агент қабаттасқан сөзді қалай өңдейді, қаншалықты жылдам жауап береді және сөзін бөлгеннен кейін әңгімені қалай жалғастырады.
Қолмен тексеру, яғни агентпен тікелей сөйлесу, осы қасиеттерді қамтиды, бірақ оны ауқымдау мүмкін емес. Транскриптке негізделген автоматтандыруды ауқымдауға болады, бірақ ол нақты уақыттағы жақсы тәжірибені нашарынан ажырататын белгілерді жояды.
Бір ғана әдіс жеткіліксіз. Іс жүзіндегі шешім — бірнеше қабаттан тұратын жүйе:
Агенттер арасындағы бағалау: белгілі бір пайдаланушы бейнесін сомдауға нұсқау берілген екінші нақты уақыттағы агент сыналып жатқан жүйемен сөйлеседі. Үшінші LLM (үлкен тілдік модель) төреші ретінде өзара әрекетті бағалайды. Бұл уақыт үйлесімі мен сөз бөлуді өңдеуді қоса алғанда, бүкіл аудио жолын ауқымды түрде тексереді.
Функциялық емес метрикалар: алғашқы аудиоға дейінгі уақыт пен транскрипттегі эмоциялық реңкті талдау сөйлесу сапасының сандық жанама көрсеткіштерін береді.
Сапаны қолмен тексеру: автоматтандырылған метрикалар байқамайтын, әсіресе үн мен табиғилыққа қатысты мәселелерді анықтау үшін әлі де қажет.
Бірде-бір әдіс бәрін толық қамтымайды. Нақты уақыттағы агенттерді өндірістік ортаға енгізу үшін осы үш тәсілді бірге қолдану қажет. Соның өзінде нақты уақыттағы аудионы бағалау құралдары мәтіндік ЖИ құралдарымен салыстырғанда әлі жетілмеген.
Нақты уақыттағы дауыс өнімнің сипатын өзгертеді. Пайдаланушыларға сөздермен қатар уақыт үйлесімі, сөз бөлу, үнсіздік және әңгімені қалпына келтіру де әсер етеді.
Демек, модель — жүйенің бір бөлігі ғана. Өндірістік нақты уақыттағы дауысқа бейімделген сеанс қабаты, сөйлеу мен ой қорыту арасындағы нақты бөлініс және тікелей сеансты басқаратын оқиғаға негізделген басқару қажет. Қауіпсіздік тетіктері әлі де кідірістің негізгі себебі, бірақ тың тәсілдер нақты уақыттағы тәжірибенің көп бөлігін сақтай алады.
Жүйенің ең әлсіз бөлігі әлі де бағалау болып отыр. Нақты уақыттағы дауысты жағымды ететін қасиеттерді — уақыт үйлесімін, үнді, сөз бөлуді өңдеуді және әңгіме ағынын — тексерудің қалыптасқан тәсілі әлі жоқ. Ондай тәсіл пайда болғанша, осы технологиямен жұмыс істейтін топтар автоматтандырылған сынақтарды, агенттер арасындағы тексерулерді және қолмен шолуды үйлестіруі керек.