За 2024–2025 мы сделали три voice-first продукта: голосовой ассистент в банковском приложении, IVR-замена в колл-центре, hands-free помощник для логистов. Подвели общие выводы по архитектуре.
Стек STT
Whisper Large v3 для batch (постфактум-расшифровки). Whisper Streaming + faster-whisper для realtime. На русском и испанском - конкурентны облачным сервисам, дешевле в эксплуатации. На сложных акцентах LatAm - приходится дотюнивать.
Стек TTS
ElevenLabs для премиум-голосов в B2C-продукте. OpenAI TTS для среднего качества. Локальный Coqui TTS - там, где приватность важнее качества (банковский ассистент).
Архитектура диалога
- Прерывания (barge-in) - обязательны. Пользователь должен мочь перебить ассистента в любой момент.
- Контекст диалога - в Redis с TTL 30 минут на сессию.
- Состояние и tools - отдельный сервис, отделённый от голосового слоя.
- Latency budget: STT 300–500 мс, LLM 600–900 мс, TTS first-chunk 250–400 мс. Итого 1.2–1.8 сек до начала ответа.
Что мы недооценивали
- Шумоподавление. Без хорошего AEC и noise gate STT в реальных условиях деградирует на 30%.
- Ритм пауз. Пауза в 800 мс воспринимается как «зависло». Лучше отвечать «секунду» и продолжать.
- Отказы. Голосовой ассистент должен честно говорить «не понял», а не угадывать. Принудительный fallback на оператора экономит репутацию.