Реализация голосового помощника в мобильном приложении

Клиенты уходят, если не дождались ответа, а поддержка тонет в однотипных вопросах. Мы проектируем и внедряем голосовой помощник в мобильном приложении под ключ: распознаём речь, ведём диалог и передаём сложные случаи оператору. Нагрузка на первую линию поддержки падает в разы, а типовые обращения закрываются без участия человека.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Реализация голосового помощника в мобильном приложении
Сложный
~1-2 недели
Часто задаваемые вопросы

Голосовой помощник в мобильном приложении: где он ломается

Голосовой помощник в мобильном приложении ломается не на записи демо, а в живом сценарии: в машине, на улице, в торговом центре. Там, где речевой интерфейс обязан работать, распознавание речи в приложении получает не чистый сигнал, а смесь голоса, музыки и чужих разговоров — и уверенность модели падает именно на значимых словах: адресе, сумме, названии позиции.

Сбои голосового ввода редко бывают одиночными. Фоновый шум маскирует ключевое слово, пользователь повторяет громче — ассистент слышит уже другое; связь пропадает в лифте или на перегоне, и запрос уходит в никуда без внятного ответа; длинная пауза на раздумье закрывает сессию, и человек возвращается к первому экрану, не понимая, услышали его или нет.

Отдельная категория — ошибки распознавания на неоднозначных формулировках. «Два» и «двадцать», «на два дня» и «на двое», улица, продиктованная по буквам, — помощник либо угадывает, либо переспрашивает по кругу, и доверие к голосовому вводу падает быстрее, чем к ручному.

Самое дорогое — потеря контекста между шагами: продиктовали адрес, размер, время, а состояние сессии не сохранилось. Тогда каждая пауза стирает предыдущие ответы, и заказ приходится начинать заново. Разбираем, как это закрывается.

Что меняется после внедрения: речь как основной интерфейс

Ввод перестаёт быть формой. Голосовой слой разбирает фразу на намерение и параметры и передаёт их в те же операции, что вызывают кнопки, — это надстройка над существующей логикой приложения, а не второй продукт со своей бизнес-логикой.

Первый измеримый эффект — доля сценариев, закрытых без оператора. В телеметрии она считается напрямую: сессия завершилась действием, а не переводом на человека. На повторяющихся операциях — проверить статус, повторить заказ, записаться — показатель выходит на 60–80% при аккуратно собранных подсказках.

Второй — скорость повторяющихся действий. Экран с четырьмя-пятью шагами сворачивается в одну фразу, и оформление заказа сокращается с двух-трёх минут до десятков секунд. Экономия накапливается именно в частотных сценариях: человек возвращается к ним многократно, а не один раз при первом знакомстве с приложением.

Третий — целый класс отказов на вводе: опечатки, неверный формат номера и даты, пропущенное обязательное поле. Голосовой ввод отдаёт уже разобранные значения, а перед необратимым шагом вроде списания или отмены приложение проговаривает параметры и просит подтверждение.

Четвёртый — разгрузка первой линии: типовые вопросы уходят в самообслуживание, операторам остаются нестандартные случаи. Распознавание работает в потоковом режиме — Yandex SpeechKit отдаёт промежуточные гипотезы до конца фразы, поэтому ответ начинается раньше, а перебивание обрабатывается корректно. Все четыре метрики снимаются в рабочем контуре, и по ним видно, где слой работает, а где требует доработки.

Сценарии распознавания речи: сравнение режимов работы

Режим распознавания выбирают не по вкусу, а по сценарию: короткая команда «включи таймер» и десятиминутная диктовка заметки предъявляют к обработке речи разные требования. Поэтому в одном приложении обычно сосуществуют несколько режимов работы помощника, и переключаются они незаметно для пользователя.

Локальное распознавание речи держит аудио на устройстве: работает в метро и самолёте, не требует канала и не отправляет голос наружу. Ограничения — небольшой словарь, слабее качество на шумной и смешанной речи, модель занимает место в составе приложения. Облачные речевые сервисы дают точность на сложных записях, широкий словарь и обновление моделей без релиза, но зависят от канала и предполагают передачу голоса на сервер.

Вариант Когда подходит Ограничения
На устройстве Короткие команды, офлайн-сценарии, чувствительные к приватности данные Узкий словарь, слабее на шуме, растёт размер сборки
В облаке Диктовка, длинные фразы, несколько языков Нужен стабильный канал, голос уходит на сервер, отклик зависит от сети
Гибрид Смешанные сценарии, нестабильная сеть Сложнее логика переключения и тестирование обоих путей

Гибридная обработка чаще всего и есть ответ на выбор схемы распознавания: команды уходят в локальную модель, диктовка — в облако, а при потере канала помощник дорабатывает на устройстве и ставит отправку в очередь. Границу между режимами задают по типу сценария, длине фразы и состоянию сети — на этапе проектирования, а не после релиза.

Как проходит внедрение: от аудита сценариев до передачи

Порядок работ выстроен так, чтобы помощник учился на реальных обращениях, а не на придуманных фразах. Сначала смотрим, что люди уже пишут и говорят в поддержку, и только потом проектируем диалоги — иначе первые же нестандартные формулировки ломают сценарий и разговор уходит оператору.

  1. Аудит диалоговых сценариев. Выгружаем историю обращений, классифицируем по темам и считаем, какую долю закрывает помощник, а какую придётся отдавать человеку. На выходе — список сценариев с приоритетом по частоте.
  2. Разметка реальных диалогов. Собираем эталонную выборку живых реплик: как спрашивают, как переспрашивают, где бросают. По ней настраиваем распознавание и разбор смысла, фиксируем спорные случаи в отдельный набор для проверок.
  3. Проектирование диалогов. Прописываем ветки, уточняющие вопросы, запасные сценарии и правила эскалации на оператора. Критичные действия — оплата, смена данных — только с явным подтверждением.
  4. Настройка помощника. Подключаем распознавание речи и синтез ответа, голосовые профили, пороги уверенности, интеграцию с учётной системой и базой знаний.
  5. Проверка на пользователях. Запускаем на ограниченной доле трафика: смотрим долю завершённых разговоров без оператора, число переспросов, причины отказов. Правки вносим по фактическим логам, а не по ощущениям.
  6. Закрытие ошибок. Разбираем каждую неудачную ветку, дообучаем на новых формулировках и прогоняем регресс по эталонной выборке, чтобы не сломать уже работающее.
  7. Передача команде. Отдаём конфигурации, схему диалогов, регламент правки фраз и мониторинг по ключевым метрикам — дальше заказчик ведёт помощника сам.

Что остаётся у заказчика после запуска помощника

Помощник — это не кнопка микрофона, а набор инженерных решений: как распознаётся речь, как из фразы выделяется намерение, что делает приложение при обрыве сети. Если эти решения остаются в переписке, любая правка сценария превращается в археологию.

Мы передаём проект так, чтобы команда заказчика развивала помощника сама. Комплект артефактов на руках:

  • Схема диалогов — дерево сценариев с точками ветвления: что считается командой, где помощник уточняет, где передаёт запрос оператору.
  • Правила обработки ошибок и повторов — сколько раз переспросить при неуверенном распознавании, когда предложить ввод текстом, когда вернуть на шаг назад.
  • Политики доступа к голосовым данным — где хранятся записи, сколько живут, кто имеет к ним доступ и как они удаляются по запросу.
  • Документация по помощнику — перечень намерений, поддерживаемые формулировки, инструкция по добавлению команды без правки ядра.
  • Регламент поддержки — какие события считаются сбоем, куда приходят оповещения, за какое время разбирается инцидент и как откатывается релиз.
  • Репозиторий и порядок передачи проекта — код, конфигурации, доступы, описание тестового и продуктивного стендов.
  • Порядок развития — как добавить сценарий или язык, не переписывая ядро.

Передача идёт не архивом: проходим по каждому пункту с командой заказчика, пока не останется серых зон. Дальше наша помощь нужна только на новых сценариях.

Кейс: как помощник в приложении доставки снял нагрузку с поддержки

Сеть доставки еды с приложением на iOS и Android: пик нагрузки — вечер пятницы, и поддержка захлёбывается однотипными вопросами «где заказ», «повторите прошлый», «поменяйте адрес». До внедрения помощника без оператора закрывалось 12% обращений, остальное уходило в чат и на линию.

Сценарии собрали не «на всё», а на три частых намерения: статус заказа, повтор прошлой корзины, смена адреса. Помощник открывается прямо из карточки заказа и получает контекст сессии — номер, адрес, историю, — поэтому не переспрашивает то, что приложение уже знает. Распознавание построено на облачном сервисе уровня Yandex SpeechKit с промежуточными результатами: человек видит текст по мере речи, а не после паузы.

Метрики до и после

Метрика До После
Обращения, закрытые голосом без оператора 12% 41%
Оформление повторного заказа около 3 минут 50 секунд
Срывы диалога каждый пятый один из двадцати
Отказы на распознавании 18% 6%

Срывы диалога снизили не моделью, а правилом эскалации: после двух неудачных переспросов разговор бесшовно переходит оператору вместе с расшифровкой. Отказы на распознавании упали за счёт коротких подсказок, что именно можно сказать, и повтора фразы в замедленном темпе. Число обращений к операторам сократилось на треть, а в пиковые часы линия разгрузилась настолько, что очередь ожидания перестала расти к концу вечера.

Чем отличается обработка речи на устройстве от облачной?

Короткий ответ: выбор сводится к тому, где размещены акустическая и языковая модели — на устройстве или на сервере. При локальной обработке речь распознаётся прямо в приложении: открытые модели вроде Whisper работают рядом с микрофоном, без отправки звука наружу. Облачная отправляет поток на серверы, где качество распознавания выше, а сценарии почти не ограничены словарём.

Приватность голосовых данных различается принципиально: локально сырой звук не покидает устройство, наружу уходит только распознанный текст. В облаке аудио передаётся по каналу и какое-то время хранится, поэтому нужны шифрование, регламент срока хранения и явное согласие пользователя. Офлайн локальная модель отвечает в самолётном режиме, облачная в тех же условиях не работает.

На практике выбор архитектуры помощника редко бывает бинарным. Мы определяем, какие команды обязаны работать без сети и какой звук нельзя выносить за пределы устройства, — они уходят в локальный контур, а свободные формулировки и сложные диалоги остаются в облаке. Гибридная схема даёт быстрый отклик на частых запросах и убирает отказы, связанные с пропаданием связи.

Частые технические сомнения перед стартом проекта

Вопросы о точности, языках и требованиях к самому приложению решаются на этапе проектирования, а не после запуска. Ниже — то, что чаще всего проверяют перед стартом: распознавание, доменная логика и сценарии диалога тестируются вместе, на реальных записях, а не по отдельности.

Насколько точно помощник распознаёт речь в шуме?

Точность сильнее зависит от условий записи, чем от выбранной модели: улица, эхо помещения, тихий голос у микрофона. Мы включаем шумоподавление и задаём порог уверенности — при низкой уверенности помощник переспрашивает или предлагает варианты, а не угадывает. Настройка идёт на записях из реальных сценариев, а не на студийных примерах.

Что с акцентами и смешанной речью?

Собираем словарь предметной области: термины, названия, аббревиатуры — с вариантами произношения. Смешанные фразы разбираем на уровне языковой модели, где часть слов распознаётся на одном языке, часть на другом. Спорные распознавания инженер проверяет на размеченной выборке и уточняет словарь.

Что делает помощник, если не понял?

Сценарий на непонимание проектируем явно: уточняющий вопрос, сужение вариантов, переход на ручной ввод. Молчание или случайная догадка раздражают сильнее просьбы повторить. Каждый такой случай попадает в журнал — это готовый список правок сценариев и словаря.

Как добавляются новые языки?

Архитектуру делаем без жёсткой привязки к языку: распознавание, доменная логика и ответы разделены. Новый язык — это подключение языковой модели и перевод сценариев, а не переписывание приложения. Стартуем с одного-двух, остальные добавляем по мере спроса.

Какие требования к приложению?

Нужны разрешения на микрофон, работа в фоне и понятное поведение при слабой сети. Фиксируем минимальную поддерживаемую версию операционной системы, чтобы распознавание не терялось на старых устройствах, и предусматриваем мягкое снижение качества: фраза сохраняется и уходит на обработку при появлении канала.

Обсудим задачу: разберём сценарии и вернёмся с планом

Оценка проекта начинается не с цифр, а с вводных: по каким сценариям пользователь говорит с приложением и какие ограничения есть у вашей инфраструктуры. Часть данных мы поднимем сами из кода и макетов, но несколько вещей знаете только вы — их стоит принести на обсуждение задачи.

  • голосовые сценарии: что закрывается речью, а что остаётся в интерфейсе;
  • платформы и минимальные поддерживаемые версии системы;
  • есть ли уже распознавание и синтез речи или подбираем движок с нуля;
  • нужна ли работа без сети и какой запас команд держать офлайн;
  • доступы: микрофон, аккаунты платформ, правила обработки персональных данных;
  • языки, отраслевая лексика и требования к точности распознавания;
  • сроки и точка, к которой нужен работающий сценарий целиком.

Разберём эти вводные на созвоне и вернёмся с оценкой объёма, планом внедрения по этапам и составом работ — с явным разделением, что делаем мы, а что требуется от вашей стороны. Опишите задачу в удобной форме: текстом, голосовым сообщением или ссылкой на текущее приложение, — и мы предложим время для разговора по делу.

Наши компетенции:

Последние работы

  • Разработка мобильного приложения для компании FEEDME
    Разработка мобильного приложения для компании FEEDME
    1010
  • Разработка мобильного приложения для компании XOOMER
    Разработка мобильного приложения для компании XOOMER
    903
  • Разработка мобильного приложения для компании RHL
    Разработка мобильного приложения для компании RHL
    1332
  • Разработка мобильного приложения для компании ZIPPY
    Разработка мобильного приложения для компании ZIPPY
    1180
  • Разработка мобильного приложения для компании Affhome
    Разработка мобильного приложения для компании Affhome
    1107
  • Разработка мобильного приложения для компании FLAVORS
    Разработка мобильного приложения для компании FLAVORS
    714