Урок 22Новое

Self-Refine

Генерация → самокритика → правка

Проблема: Первый черновик модели редко бывает лучшим. Как заставить ту же модель улучшить свой собственный вывод — без дообучения и без обратной связи от человека?

Решение: Редактируй свой черновик

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

Как работает цикл

Цикл прост: генерация → self-feedback → правка, повторяемый. Сначала модель выдаёт начальный ответ. Затем — и это ключевой шаг — она пишет конкретную, точечную самокритику, а не расплывчатое «попробуй ещё раз»: «функция не обрабатывает пустой список» или «второй абзац повторяет первый». Именно явная, адресная обратная связь делает следующую правку реально лучше; голый повтор просто пересэмплирует и обычно воспроизводит те же недостатки. Наконец модель переписывает ответ с учётом обратной связи, и цикл повторяется.

Когда останавливаться — и связь с другими техниками

Останавливайся по критерию остановки: максимальное число итераций (обычно 2–4) или плато качества, когда критика перестаёт находить значимые проблемы. Чрезмерное улучшение может навредить: когда ответ уже верный, лишние круги добавляют многословия или перепроверяют правильный ответ в неправильный, поэтому ограничивай цикл. Self-Refine отличается от своих «родственников»: Reflexion хранит вербальную память между эпизодами, чтобы учиться на провалах со временем, а Chain of Verification узко проверяет факты. Self-Refine же шлифует качество одного ответа в рамках одного эпизода.

Представьте это как писатель, редактирующий свой черновик — написать, критически прочитать, переписать, повторить:

  • 1. Генерация: Создать первый вариант ответа
  • 2. Самокритика: Дать конкретную, предметную обратную связь на свой вывод
  • 3. Переписать: Переписать ответ с учётом этой обратной связи
  • 4. Повторить или остановиться: Повторять до критерия остановки или плато качества

Где это используется?

  • Исправление и рефакторинг кода: Модель проверяет свой код, находит баги и слабые места и переписывает его
  • Шлифовка текста и тона: Критика ясности, структуры и тона, затем переписывание черновика
  • Исправление в математике: Перепроверка каждого шага и исправление арифметических или логических ошибок
  • Починка структурированного вывода: Валидация JSON/схемы, затем починка полей, нарушающих правила

Интересный факт: Self-Refine работает потому, что критика явная: расплывчатое «улучши это» почти не помогает, а конкретная обратная связь вроде «строка 4 падает на пустом вводе» даёт редактору что исправлять — поэтому цикл самокритики бьёт простую повторную генерацию ответа.

Попробуйте сами!

Используй интерактивный пример ниже, чтобы увидеть, как черновик превращается в отшлифованный ответ за итерации self-refine, и как растёт шкала качества с каждым кругом.

Self-Refine — Генерация, Самокритика, Правка

🔁 Одна модель играет три роли — генератор, критик, редактор — повторяя цикл генерация → self-feedback → правка, пока ответ не станет достаточно хорошим.

Выбери пример:
Режим:
Задача:

Напиши однострочный слоган для приложения заметок.

Качество
🔄 Цикл Self-Refine:
Генерация
Self-feedback
Правка
Стоп на плато
Ключевая идея

Конкретная и применимая самокритика — вот что делает правку лучше. В этом примере один проход даёт 45%, а цикл self-refine доходит до 92% — в среднем около 20% прироста на задачах, без всякого дообучения.

Частые вопросы

Что такое Self-Refine и как работает цикл?

Self-Refine — это техника промптинга, где одна и та же модель генерирует ответ, пишет конкретную обратную связь на свой вывод (self-critique, самокритику), а затем переписывает его с учётом этой обратной связи — повторяя цикл генерация → self-feedback → правка. Одна модель играет три роли: генератор, критик и редактор. Метод не требует ни дообучения, ни обратной связи от человека, но улучшает качество в среднем примерно на 20% на разных задачах.

Чем Self-Refine отличается от Reflexion и Chain-of-Verification?

Все три добавляют цикл самоулучшения, но решают разные задачи. Self-Refine шлифует качество одного ответа через самокритику и переписывание в рамках одного эпизода. Reflexion хранит вербальную память между эпизодами или попытками, учась на провалах со временем. Chain-of-Verification узко сфокусирован на проверке фактов — генерирует проверочные вопросы и отвечает на них независимо. Бери Self-Refine для итеративного улучшения качества, Reflexion — для обучения за несколько попыток, а CoVe — для фактической точности.

Когда останавливать улучшение и может ли оно навредить?

Останавливайся по чёткому критерию: максимальное число итераций (обычно 2–4) или плато качества, когда обратная связь перестаёт находить значимые проблемы. Да, чрезмерное улучшение может навредить — когда ответ уже верный, лишние круги добавляют многословия, перепроверяют правильный ответ в неправильный или уводят от исходных требований. Ограничивай цикл и останавливайся, когда критика возвращает «существенных правок не требуется».

Попробуй сам

Интерактивное демо этой техники

Сравнение техник
Демо режим
Предзаписанные ответы
ЗадачаСреднийТекст

Напиши однострочный слоган для приложения заметок.

Без техники
Без техники
Промпт
Напиши однострочный слоган для приложения заметок.
Ответ

«Хорошее приложение для ваших заметок.»

Токены:18/12
Время:280ms
Качество:
С techniques-self-refine
С техникой
Промпт
Напиши однострочный слоган для приложения заметок. Затем примени self-refine (макс. 2 итерации): 1. Генератор: напиши черновик 2. Критик: дай конкретную самокритику (что именно слабо) 3. Редактор: перепиши с учётом критики Остановись, когда критика не находит значимых проблем.
Ответ

Черновик 1: «Хорошее приложение для ваших заметок.»

🔍 Самокритика: «Хорошее приложение» — общие слова. Нет выгоды и эмоции для читателя.

Черновик 2: «Лови каждую идею, пока она не ускользнула.»

🔍 Самокритика: Уже есть выгода, но можно короче и резче.

Финал: «Больше ни одной потерянной мысли.»

✅ Критика не находит значимых проблем — останавливаюсь.

👁️Генерация: общий слоган «Хорошее приложение…»
🧠Самокритика: общие слова, нет выгоды
✏️Правка: добавил выгоду, затем сжал до яркой фразы
Плато: критика не находит проблем — стоп
Токены:78/130
Время:760ms
Качество:
Почему это работает

Конкретная самокритика («общие слова, нет выгоды») превращает банальный черновик в яркий слоган за 2 итерации — и цикл останавливается на плато, а не крутится бесконечно.

1 / 2

Квиз по уроку

1 из 4

1.Каковы шаги цикла Self-Refine по порядку?

Практика

Создайте бесплатный аккаунт для решения челленджей

3 челленджей с AI-проверкой для этого урока

Связанные уроки:ReflexionChain Of Verification

Этот урок — часть структурированного курса по LLM.

Мой путь обучения