Итеративное уточнение
Итеративное уточнение
Prompt chaining (предыдущий урок) — это когда шаги спланированы заранее. Но в реальной работе ты часто не знаешь идеальный промпт с первой попытки. Ты отправляешь запрос, смотришь на ответ, улучшаешь промпт, отправляешь снова. Это и есть итеративное уточнение — цикл «промпт → ответ → улучшение промпта → ответ».
Цикл итерации
Промпт v1 → Ответ неудовлетворительный
↓
Анализ: что именно не так?
↓
Промпт v2 (с исправлениями) → Ответ лучше, но...
↓
Анализ: что ещё поправить?
↓
Промпт v3 (финальные правки) → Готово
В отличие от prompt chaining, где шаги разные, здесь один и тот же шаг повторяется с улучшениями.
Пример: итерации на практике
Задача: получить от модели краткое, энергичное описание продукта для лендинга.
Итерация 1:
Напиши описание нашего сервиса для лендинга. Сервис: доставка
продуктов за 30 минут.
Ответ 1:
Наш сервис предлагает быструю и удобную доставку свежих продуктов
прямо к вашему порогу. Мы работаем с проверенными поставщиками
и гарантируем качество каждого товара. Время доставки составляет
не более 30 минут с момента оформления заказа.
Анализ: слишком сухо, напоминает текст из буклета банка. Нет энергии. Длинные предложения.
Итерация 2 (добавляем стиль и verbosity):
Напиши описание сервиса доставки продуктов для лендинга.
Сервис: доставка за 30 минут.
Стиль: энергичный, короткие фразы, как в рекламе.
Объём: 2–3 коротких предложения, не более 40 слов всего.
Без слов «предлагает», «гарантирует», «является».
Ответ 2:
Продукты у двери через 30 минут. Свежие, от проверенных фермеров.
Закажи сейчас — получи к ужину.
Анализ: лучше. Энергичнее, короче. Но нет конкретики — какие продукты? какой город?
Итерация 3 (добавляем конкретику):
Напиши описание сервиса доставки продуктов для лендинга.
Сервис: доставка за 30 минут в Москве. Ассортимент: овощи, фрукты,
молочка, хлеб от локальных производителей.
Стиль: энергичный, короткие фразы, как в рекламе.
Объём: 2–3 предложения, не более 40 слов.
Без «предлагает», «гарантирует», «является».
Ответ 3:
Овощи с грядки, хлеб из пекарни, молоко с фермы — у вашей двери
за 30 минут. Только локальные продукты, только по Москве.
Закажите сейчас.
Три итерации — от скучного текста к живому, конкретному описанию.
Что улучшать от итерации к итерации
Не меняй всё сразу. На каждой итерации фокусируйся на одном аспекте:
| Итерация | Фокус | Что меняем |
|---|---|---|
| 1 | Содержание | Правильно ли модель поняла задачу? |
| 2 | Стиль и тон | Тот ли голос у текста? |
| 3 | Формат и verbosity | Та ли длина? Тот ли формат? |
| 4 | Точность | Все ли факты верны? Нет ли выдумок? |
Правило трёх итераций
Если после трёх итераций результат всё ещё неудовлетворительный — не продолжай. Остановись и подумай:
- Может, задача слишком сложна для одного промпта? → Декомпозируй.
- Может, не хватает примеров? → Few-shot.
- Может, модель не знает этих фактов? → Дай информацию в промпте.
- Может, ожидания нереалистичны? → Пересмотри требования.
Три итерации — эмпирический предел. Дальше — убывающая отдача и рост frustration.
Итерация vs спор с моделью
Итеративное уточнение — это НЕ «модель, ты не права, переделай». Это «я недостаточно точно описал задачу, давай уточню».
Плохо (спор): «Нет, это не то. Сделай веселее.» «Всё равно не то. Ещё веселее.» «Ты что, не можешь нормально сделать?!»
Хорошо (итерация): «Слишком формально. Перепиши в стиле разговора с другом: используй "ты", добавь лёгкий юмор. Вот пример: "..."»
Каждая итерация уточняет инструкцию, а не просто говорит «переделай».
Проверь себя
Ты просишь модель написать пост для соцсетей. Первый ответ — слишком длинный и скучный. Что напишешь во второй итерации?
Пример ответа: «Слишком длинно — сократи до 3–4 коротких предложений. Убери вводные фразы вроде "В современном мире" и "Как известно". Начни с вопроса к читателю. Используй "ты", а не "вы".»
Итог
- Итеративное уточнение — цикл «промпт → анализ ответа → улучшение промпта → новый ответ».
- Каждая итерация фокусируется на одном аспекте: содержание → стиль → формат → точность.
- После трёх итераций без успеха — меняй подход: декомпозиция, few-shot, больше данных.
- Итерация — это уточнение своих инструкций, а не спор с моделью.
Что дальше
Prompt chaining даёт цепочку шагов, итерация улучшает каждый шаг. Но как понять, что промежуточный результат правильный? В следующем уроке — проверка промежуточных результатов: что и как валидировать, чтобы не тащить ошибку через всю цепочку.