Как мы автоматизировали контроль качества звонков в B2B

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

Предыстория: что было до

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

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

Асессор тратил почти всё рабочее время на ручную прослушку, и качество начало страдать. РОП не получал нормальных отчётов и тратил время на ручную сводку данных.

Что нужно было решить

Почесав затылок, полез читать документацию. Задача из одной превратилась в 6:

1. Научиться дергать API телефонии и забирать записи 2. Подобрать транскрипционную модель для русской речи 3. Решить диаризацию (деление спикеров по ролям) 4. Понять, как обрабатывать разговор и что хотим на выходе 5. Не сливать в нейронку чувствительные данные (152-ФЗ) 6. Куда агрегировать результаты

Как решал

Телефония. Оператор оставил нормальную документацию с тестированием запросов прямо в интерфейсе. Вопрос закрылся за один вечер.

Транскрипция. Сначала попробовал Whisper и Vosk. Оба коряво работали с русской речью, искажали как попало. Выбор пал на GigaAM от Сбера - натренирована на русской речи, работает стабильно.

Диаризация. Повезло: оператор отдает записи с разделёнными каналами. В 100% случаев знаем, когда говорит менеджер, а когда клиент. Проблема отпала сама собой.

Логика оценки. Стандартный контроль качества "оцени 10 критериев по 10-балльной шкале" нам не подходил. Мы не техподдержка, разговоры требуют творческого подхода, а не скриптов. Пошёл от простого: критерии в формате "да/нет".

Менеджер задавал наводящие вопросы? Да/Нет. Назначил дату следующего контакта? Да/Нет. Этого оказалось достаточно, пользуемся схемой по сей день.

152-ФЗ. Два варианта: локальный контур с локальными моделями или облако с маскировкой. Локально дорого для проверки гипотезы, выбрали второе.

Чувствительные данные маскируются перед отправкой, метаданные в нейросеть вообще не передаются. Анализируем в Яндекс Клауд - чуть дороже, но данные хотя бы в российской юрисдикции.

Куда отправлять результат. Алерты в мессенджеры. РОП получает автоматические отчёты, менеджеры видят косяки сразу. При желании - крепить в сделку CRM или собирать дашборд.

Что получилось

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

РОП получил автоматические отчёты вместо ручной сводки. Десятки часов в месяц освободились.

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

Итого

Платим только за сервер и биллинг LLM. Решение интегратора больше не используем.

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

Если у вас похожая задача с контролем качества звонков или автоматизацией отчётности - давайте обсудим. Личка открыта.