Как мы научили ИИ превращать отзывы в деньги. ai.. ai. llm.. ai. llm. redis.. ai. llm. redis. Блог компании Magnit Tech.. ai. llm. redis. Блог компании Magnit Tech. ИИ.. ai. llm. redis. Блог компании Magnit Tech. ИИ. искусственный интеллект.. ai. llm. redis. Блог компании Magnit Tech. ИИ. искусственный интеллект. отзывы.. ai. llm. redis. Блог компании Magnit Tech. ИИ. искусственный интеллект. отзывы. языковые модели.

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

Почему вообще мы решили, что обратная связь — это важно

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

В начале 2024 года мы собирали примерно две тысячи отзывов в день. Казалось бы, неплохо для начала, но если посмотреть на масштабы нашей сети — капля в море. Мы задались простым, но фундаментальным вопросом: «А есть ли вообще связь между тем, что клиенты пишут в отзывах, их лояльностью и нашей выручкой? Или это всё красивые слова про customer experience, за которыми не стоят реальные деньги?»

Провели серию экспериментов, A/B-тестов, покопались в данных и обнаружили интересную закономерность. Оказалось, что всего лишь один процент трансформации клиентов из критиков в промоутеры даёт нам десятки миллионов рублей дополнительной выручки в месяц. Причём механика простая и понятная: промоутеры тратят в среднем на 41% больше денег за месяц и на 40% чаще приходят в наши магазины. То есть довольный клиент — это не абстрактная ценность для презентаций, а вполне конкретные деньги в кассе.

После этого открытия стало понятно, что нужно масштабировать сбор обратной связи и научиться с ней работать. За полтора года мы увеличили количество собираемых отзывов в 75 раз — со скромных 2 тысяч до 150 тысяч в день. Это пятнадцать миллионов отзывов в квартал, если кому-то проще воспринимать большие числа.

Проблема масштаба, или Почему человек не может прочитать «Войну и мир» несколько раз за день

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

Что происходило на практике? Клиенты писали отзывы, мы отвечали стандартным «спасибо за ваш отзыв», и на этом всё заканчивалось. Бизнес не получал выводов о реальных проблемах в магазинах, руководители не понимали, что конкретно нужно исправлять, а клиенты чувствовали, что их мнение никому не интересно. Классический замкнутый круг: люди перестают давать обратную связь, потому что не видят результата, а мы теряем обратную связь и не можем улучшать сервис, выручка не растёт, все недовольны.

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

ИИ-диагност: как научить машину понимать, что клиенту не нравится

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

Под капотом у нас работает Llama3.1-Instruct 70B, правда, в квантовании int4 — такая модель занимает примерно 40-50 гигабайтов, что позволяет эффективно использовать вычислительные ресурсы. Инференсим модель на мощностях Yandex Cloud. Чтобы минимизировать ошибки классификации, добавляем в промт много fewshot-примеров, а для стандартизации результатов применяем эмбеддер. В этом, кстати, одно из преимуществ работы с LLM: дообучение не требуется, достаточно изменить промт по мере необходимости, и модель начинает работать по-новому.

Так выглядит разбивка по сантименту отзывов

Так выглядит разбивка по сантименту отзывов

Но классификация — это только половина дела. Модель также определяет сантимент каждого комментария: позитивный, негативный или нейтральный. Это важно, потому что одно дело, когда клиент пишет «парковка неудобная, но терпимо», и совсем другое — «из-за вашей парковки больше ни ногой в магазин». Формально оба комментария про парковку, но уровень критичности проблемы разный.

Качество классификации мы оцениваем по взвешенному F1 score, который у нас составляет около 90%. Для валидации используем подготовленные разметчиками тестовые данные. Долю ошибок первого и второго рода при определении критичных проблем удалось снизить до менее чем 6% — особо тщательно подходим к настройке промптов именно для таких случаев. Что касается ограничений по длине текста, то модель спокойно обрабатывает комментарии до 32 тысяч токенов, или примерно 8 тысяч слов. Для отзывов это более чем достаточно — даже самые развёрнутые жалобы редко превышают пару тысяч слов.

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

Каждому руководителю доступен дашборд с подробной детализацией отзывов по магазину
Каждому руководителю доступен дашборд с подробной детализацией отзывов по магазину

ИИ-терапевт: замыкаем обратную связь, или Как перестать игнорировать клиентов

Казалось бы, проблему решили: научились понимать, о чём пишут клиенты, донесли информацию до бизнеса. Но тут всплыла новая проблема, и узнали мы о ней из тех же отзывов. Люди начали писать в духе «да никто эти отзывы не читает», «директору магазина всё равно», «лучше сразу в Роспотребнадзор писать, чтобы хоть кто-то отреагировал».

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

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

Так изменился цикл обратной связи с использованием ИИ-решения Магнита

Так изменился цикл обратной связи с использованием ИИ-решения Магнита

Важный момент: это не шаблонные ответы в духе «мы приняли к сведению вашу жалобу». Клиент получает конкретную информацию: «По вашему обращению 5 августа 2024 года была проведена полная дезинфекция торгового зала и складских помещений магазина. Приносим извинения за доставленные неудобства». Человек видит, что его услышали, поняли проблему и решили её.

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

Пример работы системы по принципу нового цикла обратной связи с использованием ИИ в Магните

Пример работы системы по принципу нового цикла обратной связи с использованием ИИ в Магните

Эффект от внедрения этой системы мы тоже измерили через A/B-тесты. Оказалось, что клиенты, получившие обратную связь на свой отзыв, показывают существенный рост среднего чека и чаще возвращаются именно в тот магазин, где решили их проблему. То есть правильно выстроенная работа с негативом не только не отпугивает клиентов, но и повышает их лояльность.

Проблема покрытия: почему QR-коды не сработали, а голосовой ассистент — да

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

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

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

Обновлённая система сбора отзывов в Магнит OMNI

Обновлённая система сбора отзывов в Магнит OMNI

Вернулись к технологичным решениям и запустили сразу два инструмента. Первый — голосовой ИИ-ассистент, который собирает обратную связь в ненавязчивой форме, не требуя от клиента сложных действий. Для этого используем не собственную разработку, а готовое ASR/TTS-решение одного из наших основных вендоров автоматизации — зачем изобретать велосипед, когда есть проверенные технологии. Второй инструмент — ML-дирижёр, который анализирует историю взаимодействия конкретного клиента с брендом: как часто он оставляет отзывы, какой формат предпочитает, в какое время наиболее активен. На основе этих данных система решает, когда и как лучше запросить отзыв: через пуш-уведомление, шторку в приложении или другой канал.

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

Архитектура решения: как всё это работает под капотом

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

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

Сейчас система обрабатывает примерно один отзыв за 2-3 секунды. Не молниеносно, но для наших объёмов вполне достаточно. Впрочем, мы уже работаем над переходом на BERT-like модели — в первую очередь для снижения затрат на инфраструктуру. Приятный бонус — скорость обработки вырастет примерно в сто раз, с нынешних 2-3 секунд на текст до каких-то 0,03 секунды. Разрабатываем эти модели на основе данных, которые накопили с помощью LLM, получается своеобразная дистилляция знаний большой модели в более компактную и быструю.

Так выглядит итоговая архитектура

Так выглядит итоговая архитектура

Если решение положительное, то система подбирает оптимальный тип опроса и точку контакта. Это может быть короткая оценка от одной до пяти звёзд, развёрнутый опрос с возможностью оставить комментарий или что-то среднее — зависит от контекста и истории взаимодействия с клиентом.

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

С точки зрения безопасности и соответствия 152-ФЗ всё решено консервативно: практически вся инфраструктура развёрнута в on-premise. Работаем только с текстами комментариев пользователей, персональные данные за контур не передаём. Поскольку работаем в России, обрабатываем комментарии только на русском языке — это упрощает и модель, и процессы модерации.

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

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

Эффективность системы измеряем несколькими метриками. Помимо бизнес-показателей, смотрим на F1 score для оценки качества классификации, и долю отзывов с развёрнутыми комментариями от общего количества. Также отслеживаем долю отзывов, по которым удалось замкнуть обратную связь с клиентом. Что касается ROI, то мы не оцениваем каждую модель отдельно — рассматриваем всё решение как единое целое. За счёт роста числа промоутеров и их более высоких LTV-показателей система полностью окупается.

Что в итоге: уроки и планы

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

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

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

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

Автор: Magnit_OMNI

Источник

Rambler's Top100