Ева и голос ElevenLabs: под капотом нашей AI-ведущей
Что значит «AI-ведущая» — и зачем она вообще нужна
Любая партия в «правду или действие» в реальной комнате имеет невидимого ведущего: кто-то всё равно говорит «теперь твой ход», «выбери карту», «следующая тема». Без ведущего игра разваливается через 15 минут — кто-то теряет очередь, кто-то застревает с одной картой 10 минут, кто-то монополизирует время.
В Mini App эту роль выполняет Ева. Она не «персонаж» (как корпоративный талисман), а инструмент: знает, кто играет, отслеживает кому ход, читает текущую карту голосом, поддерживает темп. Между ходами — короткие реплики типа «классный ответ», «давайте что-то полегче», «остался последний игрок круга».
Ева работает на стыке трёх технологий: Gemini AI для генерации реплик, ElevenLabs для голоса, наша внутренняя FSM для управления игровым состоянием.
Почему ElevenLabs, а не Google TTS
В первой версии Ева говорила голосом стандартного Google Text-to-Speech. Технически это работало: текст превращался в речь за 1 секунду, голос был чистым. Но это был «голос навигатора»: ровный, безэмоциональный, безличный.
Игра в «правду или действие» — это эмоциональный формат. Если ведущий говорит на каждой карте одной и той же интонацией, через 5 минут ваш мозг отключает её как фон. Это убивает 30% эффекта от хорошо подобранной карты.
ElevenLabs даёт возможность настроить голос с эмоциональной палитрой: мягкое «ты можешь не отвечать, если не хочешь», бодрое «следующий ход», задумчивое «интересный вопрос». Технически это реализуется через настройку voice settings (stability, similarity_boost, style) в зависимости от категории сообщения.
Технические компромиссы
Скорость vs качество — вечный тренд в TTS:
- Google TTS: ~500 ms на короткую реплику. Качество среднее.
- ElevenLabs Standard: ~1500 ms. Качество выше, но всё ещё машинно.
- ElevenLabs Turbo v2: ~800 ms. Близко к Google по скорости, качество значительно выше.
- ElevenLabs Multilingual v2: ~1200 ms. Поддерживает русский, узбекский (через английский), казахский (через русский), турецкий.
Мы остановились на Turbo v2 для базовых реплик и Multilingual v2 для длинных карт. Для повторяющихся коротких реплик («твой ход», «следующий») используем кэш — генерируем один раз, отдаём с CDN.
Стоимость: ElevenLabs тарифицирует по символам. Для типичной 30-минутной партии — около 5–8 тыс. символов = ~0,5 USD. Это значимо в масштабе, поэтому кэш и фолбэк на Google TTS для не-критичных реплик включены везде.
Почему Gemini, а не GPT для генерации
В первой версии Ева вообще не генерировала ничего на лету — все её реплики были из предзаготовленного списка. Это работало, но в большой партии (30+ ходов) репертуар повторялся.
Сейчас короткие реплики (между ходами, на эмоциональные ответы) генерируются Gemini 2.5 Flash. Почему именно Gemini, а не Claude или GPT:
- Цена: Gemini Flash в 4 раза дешевле Claude Haiku и в 8 раз дешевле GPT-4o-mini. Для миллионов мини-генераций в месяц это критично.
- Скорость: ~600 ms на короткую реплику.
- Качество: для коротких реплик («классный ответ», «следующий») оно сопоставимо со всеми тремя моделями.
- Контекстное окно: для длинных партий Ева помнит последние 20 ходов и адаптирует реплики (этот ребёнок уже отвечал глубоко, давайте что-то полегче).
Для генерации колод (длинная задача с конкретным контекстом) используется уже Claude Sonnet — там качество выше, объём меньше.
Безопасность контента
Самая болезненная часть. AI генерирует реплики «на лету», что значит ненулевой риск, что Ева скажет что-то неуместное. Защита в три слоя:
Слой 1 — system prompt с явными запретами. Ева не комментирует политику, религию, не критикует игроков, не упоминает 18+ в детских колодах. Список «нельзя» — отдельный документ из 200+ паттернов.
Слой 2 — пост-фильтр. Сгенерированная реплика проходит через быстрый текстовый фильтр на ключевые стоп-слова. Если совпадает — реплика заменяется на захардкоженный безопасный вариант.
Слой 3 — флаг от пользователей. В UI есть кнопка «пожаловаться на реплику». Все жалобы попадают в админ-панель, где модератор может пометить шаблон как небезопасный, и модель учится не генерировать его.
За 4 месяца работы:
- 12 миллионов реплик сгенерировано.
- 87 жалоб от пользователей.
- 0,0007% rate of complaints.
- 14 паттернов добавлено в стоп-лист на основе жалоб.
Что Ева умеет сейчас
- Читать карты голосом на 4 языках (RU/UZ/EN/TR).
- Генерировать реплики между ходами с учётом контекста.
- Адаптировать сложность под аудиторию (детская / друзья / для пар / команда).
- Подсказывать игрокам, если они застряли.
- Поддерживать темп: если ход длится больше 3 минут, мягко сказать «может, перейдём дальше?».
Чего пока не умеет:
- Распознавать речь (только текст). Голосовой ответ переводится в текст через сторонний STT — пока не интегрировано.
- Понимать настроение группы (если все молчат после одного вопроса, Ева не знает, что что-то пошло не так).
- Запоминать игроков между сессиями (анонимность важнее памяти).
Что дальше
Roadmap для Евы:
- Q3 2026: распознавание речи через Whisper (open source).
- Q3 2026: видеоаватар (Live2D или 3D model) для тех, кто хочет визуальную ведущую.
- Q4 2026: custom voices — пользователь может «приклеить» голос ведущей под свою команду (через клонирование голоса в ElevenLabs, под согласие).
Попробовать
Открывается в Mini App через Telegram. @EzguGamesCorpBot. В первой сессии Ева включена по умолчанию, можно отключить голос в настройках, если предпочитаете тишину.
Мы в соц сетях
Подписывайся, чтобы не пропустить новые колоды и реальные тусовки.