Запись звонка — самый честный документ в отделе продаж. Карточку сделки менеджер заполняет руками и так, как ему выгодно; в записи остаётся то, что было на самом деле: чем клиент торгуется, на чём замолкает, что именно обещает менеджер и в какой момент разговор рассыпается. Плохо только одно: звук — неудобный носитель. Его нельзя быстро перечитать, по нему не построишь выборку, его не найдёшь поиском.
Расшифровка превращает записи в текст, а с текстом работать уже можно: искать по нему, суммировать, вшивать в карточку сделки, скармливать моделям. Но у этой задачи есть особенность, которая отличает её от большинства ИИ-экспериментов в продажах: в записи звонка лежат имена, телефоны, суммы, договорённости и оговорки. Это самые «персональные» данные, с которыми вообще имеет дело ИИ в бизнесе, и отправлять их в чужой облачный API ради удобства — обмен сомнительный.
Поэтому мы закрыли вопрос железом: Whisper large-v3 распознаёт речь на нашем локальном узле, аудио не покидает контур компании, а готовый текст с таймкодами ложится прямо в таймлайн сделки в Битрикс24. Разбираем, как это устроено и что из этого выходит на практике.
Table Of Contents
Зачем вообще расшифровывать звонки
На первый взгляд расшифровка — приятная, но необязательная опция. На практике у неё четыре приземлённых применения, и все они про деньги. Записи звонков у большинства компаний уже есть — просто лежат мёртвым грузом в телефонии, потому что переслушивать их никто не будет. Текст меняет это раз и навсегда.
Контроль качества. Руководитель физически не может переслушать весь поток звонков отдела, а вот пробежать глазами текст — вполне. Видно, где менеджер потерял нить, где начал оправдываться, где пропустил ключевой вопрос. Разбор по тексту быстрее и честнее, чем переслушивание с блокнотом, — и его реально втиснуть в рабочий день.
База возражений. Возражения клиентов — сырьё для скриптов, ценностного позиционирования и продуктовых решений. В записях они уже есть, осталось достать: из расшифровок складывается живая коллекция того, что реально мешает людям покупать — и как это звучит их собственными словами, а не так, как это пересказывают менеджеры на планёрке.
Автозаполнение. Поля «итоги встречи», «следующий шаг», «потребности клиента» менеджеры заполняют неохотно — руки заняты сделками. Когда текст звонка уже лежит рядом, эти поля можно наполнять автоматически, а человеку оставлять проверку взглядом, а не письмо с нуля.
Обучение новичков. Свежий сотрудник получает не абстрактный тренинг, а разбор живых разговоров: удачных, провальных, типовых. С таймкодами можно показать ровно тот фрагмент, где опытный коллега развернул разговор, — а не пересказывать его своими словами, неизбежно сглаживая.
Каждое из этих применений по отдельности окупает возню с расшифровкой. Открытым оставался один вопрос: где её выполнять.
Почему облако здесь дорого — и не только в рублях
Облачное распознавание речи — зрелая услуга, и всё было бы просто, если бы не специфика материала. В записи звонка — персональные данные: кто звонил, откуда, о чём договаривался. По 152-ФЗ обработка таких данных должна быть локализована, а отправка аудио в зарубежный сервис — это уже трансграничная передача со всеми вытекающими вопросами: где физически лежит запись, кто имеет к ней доступ и что с ней станет после расшифровки. Как закон смотрит на ИИ и что с этим делать, мы подробно разбирали в отдельной статье про 152-ФЗ и локальный ИИ.
Вторая часть «дорого» — буквальная. Облачные сервисы берут деньги за каждую минуту аудио, и при потоке звонков отдела продаж это превращается в постоянную статью расходов, которая растёт вместе с воронкой. Локальная модель после развёртывания стоит ноль за минуту: хоть расшифровывай весь архив — платёж за распознавание не изменится.
И третья, о которой редко говорят: зависимость. Записи звонков — это память компании. Когда они уходят наружу по кусочкам в чужую инфраструктуру, у бизнеса появляется целый слой чужих гарантий, на которые остаётся только надеяться. Свой узел убирает этот слой целиком: не надо ни на что надеяться, потому что наружу ничего не уходит.
Как устроено распознавание у нас
Сердце сервиса — локальный узел на процессоре GB10 (NVIDIA DGX Spark). На нём крутится сервис распознавания речи с моделью Whisper large-v3 от OpenAI. Что это за машина и почему нам хватило именно её — мы писали в статье про DGX Spark, здесь сосредоточимся на самом распознавании.
Что сервис умеет помимо «речь в текст»:
- Русский язык как основной сценарий. Разговоры отдела продаж идут на русском, и модель подобрана именно под это — никакой подгонки сценариев под слабые стороны модели.
- Диаризация — разделение реплик по говорящим. Без неё расшифровка звонка — сплошная простыня, из которой непонятно, кто что обещал. С ней текст читается как протокол: менеджер — клиент — менеджер.
- Таймкоды у каждой реплики. Они связывают текст обратно с аудио: из строки расшифровки всегда можно прыгнуть в исходную запись и послушать, как именно это было сказано — тоном сделки или тоном извинения.
Info
Аудио не покидает контур компании: запись приходит на узел, там распознаётся и там же остаётся. Наружу уходит только результат — текст, который мы сами кладём в CRM.
Путь звонка: от записи до таймлайна сделки
Технически всё выглядит как короткая цепочка:
- Телефония по завершении звонка дёргает вебхук и отдаёт запись.
- Сервис на узле расшифровывает её: текст с таймкодами, реплики разделены по говорящим.
- Через REST API Битрикс24 текст попадает в таймлайн сделки — комментарием или в отдельное поле, где его видно рядом со всей историей общения по сделке.
- Если в тексте найден триггер — то, что менеджеру нельзя пропустить, — там же создаётся задача, привязанная к сделке.
Главное здесь в том, что менеджеру не надо ничего делать. Он не жмёт «расшифровать», не копирует текст из стороннего сервиса и не вставляет его в карточку. Звонок закончился — текст уже в CRM. Любой инструмент, требующий от продажника лишнего клика, умирает через неделю; этот не требует ни одного.
Второй тихий плюс: единый формат. Все звонки ложатся в таймлайн одинаково — с репликами, говорящими и таймкодами. Не «менеджер созвонился, всё обсудили» в комментарии, а машиночитаемый протокол, по которому можно и отчёт собрать, и спор разрешить.
Что происходит с текстом дальше
Расшифровка одного звонка — польза. Расшифровки всех звонков, сложенные в одну базу, — уже другой класс инструмента. У нас тексты не пропадают после того, как легли в таймлайн: они складываются в хранилище, по которому работает поиск и автоматические сводки.
Что это даёт:
- Сводка звонка — короткое резюме вместо прослушивания: кто звонил, о чём договорились, какой следующий шаг.
- Чек-лист скрипта — проверка, пройдены ли ключевые точки разговора, и разбор тех, где беседа ушла не туда.
- Поиск по всем разговорам — упоминание конкретной боли, обещания или продукта находится по всей базе, а не только в своей карточке.
Тот же принцип — собрать разговоры в базу и научиться отвечать по ней на вопросы — мы используем в приложении AI-аудит чатов, только там вместо звонков — переписки. Вместе звонки и чаты смыкаются в одну картину: что клиент говорил и что писал — в одном месте, в тексте.
Кто что делает: сервис и человек
Распознавание и диаризация — работа машины. Но звонок — это про людей, и финальные решения из текста не вытащить. Мы видим разделение труда так:
| Локальный сервис делает | Человеку остаётся |
|---|---|
| Расшифровывает речь в текст с таймкодами | Слушает тон и читает между строк |
| Разделяет реплики по говорящим | Оценивает, что стояло за словами |
| Кладёт текст в таймлайн сделки | Решает, что это значит для сделки |
| Создаёт задачу, если найден триггер | Разбирается, задача по существу или шум |
| Копит базу расшифровок, ищет и суммирует | Делает выводы и меняет скрипты |
Смысл не в том, чтобы убрать человека из разбора звонков, а в том, чтобы он не тратил время на механику: на поиск нужного звонка, на переслушивание в надежде найти одну реплику, на перепечатывание сути в карточку. Механику забирает сервис, человеку остаётся то, ради чего разбор вообще затевался, — решения.
Ограничения, о которых стоит знать заранее
Локальное распознавание — не волшебство, и было бы нечестно описывать его без тёмных мест.
- Шумные записи. Улица, гулкий офис, дешёвая гарнитура — качество распознавания падает вместе с качеством аудио. Лечится плохо: модель не восстановит то, чего не расслышала. Стоит заранее посмотреть, что у вас за записи, — от этого зависит половина результата.
- Наложение речи. Когда собеседники перебивают друг друга, диаризация и распознавание работают хуже — границы реплик размываются. В спокойных переговорах проблемы почти нет, в эмоциональных спорах — есть.
- Диалекты и манера речи. Акцент, скорость, разговорные словечки модель ловит тем лучше, чем она больше. Отсюда простая мысль: качество растёт с моделью, а не с обещаниями. Проверяйте на своих записях, а не на демо вендора.
Warning
Если вы записываете звонки, персональные данные уже обрабатываются — и требования 152-ФЗ к локализации этой обработки действуют независимо от того, чем вы расшифровываете записи. Локальная модель закрывает вопрос, а не создаёт его; облако же добавляет к существующим требованиям ещё и трансграничную передачу.
Итог
- Расшифровка звонков — самая «персональная» ИИ-задача в продажах: в записях имена, телефоны, суммы. Отдавать это в зарубежный API — риск, который не окупается удобством.
- Локальный сервис на узле GB10 с моделью Whisper large-v3 распознаёт русский язык, разделяет говорящих и отдаёт текст с таймкодами. Аудио не покидает контур компании, а расшифровка стоит ноль за минуту.
- Текст автоматически ложится в таймлайн сделки в Битрикс24 через REST API; по триггеру менеджеру создаётся задача. От продажника не требуется ни одного лишнего действия.
- Расшифровки копятся в базу — по ней работают поиск, сводки звонков и чек-листы скрипта; тот же принцип, что в AI-аудите чатов.
- Ограничения честные: шум, наложения речи и диалекты портят результат, а качество растёт с моделью, а не с обещаниями. Начинайте с оценки собственных записей.
Если хотите такой же контур — распознавание и диаризация на своём железе, тексты в таймлайне Битрикс24, поиск по всем разговорам, — загляните в наш раздел про ИИ: там о том, как мы это внедряем и что ещё умеет локальный стек.
