


Максим Горбачев: заменил асессоров на ИИ и сократил время оценки звонков в 7 раз
В кейсе рассказываем, как предприниматель с опытом в речевых технологиях построил воркфлоу для автоматической оценки звонков. Система транскрибирует записи через Whisper, анализирует их по 15 критериям с помощью ChatGPT и выгружает результаты в Google Sheets. Время оценки сократилось в 7 раз, стоимость работы — в 2,5 раза.
Опыт с нейросетями: с нейросетями я работаю еще до того, как случился хайп вокруг генеративных моделей. В 2018 году я продавал речевую аналитику и голосовых роботов как партнерские продукты. Уже тогда для транскрибации использовались нейросети, но качество было совсем другим: записи превращались в нечитаемый текст, который нельзя было показать клиенту. Максимум, на что он годился — поиск по ключевым словам.
С генеративными нейросетями я познакомился во второй половине 2023 года. Поначалу использовал их для простых задач: генерация идей, оценка вариантов, формирование планов работ. По мере развития технологий круг применения расширялся. Я начал создавать тексты, готовить презентации, писать простые расширения для Google Sheets.
Переломный момент наступил, когда я увидел примеры расшифровки в современных сервисах речевой аналитики. Качество транскрибации выросло настолько, что даже записи с плохим качеством звука превращались в нормальный читаемый текст. Стало понятно: GenAI уже достаточно хорош, чтобы заменить живых асессоров в оценке звонков.
На оценку часа звонка уходило полтора часа работы — я предложил заменить асессоров на ИИ
У моего партнера по «Скриптдизайнеру» есть бизнес по аутсорсингу контроля качества звонков. Исторически звонки слушали асессоры, потому что до появления GenAI речевая аналитика не справлялась с оценкой по сложным критериям. Процесс был устроен так: человек прослушивал запись разговора менеджера с клиентом, сверял ее с методикой и выставлял оценки по каждому пункту.
На оценку 60 минут звонка уходило 90 минут работы. Асессор не мог просто послушать запись один раз и сразу все оценить. Приходилось возвращаться к отдельным фрагментам, перепроверять формулировки, заполнять форму оценки. В итоге один человек мог обрабатывать около 10 000 минут записей в месяц, и это был его потолок.
Была и другая проблема: при смене асессора на проекте оценки начинали плыть. Каждый человек интерпретировал критерии немного по-своему, и заказчики замечали, что результаты становились нестабильными. Методика была одна, но субъективность никуда не девалась.
Когда я увидел, как изменилось качество транскрибации в современных сервисах, я предложил партнеру заменить асессоров на GenAI. Идея была простая: нейросеть транскрибирует звонок, а затем оценивает его по тем же критериям, что и живой человек.
Протестировали пять моделей — ChatGPT 4.1 оказалась точнее всех
Прежде чем строить воркфлоу, нужно было понять, какая модель лучше справляется с оценкой звонков по существующей методике. Если методики еще нет, то начинать нужно с нее. Но у нас уже были готовые критерии и форма оценки от асессоров.
Мы протестировали несколько моделей: ChatGPT 4.1, ChatGPT 4.1 mini, ChatGPT 4o, Gemini 2.5 и Claude Sonnet 3.5. Главным критерием была точность оценок, то есть насколько результаты нейросети совпадают с тем, как оценивали звонки живые асессоры. По этому параметру лучше всего себя показала ChatGPT 4.1, на ней и остановились.
Интересный момент: ИИ в среднем выставляет оценки на 20% ниже, чем асессоры. Нейросеть оценивает строже, потому что не делает скидок на контекст и не додумывает за менеджера. Если критерий не выполнен буквально, оценка будет ниже.
Заказчики восприняли это нормально после того, как мы объяснили причину изменения оценок. Более того, строгость оказалась плюсом: теперь результаты стабильные и не зависят от того, кто именно проверяет звонки.
Связали Google Drive, Whisper и ChatGPT через n8n — теперь звонки оцениваются автоматически
Вся система построена на связке Google Drive, n8n, Whisper, ChatGPT и Google Sheets. Логика работы простая: n8n отслеживает папку с записями звонков в Google Drive и при появлении нового файла запускает цепочку обработки. Сначала запись уходит в Whisper на транскрибацию, затем текст передается в ChatGPT для оценки по критериям, а результаты автоматически записываются в Google Sheets.
Вот часть этого воркфлоу:


Выбор стека был продиктован задачей. Google Drive уже использовался для хранения записей, Google Sheets был привычным инструментом для отчетов, а n8n позволял связать все это без написания кода. После выбора модели и доработки промптов мы подготовили бизнес-требования и собрали воркфлоу.
На выходе заказчик получает таблицу с оценками по каждому звонку. В ней есть длительность, имя менеджера, тип звонка, баллы по всем 15 критериям, итоговая оценка качества, краткое описание сути разговора и комментарий с рекомендациями. Из этих данных скрипт в Google Sheets формирует сводный отчет по отделу и отдельным менеджерам.

Один большой промпт работал плохо — разбили на 15 отдельных и получили стабильное качество
Изначально мы пробовали оценивать звонок одним большим промптом, в котором были описаны все 15 критериев сразу. Модель должна была прочитать транскрипцию и выставить оценки по каждому пункту за один проход. На практике это работало плохо: возникали ошибки, оценки были нестабильными, и результаты нельзя было показывать заказчикам.
Решение оказалось простым: мы разбили один большой промпт на 15 отдельных, по одному на каждый критерий. Каждый промпт получает ту же транскрипцию, но оценивает только один аспект разговора. Качество сразу выросло настолько, что результаты стало возможно использовать для отчетов.
Вот, например, как устроен промпт для критерия «Следующий шаг»:
Ты — эксперт по оценке качества телефонных звонков в сфере оптовых продаж.
Твоя задача — проанализировать предоставленную транскрипт телефонного разговора менеджера по продажам с клиентом и оценить его по строгой методике.
ВАЖНО если потребности в услуге на текущий момент нет (это те, которые покупают либо меньше ХХХХ руб. в мес раз в 6-12 мес/ либо под заказ клиентов работают и им не нужно/ в тендерах периодически участвуют но сейчас запроса нет):
1 — если договорился о ежемесячной рассылке прайса и звонке-напоминалке 1 раз в 3-6 месяцев
0,5 — если только о ежемесячной рассылке прайса договорился или только о звонке
0 — если диалог завершился “на связи, звоните, если что пишите звоните и т.д”
ВАЖНО в остальных случаях:
Проанализируй, окончился ли разговор менеджера договоренностью и обозначением им следующего шага в общении с клиентом. По итогу выбери один вариант из набора чисел: [0; 0,5; 1]
Критерий оценки следующего шага:
1 — четко обозначили свое следующее действие (Договорился о дате, времени следующего действия и контакта. Пример: сейчас вышлю прайс на электронку и позвоню вам на следующей неделе в среду)
0,5 — определен тип связи или дата (сейчас вышлю на электронку обновленный прайс/ позвоню на следующей неделе/ раз в 3 месяца буду звонить)
0 — ничего не определено (созвонимся, на связи, если что обращайтесь, буду периодически напоминать о себе)
Каждый промпт построен по одной схеме: роль эксперта, описание задачи, четкие критерии оценки с примерами и шкала баллов. Такая структура помогает модели не путаться и выдавать стабильные результаты.
От прототипа до продакшена прошло 30 дней
Рабочий прототип мы получили за 8 дней после того, как определились с моделью. Но от прототипа до полноценного решения прошло еще 30 дней, потому что всплыли задачи, которые не были очевидны на старте.
Первая проблема была с диаризацией. Whisper выдает сплошной текст, а для оценки звонка нужно понимать, где говорит менеджер, а где клиент. Без разделения диалога по собеседникам невозможно корректно оценить, кто что сказал, и критерии начинают работать неправильно. Пришлось отдельно настраивать разделение реплик.
Вторая проблема касалась обработки ошибок. Если воркфлоу падал на середине, он мог при следующем запуске снова взять тот же файл и отправить его на транскрибацию повторно. Это означало лишние расходы на API и дубли в таблице результатов. Нужно было добавить логику, которая отслеживает статус обработки каждого файла и останавливает воркфлоу при ошибках.
Когда количество нод в n8n перевалило за десять, стало понятно, что такой проект небольшим воркфлоу не закрыть. После формирования бизнес-требований я понял, что времени на эксперименты со сложной логикой в n8n у меня нет, и привлек разработчика. У меня уже был свой специалист в «Скриптдизайнере», и он разобрался в n8n достаточно быстро, чтобы довести решение до продакшена.
Время оценки сократилось в 7 раз, стоимость — в 2,5 раза
После внедрения воркфлоу время оценки звонков сократилось в 7 раз. Раньше на 60 минут записи уходило 90 минут работы асессора, теперь система делает это за считанные минуты. Объем обработки остался прежним, но теперь этим занимается менеджер проекта, а не отдельный специалист.
Стоимость обработки одной минуты записи снизилась в 2,5 раза: это разница между оплатой труда асессора и расходами на API для транскрибации и анализа.
Появилось еще одно преимущество, которое сложно оценить в деньгах: стабильность оценок. Раньше при смене асессора на проекте результаты начинали плыть, потому что каждый человек интерпретировал критерии немного по-своему. Теперь оценки выставляет одна и та же модель по одним и тем же промптам, и заказчики получают предсказуемые результаты.
Что касается асессоров, никто не был уволен специально под замену. Часть людей перешла на сопровождение проектов, часть ушла в рамках обычной текучки и их просто не заменяли новыми сотрудниками.
В Нейроцехе узнал главное: такие решения лучше сразу писать кодом
Главный вывод я получил из общения в чате Нейроцеха уже после того, как реализовал проект. Читая диалоги участников, я понял, что не стоит делать такие решения на n8n. Любой no-code инструмент негибкий: пока воркфлоу простой, все работает, но как только количество нод переваливает за десять, начинаются проблемы.
В нашем случае это проявилось в полной мере. Добавить обработку ошибок, настроить диаризацию, предотвратить повторную транскрибацию при сбоях — каждая такая задача превращалась в головоломку. В коде это решается проще и понятнее, а в n8n приходится выстраивать сложные ветвления из блоков.
Пока мы продолжаем использовать текущее решение, потому что оно работает и выполняет свою задачу. Но при расширении функционала будем переписывать все на код. Если бы я начинал сейчас с нуля, сразу бы выбрал этот путь.
Помимо этого инсайта, в Нейроцехе я нашел полезные вебинары, гайды и возможность общаться с людьми, которые решают похожие задачи. Это помогает не изобретать велосипед и учиться на чужом опыте до того, как наступишь на грабли сам.