6 хв читання
Як зробити україномовного голосового ШІ агента для свого бізнесу у 2026 році
Для початку хочу пояснити, що саме можуть робити голосові агенти? Те саме що і текстові, але голосом :-) І в принципі глобально воно так і є, але із єдиним уточненням, що голосові агенти мають додатковий функціонал — телефонувати та вести розмову, і це відкриває додатковий value для вашого бізнесу.
Перелічувати всі сфери застосування цієї технології я не буду, тому що у Aceverse ми займаємось тим, що створюємо саме робочі рішення, які працюють у вашому бізнесі.
Як створити real-time стримінгового агента у 2026 році?
Для початку треба розібратись, як взагалі це працює і які є варіанти. Умовно можна розділити рішення на 2 варіанти:
- Speech-to-Speech моделі (наприклад kyutai-labs/moshi) — end-to-end підхід
- Каскадний пайплайн — модульний підхід із використанням Deepgram, ElevenLabs та інших
Перший варіант дає неймовірний результат у затримці — до 200 мс у end-to-end після останнього токену користувача і до першого токену агента. Також слід відзначити нативну емоційність даних моделей.
Але на сьогодні використовувати ці моделі для конкретних бізнес-завдань практично неможливо, тому що вони працюють speech-to-speech і перед створенням сесії можливо завантажити тільки промпт. Ніяких RAG, Tool calling, ReAct. Простіше кажучи, це дуже крута болталка, але вона не зможе інтегруватись із вашою БД або CRM.
Каскадний пайплайн: як це працює
Тому основна річ піде сьогодні саме за каскадний пайплайн. Чому каскадний? Тому що він одразу складається із різноманіття найсучасніших технологій, які працюють разом.
VAD — Voice Activity Detection
На початку цього пайплайну стоїть VAD — Voice Activity Detection (Детекція Голосової Активності). Визначає в аудіопотоці, де є мовлення, а де тиша/шум. Як правило, це невеличкі нейронки, які працюють швидко, наприклад Silero VAD.
STT (Speech-to-Text) — найбільша проблема для української
Далі іде STT (Speech-to-Text) — це напевно найголовніша проблема та складність для всіх, хто займається голосовими ШІ агентами у реальному часі. Ці моделі розпізнають голос та конвертують його у текст.
На превеликий жаль, на даний момент немає опенсорсних моделей продакшн-рівня, які б могли працювати із real-time стримінгом та мати гарні показники WER для української. І що насправді чіпляє, так це те, що та ж новинка Mistral Voxtral-transcribe-2 підтримує 12 мов, в тому числі російську, але не українську.
Тому доводиться використовувати API Deepgram, ElevenLabs та інших. По факту ці моделі забирають найбільшу частину затримки — 400–600 мс.
LLM — мозок агента
Після того як ми отримали текст, ми використовуємо LLM для відповіді користувачу на його питання або виклику тулів. Тут вже варіантів набагато більше, але все одно є нюанси, пов'язані із затримкою.
Навіть доволі проста, але відносно швидка GPT-4o має затримку приблизно 450–500 мс, що є достатньо тривалою для наших цілей. Тому ми використовуємо для LLM Groq API з відкритими моделями — це дає кінцеву латентність 200–300 мс.
Або ще краще — запустити моделі локально на GPU для ще кращого інференсу, але це б'є по бюджету, якщо дзвінків не багато.
TTS — генерація голосу
Для генерації голосу почали з'являтися достатньо потужні варіанти, але жодної продакшн-реді моделі для селфхостингу я так і не зміг знайти.
Із найякіснішого з точки зору звучання — Respeecher AI, які мають модель на англійській та українській. Якість голосу вражає, але затримка у 400–500 мс.
Cartesia має один або 2 українських голоси, але вони мені не подобаються. Тому фаворитом залишається ElevenLabs eleven_flash_v2_5 — швидко (до 200 мс), надійно, багато голосів.
Сукупна затримка — і чому це проблема
Якщо порахувати сукупну затримку від того, як закінчив казати користувач, до того, як почав відповідати агент, можна трохи офігіти, тому що це виходить більше секунди. А якщо додати до цього затримку SIP, то розмови з таким агентом стають поганими, користувачі одразу це помічають.
Практичні підходи для зниження латентності
Головний виграш дає зменшення кількості LLM-викликів на один turn. Ми замінили двоетапний pipeline (classify LLM → respond LLM) на smart_respond — єдиний LLM-виклик, який одночасно класифікує повідомлення і генерує відповідь. Це зекономило ~300 мс на кожному повідомленні.
Keyword pre-filter — regex-патерни працюють за 0 мс і перехоплюють прощання, привітання, нецензурну лексику, не витрачаючи час на LLM взагалі.
Connection pooling (httpx persistent connections до Groq API) прибирає TCP/TLS handshake на кожному запиті — ~20–50 мс економії.
Turn detector (EOUModel) додає семантичне розуміння кінця фрази поверх VAD — замість того, щоб реагувати на будь-яку паузу 200 мс, модель оцінює, чи дійсно людина закінчила думку.
Streaming overlap: STT → LLM → TTS
Ключова ідея — не чекати завершення попереднього етапу, а починати наступний, як тільки з'являються перші дані. В ідеальному пайплайні всі три моделі працюють одночасно.
STT → LLM
Streaming STT видає interim results ще до того, як людина закінчила говорити. Більш агресивний підхід — speculative inference: запустити LLM на interim-тексті, і якщо фінальний збігається — відповідь вже готова.
LLM → TTS
Найважливіший стик. LLM генерує відповідь токен за токеном. Замість того, щоб чекати повну відповідь, TTS починає синтезувати мовлення, як тільки накопичилось перше речення.
Метрика — TTFB (Time To First Byte) аудіо: час від кінця мовлення користувача до першого звуку відповіді.
Кешування фраз
Заздалегідь кешуються wav-файли і з нульовою затримкою передаються користувачу. Це значно покращує розмову, особливо на початку діалогу, коли вирішується питання — чи повісить трубку людина, чи буде слухати далі.
Затестити такого агента можна прямо зараз
Спробуйте голосового AI-агента Aceverse на нашому сайті або замовте безкоштовне демо для вашого бізнесу.
Спробувати на сайті Безкоштовне демо