Self‑refine prompting

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Self-Refine (самоуточнение или самокоррекция) — это подход в области промпт-инжиниринга, позволяющий большим языковым моделям (LLM) итеративно улучшать сгенерированный ответ на основе собственной же обратной связи[1]. Идея была предложена группой исследователей под руководством Амана Мадаана в 2023 году и основана на наблюдении, что, подобно человеку, языковые модели не всегда генерируют наилучший результат с первой попытки.

В данном методе одна и та же LLM последовательно выполняет три роли:

  1. Генератор (Generator): создаёт начальный черновой ответ на запрос.
  2. Критик (Feedback): оценивает собственный же ответ и предоставляет конструктивную обратную связь.
  3. Редактор (Refiner): использует эту обратную связь для создания улучшенной версии ответа.

Этот итеративный цикл «генерация → обратная связь → улучшение» может повторяться несколько раз, пока не будет достигнуто требуемое качество или выполнено условие остановки.

Важно, что Self-Refine не требует дополнительного обучения модели, тонкой настройки или внешних данных — весь процесс управляется исключительно через промпты на этапе вывода (inference)[1].

Механизм реализации

Метод Self-Refine реализуется через последовательность специально сконструированных промптов, которые направляют поведение модели.

  1. Начальная генерация. Модель получает исходный промпт и генерирует черновой ответ.
  2. Создание обратной связи. Модель получает инструкцию проанализировать свой же предыдущий ответ и выявить в нём недостатки. Например, она может отметить, что ответ недостаточно подробен или содержит логическую ошибку. Результатом является текстовая обратная связь с конкретными замечаниями и рекомендациями.
  3. Итеративное улучшение. Модель получает в качестве нового промпта исходный запрос, свой первоначальный ответ и сгенерированную обратную связь. На основе этого она создаёт улучшенную версию ответа.

Этот двухшаговый цикл «критика → редакция» может выполняться несколько раз. В контекст каждой новой итерации включаются предыдущие варианты ответа и комментарии, что помогает модели избегать повторения ошибок[2]. Для управления поведением модели часто используются техники few-shot prompting, где в промпт включаются примеры желаемого формата обратной связи и исправлений.

Эффективность и применение

Метод Self-Refine продемонстрировал свою эффективность на ряде задач, требующих многократного уточнения, таких как:

  • Генерация диалоговых ответов.
  • Творческое продолжение истории.
  • Решение математических задач пошаговым рассуждением.
  • Оптимизация программного кода.

В оригинальном исследовании ответы, полученные с помощью Self-Refine, в среднем оказались на ~20% более предпочтительными по оценкам людей и автоматических метрик по сравнению с одноэтапной генерацией[1]. Улучшение достигалось даже для самых современных моделей, таких как GPT-4, что указывает на то, что даже мощным LLM часто не хватает лишь дополнительного шага размышления для исправления собственных ошибок.

Схожие подходы, такие как RCI (Recursive Criticism and Improvement), также показали высокую эффективность в интерактивных задачах, например, в управлении компьютером и решении логических задач. Сочетание RCI с техникой «цепочки мыслей» (Chain-of-Thought) дало синергетический эффект, заметно улучшив способность модели решать сложные проблемы за счёт встроенного шага самопроверки[3].

Ограничения и текущие исследования

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

  • Само-предвзятость (self-bias): У моделей возникает трудность беспристрастно судить свои же ответы. LLM склонны благосклонно воспринимать собственный сгенерированный текст и недостаточно критично его оценивать, что может приводить к стагнации или даже ухудшению качества после нескольких итераций[4].
  • Чрезмерная уверенность: Было замечено, что с ростом числа итераций самокоррекции модель может приобретать чрезмерную уверенность в своих ответах, даже если они не стали точнее. Это приводит к росту показателя Expected Calibration Error (ECE) — рассогласования между уверенностью модели и реальной точностью[5].
  • Вычислительные затраты: Метод требует нескольких обращений к LLM для получения одного финального ответа, что значительно увеличивает задержку и стоимость по сравнению с однопроходной генерацией.

Текущие исследования направлены на решение этих проблем. Одно из направлений — внедрение механизмов калибровки уверенности на каждом шаге итерации. Другое — привлечение внешних источников информации или инструментов (например, выполнение кода, поиск данных) для более объективной самооценки[6].

Сравнение с другими техниками

  • Chain-of-Thought (CoT): CoT фокусируется на генерации линейной цепочки рассуждений, чтобы прийти к ответу. Self-Refine, в свою очередь, фокусируется на итеративном улучшении уже сгенерированного ответа (который может включать CoT).
  • Tree of Thoughts (ToT): ToT исследует множество параллельных путей рассуждения в виде дерева, в то время как Self-Refine улучшает один путь итеративно. ToT — это техника исследования пространства решений, а Self-Refine — техника оптимизации конкретного решения.

Ссылки

Литература

  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Kim, G. et al. (2023). Language Models Can Solve Computer Tasks. arXiv:2303.17491.
  • Gou, Z. et al. (2023). CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing. arXiv:2305.11738.
  • Huang, J. et al. (2023). Large Language Models Cannot Self-Correct Reasoning Yet. arXiv:2310.01798.
  • Pan, L. et al. (2023). Automatically Correcting Large Language Models: Surveying the Landscape of Diverse Self-Correction Strategies. arXiv:2308.03188.
  • Jiang, C. et al. (2024). Importance Weighting Can Help Large Language Models Self-Improve. arXiv:2408.09849.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Zhu, D. et al. (2025). Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models. arXiv:2504.02902.
  • Hao, Q. et al. (2025). RL of Thoughts: Navigating LLM Reasoning with Inference-time Reinforcement Learning. arXiv:2505.14140.
  • Cui, Y. et al. (2023). Check Your Facts and Try Again: Improving Large Language Models by Reducing Hallucination. arXiv:2302.12813.
  • Wei, Z. et al. (2024). ReSearch: Iterative Self-Reflection for Better LLM Calibration. arXiv:2405.13022.

Примечания

  1. 1,0 1,1 1,2 Madaan, Aman; et al. «Self-Refine: Iterative Refinement with Self-Feedback». arXiv. [1]
  2. «Self-Refine: Iterative Refinement with Self-Feedback». Официальный сайт проекта. [2]
  3. Kim, Geunwoo; et al. «Language Models can Solve Computer Tasks». arXiv. [3]
  4. Huang, Jie; et al. «Large Language Models Cannot Self-Correct Reasoning Yet». arXiv. [4]
  5. Zhu, D., et al. (2025). «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [5]
  6. «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [6]