16 июля 2026 г. · 7 мин
Голосовые агенты на узбекском и русском: как стек переживает смешанную речь
Реальные звонки в Ташкенте переключают язык посреди фразы. Что это делает с распознаванием и синтезом и как боевой голосовой агент с этим справляется.
Послушайте двадцать настоящих клиентских звонков в Ташкенте, и вы услышите то, к чему не готовит ни одно чистое демо: язык, каким он есть. Фраза начинается по-узбекски, занимает русский оборот для технической части и заканчивается ценой на том языке, на котором число пришло в голову. Голосовой агент, рассчитанный на один язык на звонок, планирует вежливо провалиться.
Три задачи внутри смешения
Распознавание: агент должен расшифровать речь, которая переключает язык между фразами, не теряя переключённый кусок. Современные многоязычные модели отлично держат русский и всё увереннее узбекский, но код-свитчинг — то место, где дешёвые стеки трещат: распознаватель цепляется за один язык и коверкает второй.
Понимание: даже при верной расшифровке смысл должен пережить смесь. «Завтра приём борми?» — обычная фраза для ташкентской клиники и кошмар для одноязычного пайплайна. Языковая модель за агентом обязана считать смешанный ввод нормой, потому что это норма.
Синтез: ответ должен вернуться на доминирующем языке клиента, с именами, адресами и числами, произнесёнными естественно. Узбекский синтез быстро вырос; оставшееся ремесло — интонация вокруг чисел и имён собственных, из которых как раз и состоят подтверждения записи.
Как выглядит боевая схема
Распознавание мы запускаем в многоязычном режиме, не фиксируя язык, и храним определение языка на каждую реплику, а не на звонок. Диалоговый менеджер следит, какого языка у клиента больше, отвечает на нём и готов переключиться, если переключился клиент.
Числа получают особый режим в обе стороны. Цены, даты и телефоны переспрашиваются явно («тўққиз юз минг сўм, тўғрими?»), потому что недослышанная цифра в записи хуже, чем чуть механичное подтверждение.
Эскалация тоже знает язык: передавая звонок человеку, агент передаёт и язык, чтобы клиента не встретил на неправильном языке тот самый человек, который должен был звонок спасти.
Задержка, тихий убийца
На звонке пауза, безобидная в чате, ощущается как оборванная линия. Конвейер «распознать, подумать, озвучить» должен уложиться примерно в секунду, чтобы звучать естественно. Этот бюджет диктует всё: поиск должен быть прогрет, промпты поджары, а синтез потоковый, чтобы первый слог начинался раньше, чем фраза дописана.
Поэтому мы тестируем агентов на настоящей телефонии, а не на микрофоне ноутбука. Кодеки и сетевой джиттер съедают и точность распознавания, и бюджет задержки, а демо, которое их игнорирует, — демо другого продукта.
Что проверить, прежде чем подписываться с кем угодно
Просите тестовые звонки на ваших скриптах, по настоящей линии, на обоих языках и в смеси. Спросите, как агент подтверждает числа. Спросите, что происходит после третьего непонимания (правильный ответ включает человека). И попросите агента произнести ваш реальный адрес по-узбекски: одна эта фраза расскажет о стеке больше, чем любая презентация.