У вас 100 тикетов поддержки. Или 200 отзывов из сторов. Или 50 ответов на NPS-опрос. Надо понять, что болит у пользователей и что чинить первым.
Открываете Excel, начинаете читать. Через час глаза рябят, всё сливается. Вроде что-то про «долгую загрузку» встречалось раз пять. Или десять. А сколько жаловались на цену? Было что-то важное в середине списка, но где именно уже не вспомнить.
Паттерны тонут. В итоге либо забиваете, либо делаете выводы на ощущениях.
В этой статье разберём, как за 5 минут превратить кашу из отзывов в структурированную таблицу с категориями, цифрами и конкретными цитатами. Дадим готовый промпт, который можно скопировать и сразу использовать.
Для демонстрации мы взяли 200 реальных отзывов на беспроводные наушники с Wildberries. Стратифицировали по оценкам: от единиц до пятёрок. Никакой предобработки — опечатки, сленг, «ок норм» оставили как есть.
!!! Больше кейсов на канале “AI для продакта”
Почему «проанализируй отзывы» не работает
Логичная мысль — скормить всё нейронке. Пишете «вот 100 отзывов, проанализируй и дай выводы».
И получаете один из двух вариантов.
Первый: общие слова без привязки к данным. «Пользователи в целом довольны продуктом, однако есть точки роста в области пользовательского опыта и ценообразования. Рекомендуется обратить внимание на обратную связь». Это можно было написать не читая ни одного отзыва.
Второй: пересказ каждого отзыва по очереди. «Пользователь 1 пишет, что ему не понравилась скорость загрузки. Пользователь 2 отмечает проблемы с оплатой...» И так на три экрана. Та же простыня, только другими словами.
Проблема в том, что модель не понимает, какой результат вы считаете хорошим. Не задали структуру, она выбрала сама. И выбрала плохо.
Шаг ноль: подготовьте данные
Прежде чем писать промпт, приведите отзывы в порядок. Иначе модель поедет, и вы будете думать, что промпт плохой, хотя дело в исходниках.
Один отзыв = один блок с номером. Не сплошной текст, не через запятую. Каждый отзыв отдельно.
[1] Приложение тормозит после обновления, раньше всё летало
[2] Цена вообще неадекватная, за что столько платить
[3] Поддержка ответила через 5 дней, уже неактуально было
Номера нужны, чтобы модель могла на них ссылаться. «Упоминается в [4], [17], [23]» и вы можете проверить, не выдумала ли она.
Уберите мусор. Дубли, спам, отзывы из одного слова типа «ок» или «норм». Они не несут информации, но занимают контекст.
Добавьте в промпт ограничение: «Анализируй только то, что есть в отзывах. Не придумывай». Иначе модель может «дополнить картину» из своих представлений о продукте.
Главный принцип: структура вывода как Definition of Done
Та же идея, что в этом посте, но для массива данных.
Не просите «анализ». Задайте структуру результата: по каким категориям разбивать, что выдать по каждой, в каком формате. Это и есть DoD для аналитической задачи. Когда структура жёсткая, модели некуда уйти в воду.
Таблица с фиксированными колонками
Не просто «выдай таблицу». Пропишите конкретные колонки.
Category — тема: UX, баги, цена, поддержка, фичи. Если отзыв не подходит ни к одной категории, пусть модель добавит строку Other или предложит новую категорию.
Mentions — количество уникальных отзывов, где тема встречается. Один отзыв про три проблемы считается по одному разу в каждой категории. Повторы внутри одного отзыва не увеличивают счётчик.
Quotes — 2-4 дословные цитаты, до 120 символов каждая, с номерами отзывов. Это фрагменты из текста без изменения слов, можно обрезать многоточием.
Interpretation — один осторожный вывод. Если данных мало, пусть пишет «недостаточно данных»
Recommendation — что с этим делать
Почему важно зафиксировать колонки: иначе модель будет менять структуру от запроса к запросу. То добавит «Sentiment», то уберёт что-то, то переименует. И вы не сможете сравнивать результаты.
Шаблон промпта
Ты — продуктовый аналитик.
Дано: список отзывов пользователей (ниже). Работай ТОЛЬКО по этим данным. Не придумывай и не додумывай то, чего нет в тексте.
Задача:
1. Категоризируй отзывы по темам: UX, баги, цена, поддержка, фичи, onboarding. Если отзыв относится к нескольким категориям, учитывай в каждой. Если не подходит ни к одной — добавь категорию Other.
2. Для каждой категории выдай:
- Mentions: число уникальных отзывов, где тема упоминается (один отзыв = максимум 1 в категории)
- Quotes: 2-4 дословные цитаты из текста отзывов (не перефразируй, можно обрезать многоточием), до 120 символов, с номерами отзывов
- Interpretation: один осторожный вывод (если данных мало — пиши «недостаточно данных»)
- Recommendation: что сделать
Формат: markdown-таблица со столбцами строго в таком порядке:
Category | Mentions | Quotes | Interpretation | Recommendation
Без вступлений, без выводов после таблицы.
После таблицы добавь блок CHECK:
- У каждой строки есть ≥2 цитаты с реальными номерами отзывов?
- Mentions ≥ количества уникальных номеров в Quotes? (Quotes — примеры, не полный перечень)
- Есть вывод без цитаты? Если да, пометь UNSUPPORTED.
---
Отзывы:
[1] ...
[2] ...
[3] ...
---
Категории можно менять под свой продукт. Если важна интеграция, добавьте. Если нет onboarding, уберите.
Если хотите, чтобы модель сама предложила категории, делайте в два шага. Сначала «прочитай отзывы и предложи 5-7 категорий». Утвердите список. Потом второй промпт с анализом.
До и после
Плохой промпт:
Вот отзывы пользователей, проанализируй их и скажи, что улучшить.
Результат: на первый взгляд выглядит неплохо — структура, категории, даже рекомендации. Но присмотрись: откуда взялось «массово жалуются»? Сколько конкретно человек? Какие именно отзывы? Нет номеров, нет цитат, невозможно проверить. Это может быть правда, а может — галлюцинация модели.
Хороший промпт:
шаблон выше. Диалог можно посмотреть тут.
Результат:
CHECK:
- Цитаты с номерами: да
- Mentions ≥ уникальных номеров: да
- UNSUPPORTED: нет
С улучшенным промптом — другая картина. Баги: 98 упоминаний. Цитаты: [1], [9], [38], [28]. Открываете отзыв [1] — там реально написано «наушники от кейса не заряжаются». Всё сходится.
Когда понесёте результаты руководителю, вас спросят: «Откуда взял, что зарядка — главная проблема?» И вы либо пожимаете плечами, либо говорите: «98 упоминаний, вот примеры». Второе — аргумент. Первое — нет.
Три частые ошибки
1. Не разделять факты и интерпретации. «Пользователи недовольны ценой» это вывод модели или 40 человек написали про цену? Требуйте цитаты с номерами. Нет цитаты, значит додумала.
2. Не фиксировать структуру таблицы. Написали «выдай в виде таблицы» и каждый раз получаете разные колонки. Потом невозможно сравнить результаты по периодам.
3. Просить выводы без доказательств. «Какие главные проблемы?» и модель выдаёт топ-5 из головы, а не из ваших данных.
Если отзывов больше, чем влезает в контекст
Бывает: не 100 отзывов, а 500. Сырой текст в контекст не влезает.
Разбиваете на батчи по 50-100, прогоняете каждый через тот же промпт. На выходе получаете не простыню, а компактную таблицу на 6-7 строк. Пять таких таблиц уже спокойно влезают в один контекст. Дальше отдельным промптом агрегируете: «Вот 5 таблиц с анализом. Объедини: суммируй Mentions, сохрани лучшие цитаты по каждой категории».
Работает, потому что структура фиксированная. Подробнее про работу с большими объёмами будет в отдельном посте.
Опционально: колонка Impact
Если хотите сразу приоритизировать, можно добавить колонку Impact или Severity. Но тогда задайте критерии, иначе модель будет гадать.
Например:
High = блокирует ключевой сценарий (оплата, вход, создание).
Medium = мешает, но есть обходной путь.
Low = косметика.
Без критериев лучше не добавлять.
!!! Больше кейсов на канале “AI для продакта”