Голосовой ИИ-администратор для записи на узбекском и русском
ИИ-администратор Bronjoy отвечает на звонки в бизнес на языке звонящего. Он понимает узбекскую, русскую и смешанную речь вроде «menga zapis kerak, ertaga utrom», читает настоящий календарь и прайс-лист, удерживает слот и создаёт реальную запись в панели Bronjoy, где владелец видит каждый звонок и его расшифровку.
Текущий статус: администратор полностью работает как демо в браузере и записывает в настоящий календарь демо-барбершопа. В продакшене функция закрыта флагом VOICE_ENABLED, который сейчас выключен: демо-страница на bronjoy.com/ai-receptionist опубликована, но её голосовой API отвечает 404. Телефонная часть — реальный номер +998 — ещё не создана.
Ключевые возможности
- Только реальные данные — услуги, свободное время и информация о бизнесе берутся из его собственных записей, и ни один инструмент не принимает цену.
- Удержание слотов —
hold_slotрезервирует время и возвращаетhold_token, без которого не работаетbook_appointment. Поэтому агент не может записать на время, которого не было в календаре, а два звонящих не получат один и тот же слот. - Контроль заявлений — фразы о записи, отмене или переносе на русском, узбекском или английском проверяются до синтеза речи; если нет соответствующего успешного вызова инструмента, фраза превращается в уточняющий вопрос, а перехват записывается в журнал.
- Передача живому человеку —
escalate_to_humanотправляет в Telegram критическое уведомление с причиной и последними словами звонящего. - Настройки владельца — приветствие, языки, пол голоса, вежливое или неформальное обращение (siz или sen), местная лексика и правила заведения.
- Стоимость в сумах — расходы на звонки показываются в сумах по ежедневному курсу Центрального банка, а не в токенах.
Архитектура и технологический стек
По репликам, а не через realtime API
Каждая реплика звонящего — это один потоковый вызов Gemini на каждый раунд инструментов: аудио звонящего отправляется прямо в модель вместе с инструментами записи, а на все раунды и все переключения на резервную модель есть общий дедлайн — 20 секунд. От схемы «сначала расшифровать, потом рассуждать» мы отказались сознательно: на наших тестовых записях телефонного качества она добавляла 1,8–2,7 секунды к каждой реплике и теряла то, что не передаётся одними словами. Расшифровка делается потом — для субтитров, карточки в CRM и поиска. Телефонная линия пойдёт тем же путём, так что телефонию можно будет добавить, не переписывая агента.
Модели и голоса
Агент работает на gemini-3.5-flash-lite с низким уровнем рассуждений, а под нагрузкой переключается на gemini-3.1-flash-lite; один раунд инструментов по замерам занимал 1,4–1,6 секунды. Речь синтезируют голоса edge-tts, например uz-UZ-MadinaNeural: первый звук от него приходил через 0,5 секунды против 6,6 секунды у Gemini TTS. Пока идёт запрос к календарю, звучит закэшированная фраза «одну минуту» на каждом языке, а демо-страница на Nuxt показывает рядом с расшифровкой каждый вызванный инструмент — в том числе каждое заявление, которое остановил контроль.
Баги, которые проявились только на узбекском
Тесты на настоящем узбекском выявили сбои, которые английский тест бы пропустил:
- Цены звучали как шум. «80 000 so'm» озвучивалось как «80 och och och son», потому что узбекский голос читал пробел-разделитель тысяч как слово. Теперь цены попадают в модель без пробелов.
- Время пересчитывалось неверно. Слот, удержанный на 14:30, озвучивался как «половина первого». Теперь время повторяется ровно в том виде, в каком его вернул календарь.
- Двойной код страны. Номер телефона вернулся с повторённым 998. Теперь всё, кроме +998 и девяти цифр, отклоняется, а продиктованные номера всегда повторяются вслух или берутся из определителя номера.
Защита демо
Публичное демо допускает 30 реплик и 10 минут на сессию и 20 сессий на IP-адрес в час. Ежечасная задача voice:sweep-demo удаляет демо-записи через 24 часа, а аудио звонков по умолчанию не сохраняется. В наших тестовых звонках полная запись в три реплики стоила около 120–150 сумов — примерно один американский цент.
Что мы сделали
Мы спроектировали и построили агента, его инструменты и защитные механизмы, голосовой пайплайн, журнал звонков и экраны настроек для владельца, а также демо в браузере. Пока не сделаны: реальный номер телефона, исходящие звонки и другие каналы.
Смежные работы
Это часть нашей работы по внедрению ИИ и автоматизации. Передача человеку использует слой уведомлений, на котором работает бот для сотрудников Bronjoy, а MCP-серверы Bronjoy позволяют текстовым ИИ-ассистентам записывать клиентов в те же календари.



