Практика: декомпозиция аналитической задачи

Практика: декомпозиция аналитической задачи

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

Задача

Менеджер продукта хочет понять, что клиенты говорят о новом приложении. У него есть 4 отзыва из открытых источников. Нужно подготовить аналитическую записку: о чём говорят, что хвалят, что ругают, какие есть предложения.

Шаг 0: Попытка решить одним промптом

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

Отзывы:
1. "Отличный дизайн! Но приложение часто вылетает."
2. "Удобно, но почему так дорого? 500 ₽ в месяц — это грабёж."
3. "Тёмная тема — супер. Не хватает экспорта в PDF."
4. "Интерфейс дружелюбный. Быстро загружается. Всё нравится!"

Ответ (одним промптом, без декомпозиции):

Общая тональность: смешанная. Пользователи хвалят дизайн
и интерфейс, но жалуются на цену и отсутствие экспорта в PDF.

Результат поверхностный: модель не разобрала каждый отзыв отдельно, смешала все плюсы и минусы в общую кашу, проигнорировала жалобу на вылеты.

Шаг 1: Извлечение (prompt 1)

Извлеки из каждого отзыва ключевую информацию. Верни JSON-массив
из 4 объектов с полями:
- id: номер отзыва,
- sentiment: positive / negative / mixed,
- praise: что хвалят (строка или null),
- complaint: на что жалуются (строка или null),
- suggestion: что предлагают (строка или null).

Отзывы:
1. "Отличный дизайн! Но приложение часто вылетает."
2. "Удобно, но почему так дорого? 500 ₽ в месяц — это грабёж."
3. "Тёмная тема — супер. Не хватает экспорта в PDF."
4. "Интерфейс дружелюбный. Быстро загружается. Всё нравится!"

Выход Шага 1:

[
  {"id": 1, "sentiment": "mixed", "praise": "дизайн", "complaint": "приложение вылетает", "suggestion": null},
  {"id": 2, "sentiment": "negative", "praise": "удобство", "complaint": "высокая цена (500 ₽/мес)", "suggestion": null},
  {"id": 3, "sentiment": "mixed", "praise": "тёмная тема", "complaint": null, "suggestion": "добавить экспорт в PDF"},
  {"id": 4, "sentiment": "positive", "praise": "интерфейс, скорость загрузки", "complaint": null, "suggestion": null}
]

Проверка: все 4 отзыва на месте? ✓. Поля заполнены корректно? Отзыв 3: «Не хватает экспорта» → suggestion, не complaint — верно. Отзыв 2: praise + complaint = mixed, но модель поставила negative — спорно, но допустимо (жалоба перевешивает). Принимаем.

Шаг 2: Агрегация (prompt 2)

Просуммируй результаты анализа из JSON ниже. Напиши краткую сводку:

- Общая тональность (одно предложение).
- Топ позитивных моментов (2–3 пункта).
- Топ проблем (2–3 пункта).
- Топ предложений (если есть).
- Вывод: главное, что нужно исправить в первую очередь.

JSON:
[результат Шага 1]

Выход Шага 2:

Общая тональность: смешанная с преобладанием позитива — 1 чисто
позитивный, 2 смешанных, 1 негативный.

Топ позитивных моментов:
- Дизайн и интерфейс — хвалят в отзывах 1, 2, 4.
- Скорость работы — отмечена в отзыве 4.
- Дополнительные фичи (тёмная тема) — отзыв 3.

Топ проблем:
- Технические проблемы: приложение вылетает (отзыв 1).
- Высокая цена: 500 ₽/мес воспринимается как «грабёж» (отзыв 2).
- Отсутствие экспорта в PDF (отзыв 3).

Топ предложений:
- Добавить экспорт в PDF.

Вывод: в первую очередь нужно исправить техническую проблему
с вылетами — это самый критичный баг. Затем — пересмотреть
ценообразование (или объяснить ценность) и добавить экспорт в PDF.

Проверка: все категории отзывов учтены? ✓. Вывод логичен? ✓. Конкретные рекомендации есть? ✓.

Шаг 3: Форматирование (prompt 3)

Оформи аналитическую записку в Markdown для презентации команде.

Структура:
## Что говорят пользователи: анализ отзывов
**Общая оценка:** [тональность]
### Что нравится
- ...
### Что не нрав
- ...

### Предложения пользователей
- ...

### Приоритеты на ближайший спринт
1. ...
2. ...
3. ...

Используй данные из сводки:
[результат Шага 2]

Финальный выход — готовая аналитическая записка в Markdown. Сразу в презентацию.

Что дала декомпозиция

Без декомпозицииС декомпозицией
Поверхностный обзорДетальный разбор каждого отзыва
Смешаны плюсы и минусыЧёткое разделение praise/complaint/suggestion
Нет проверкиКаждый шаг проверен
Нет приоритетовКонкретные приоритеты на спринт

Проверь себя

Дана задача: «Из 5 описаний вакансий выбери 2 лучшие для отклика». Спроектируй декомпозицию из 3 шагов. Для каждого шага опиши: что делает, какой формат входа/выхода, что проверяешь.

Итог

  • Декомпозиция превращает размытую задачу в производственный конвейер.
  • Шаг 1: извлечение данных в структурированный формат.
  • Шаг 2: агрегация и анализ.
  • Шаг 3: форматирование под аудиторию.
  • Между шагами — проверка. Ошибка на раннем шаге дешевле, чем переписывание всей записки.

Что дальше

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

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике