Пост №4. Техническая механика обработки звонка. От звука до подсказки
Теперь расскажу о технической механике. Как именно звонок превращается в подсказку на экране за те доли секунды, пока клиент говорит.
Начну с самого начала. Когда клиент звонит, менеджер принимает вызов на смартфоне, где установлено приложение MarkDroid. Это приложение я выбрал потому, что оно умеет записывать разговор в реальном времени и одновременно отправлять аудиопоток на внешний сервер. При этом оно не сохраняет запись на самом телефоне, что экономит память.
MarkDroid захватывает звук с микрофона и сразу же, без задержки, передаёт его на мой виртуальный сервер Beget. Передача идёт по защищённому каналу. На сервере работает приёмник, который принимает аудио маленькими порциями, по несколько секунд каждая. Это сделано для того, чтобы не ждать окончания всего разговора, а обрабатывать речь частями.
Как только первая порция аудио приходит на сервер, она отправляется в нейромодуль распознавания. Этот модуль использует API DeepSeek. Он переводит речь в текст с минимальной задержкой. Но здесь важный момент: я не жду, когда модуль завершит полную расшифровку всей фразы. Текст передаётся в аналитический модуль по мере поступления слов, по кусочкам.
Параллельно с распознаванием текста работает модуль эмоционального анализа. Он получает тот же аудиопоток и анализирует голосовые характеристики: частоту, громкость, паузы. Этот модуль не ждёт текста, он работает независимо.
Когда появляются первые слова текста и первые данные эмоционального анализа, они объединяются в аналитическом модуле. Модуль смотрит на то, что сказано, и на то, как сказано. Он определяет, о чём говорит клиент, и в каком он состоянии.
Дальше вступает рекомендательный модуль. Он знает, какую цель выбрал менеджер в интерфейсе. Он берёт текущий анализ разговора и подбирает подходящий вариант ответа. База ответов — это те самые фразы, которые я загрузил при обучении на психологии, маркетинге и классической литературе.
Итоговая подсказка отправляется обратно в интерфейс менеджера. Весь этот цикл занимает от двух до пяти секунд с момента, когда клиент закончил говорить. Этого времени достаточно, чтобы менеджер услышал собеседника, посмотрел на экран и подготовил ответ.
Я тестировал задержку при разной скорости интернета. На Beget сервер расположен в России, поэтому пинг минимальный. Даже при слабом мобильном интернете у менеджера подсказка появляется раньше, чем клиент начинает следующую фразу.
В следующем посте расскажу о безопасности и о том, почему я храню данные на отдельном сервере, а не на Beget.
Пост №3 Интерфейс на смартфоне менеджера. Как это выглядит
Теперь хочу рассказать о том, как выглядит интерфейс ассистента на смартфоне менеджера. Потому что для меня было важно, чтобы программа не мешала разговору, а помогала.
Когда я начинал разработку, я чётко понимал: менеджер не может отвлекаться на сложные экраны, кнопки и меню. Его внимание принадлежит клиенту. Поэтому интерфейс я сделал максимально простым и адаптированным под телефон.
Главный экран — это рабочая карточка звонка. Она открывается автоматически, когда поступает звонок и MarkDroid начинает запись. Менеджеру не нужно ничего нажимать, чтобы запустить ассистента. Всё начинается само.
На экране есть несколько зон. В верхней части отображается текущий статус: идёт распознавание речи, анализируется голос, формируется подсказка. Это сделано для того, чтобы менеджер понимал, что система работает.
В центре экрана появляются подсказки. Они приходят в виде коротких фраз или вопросов. Например, клиент говорит: "Дороговато у вас". Система анализирует это и выдаёт вариант ответа: "Я понимаю, для многих цена важна. Но давайте я расскажу, что входит в эту стоимость". Подсказка видна на экране, и менеджер может произнести её своими словами или почти дословно.
В нижней части экрана расположены кнопки с целями. Менеджер может выбрать одну из них до разговора или в процессе. Это кнопки: "Продажа", "Консультация", "Перевод на сайт", "Перевод в соцсети", "Запись клиента". Когда цель выбрана, система подстраивает подсказки под неё. Если цель — продажа, подсказки будут убеждающими. Если цель — консультация, подсказки будут объясняющими и подробными.
Также на экране есть кнопки быстрого действия. Одним нажатием менеджер может создать задачу для мастера, отправить клиенту смс с напоминанием или перенести запись. Все эти действия фиксируются в системе онлайн-записи.
Отдельно я сделал историю разговора. Она появляется в виде чата, когда менеджер прокручивает экран вниз. Там видны все реплики, которые распознала система, и все подсказки, которые она выдавала. Это помогает после звонка быстро вспомнить детали.
Что важно — интерфейс не мерцает и не мигает. Подсказки появляются плавно, без резких звуков и вспышек. Я тестировал это с менеджерами, и они подтвердили: экран не отвлекает. Они смотрят на него только тогда, когда им нужна помощь.
В следующем посте расскажу, как происходит техническая обработка звонка от нажатия кнопки принять до появления подсказки на экране.
Пост №2 Как устроены нейромодули. Часть вторая: внутреннее устройство
Итак, продолжаю. В прошлый раз я рассказал общую идею нейроассистента. Теперь хочу подробно остановиться на том, как устроены сами нейромодули. Их у меня несколько, и каждый выполняет свою задачу.
Первый модуль я назвал модулем распознавания. Его работа начинается в тот момент, когда MarkDroid отправляет аудиозапись разговора на сервер. Этот модуль получает звук и превращает речь в текст. Но он делает не просто расшифровку. Он разбивает текст на смысловые блоки: кто звонит, что хочет, с каким настроением говорит. Он выделяет ключевые слова, которые относятся к услугам моего автосервиса.
Второй модуль занимается эмоциональным анализом. Он не смотрит на слова, а анализирует голос. Он определяет, спокоен ли человек, раздражён ли он, сомневается или уже готов принять решение. Этот модуль работает на основе тех самых психологических трудов, о которых я говорил. Ему не важно, что именно сказано, ему важно, как это сказано. Тембр, паузы, ускорение или замедление речи — всё это он фиксирует.
Третий модуль — аналитический. Он соединяет данные от первых двух. Он смотрит на текст и на эмоциональную окраску и делает выводы. Например, клиент говорит "я подумаю", но голос у него уверенный и заинтересованный. Модуль понимает, что это не отказ, а просто формальность. И наоборот, если клиент говорит "да, хорошая цена", но голос напряжённый, модуль видит сомнение.
Четвёртый модуль — рекомендательный. Это самый важный для менеджеров. Он получает выводы от аналитического модуля и знает, какую цель мы выбрали в интерфейсе. Дальше он подбирает правильные слова для ответа. Он хранит в себе базу фраз, которые я загрузил туда при обучении. Эти фразы основаны на классике русского кино и литературы, чтобы звучать живо и по-человечески. Модуль выдаёт менеджеру короткие подсказки прямо на экран смартфона.
Пятый модуль я назвал исполнительным. Он отвечает за действия. Когда разговор завершён или когда в процессе разговора менеджер нажимает кнопку, этот модуль берёт всю собранную информацию и распределяет её по разделам системы онлайн-записи. Он создаёт карточку клиента, запоминает дату и время, фиксирует договорённости и ставит задачи мастеру или другому менеджеру.
Все эти модули работают одновременно в реальном времени. Задержка минимальная, потому что я использовал асинхронную обработку, но об этом расскажу в посте про техническую сторону.
Самое важное для меня — что модули не просто механически обрабатывают информацию. Они действительно помогают менеджеру чувствовать клиента. Я сам проверил это на первых звонках. Раньше я не всегда понимал, почему клиент уходит. Теперь система показывает слабые места прямо во время разговора.
В следующем посте расскажу, как выглядит интерфейс на смартфоне менеджера и как он работает в реальном звонке.
Пост №1 Как я создал нейроассистента для менеджеров. Часть первая: общая идея
Привет, Пикабу. Я владелец автосервиса. Полгода назад я начал писать своё программное обеспечение для бизнеса. Про систему онлайн-записи и парсеры я уже рассказывал в прошлой серии. Теперь пришло время рассказать о новой разработке.
Я создал нейроассистента для своих менеджеров по продажам и для себя как для руководителя. Программа работает на виртуальном сервере Beget, а все данные хранятся на моём собственном защищённом сервере. Это сделано для безопасности.
Главное требование, которое я ставил перед собой — ассистент должен помогать менеджеру в режиме реального времени. Не после звонка, не через минуту, а прямо в процессе разговора. Потому что смысл подсказки теряется, если она приходит с опозданием.
Как это выглядит на практике. У менеджера открыт веб-интерфейс на смартфоне. Когда поступает звонок, он принимает его через приложение MarkDroid. MarkDroid в реальном времени записывает разговор и отправляет аудиопоток на мой сервер. Обработка начинается мгновенно, без паузы.
Нейромодуль, созданный на основе API DeepSeek, начинает анализировать речь собеседника прямо в ту же секунду. Он расшифровывает слова, но делает это параллельно с другими задачами. Одновременно он оценивает эмоциональную окраску голоса, тон, тембр, темп речи. Он замечает, когда клиент начинает волноваться, когда сомневается, а когда, наоборот, уже готов согласиться.
Одновременно модуль анализирует содержание. Он запоминает имена, даты, время, названия услуг, марку и модель автомобиля, любые детали, которые произносит клиент. Вся эта информация структурируется на лету.
Но самое ценное происходит дальше. В интерфейсе менеджер заранее выбирает цель разговора. Это может быть продажа услуги, расширенная консультация, перевод клиента на сайт или в социальные сети. И прямо во время разговора нейромодуль отображает на экране смартфона подсказки: что именно нужно сказать собеседнику в ответ на его последние слова, чтобы достичь выбранной цели.
Подсказки появляются с минимальной задержкой. Менеджер видит их, читает и произносит вслух, пока клиент ещё говорит или в паузе между репликами. Система работает как суфлёр в театре — незаметно, но постоянно.
После того как разговор завершён, модуль либо автоматически, либо по нажатию кнопки распределяет задачи. Он заносит всю информацию в нужные разделы моей CRM-системы, которая отвечает за онлайн-запись. Клиент уже записан, данные уже сохранены, менеджеру не нужно ничего вбивать вручную.
Чтобы модуль давал правильные и психологически комфортные подсказки, я обучал его на серьёзных материалах. В основе лежат труды по психологии и психоанализу, работы по исследованию речи. Дополнительно я добавил обучение на трудах по маркетингу, рекламе, а также на классике русского кино и литературы. Это нужно, чтобы фразы звучали естественно и располагали к себе собеседника.
В следующем посте расскажу подробнее, как устроены нейромодули изнутри.