Перейти к контенту

LLM пока не могут самостоятельно исправлять свои рассуждения — выводы ICLR 2024 и последствия для ИИ в финансах

· 6 мин чтения
Mike Thrift
Mike Thrift
Marketing Manager

Эта статья является прямым контраргументом к работам линеек CRITIC и Reflexion, которые я изучал ранее. Хуанг и др. (ICLR 2024) приводят простой и неудобный аргумент: когда LLM пытаются самостоятельно исправить свои рассуждения без какого-либо внешнего сигнала, они не улучшают результат, а ухудшают его. Появившись сразу после LOG-013 о CRITIC, где критика с опорой на инструменты действительно помогала, эта работа проясняет, какой вид «самокоррекции» является реальным, а какой — лишь артефактом экспериментальной установки.

О статье

2026-04-28-llms-cannot-self-correct-reasoning-yet

Работа «Large Language Models Cannot Self-Correct Reasoning Yet» авторов Jie Huang, Xinyun Chen, Swaroop Mishra, Huaixiu Steven Zheng, Adams Wei Yu, Xinying Song и Denny Zhou (Google DeepMind / UIUC) была опубликована на ICLR 2024. Основной тезис узок, но сокрушителен для определенного класса архитектур агентов: внутренняя самокоррекция — когда LLM просят пересмотреть и изменить свой ответ, полагаясь только на собственные суждения без эталонного сигнала — стабильно снижает производительность в тестах на логику. Авторы утверждают, что успехи, описанные в предыдущих статьях о самокоррекции, вызваны тонким методологическим изъяном: в тех работах использовались «метки оракула» для остановки процесса коррекции. Это означало, что модель исправляла только заведомо неверные ответы. Это не самокоррекция, а фильтрация под руководством оракула.

Ключевые идеи

  • В тесте GSM8K точность GPT-4 изначально составляет 95,5%. После одного раунда внутренней самокоррекции она падает до 91,5%, а после второго — до 89,0%. GPT-3.5 за два раунда снижается с 75,9% до 74,7%.
  • Еще более драматично падение в CommonSenseQA: GPT-3.5 падает с 75,8% до 38,1% всего за один раунд самокоррекции, немного восстанавливаясь до 41,8% во втором раунде, но все равно оставаясь катастрофически ниже базового уровня.
  • Анализ изменений ответов в GSM8K показывает, что модель чаще меняет правильные ответы на неправильные, чем наоборот. Общее направление изменений — негативное.
  • Самокоррекция под руководством оракула действительно дает результаты: GPT-4 на GSM8K с метками оракула поднимается с 95,5% до 97,5%, а GPT-3.5 на CommonSenseQA — с 75,8% до 89,7%. Но это требует знания о том, какие ответы неверны, чего невозможно добиться при реальной эксплуатации.
  • Дебаты между несколькими агентами (еще одна популярная идея) уступают простому методу самосогласованности (self-consistency) при равном вычислительном бюджете. При 9 ответах самосогласованность достигает 88,2% на GSM8K, в то время как многоагентные дебаты — только 83,0%.
  • Генерация с ограничениями (CommonGen-Hard) на первый взгляд кажется победой самокоррекции (44% → 67%), но этот прирост исчезает, если просто улучшить начальный промпт (81,8%). Если исходный промпт уже хорош, самокоррекция вредит, снижая точность до 75,1%.

Что подтверждается, а что — нет

Основной вывод убедителен: цифры говорят сами за себя. Если просить GPT-4 перепроверить свои математические ответы, не говоря, какие из них неверны, в среднем ответы становятся хуже. Интуиция авторов также верна: LLM не могут надежно оценивать правильность собственных рассуждений. Поэтому, когда они решают изменить ответ, они просто гадают, и ошибаются при этом как минимум так же часто, как угадывают верно.

Менее убедительными кажутся претензии статьи на обобщение. Исследование проводилось исключительно на задачах на логику и знания. Существуют области — стиль письма, соблюдение формальных ограничений, снижение токсичности — где итеративная доработка, вероятно, помогает, и статья обходит их стороной. Авторы вскользь признают это, отмечая, что «самокоррекция может быть эффективнее в задачах, где оценка проще», но не тестируют это детально. Эксперимент с CommonGen на генерацию с ограничениями показателен, но использование неадекватного начального промпта в качестве базы и называние последующего улучшения «самокоррекцией» — это тот же методологический изъян, который статья критикует в других работах.

Также в статье не рассматривается вопрос обученной самокоррекции. Последующая работа 2025 года (SCoRe, ICLR 2025, arXiv:2409.12917) показывает, что самокоррекция, обученная с помощью RL на собственных выходных данных модели, дает +15,6% на MATH и +9,1% на HumanEval — это реальное внутреннее улучшение. Таким образом, заголовок «пока не могут» (cannot... yet) оказался пророческим; правильная интерпретация звучит так: «нельзя заставить модель самокорректироваться простым промптом», а не «модель не может научиться самокоррекции».

Почему это важно для ИИ в сфере финансов

Последствия для агентов обратной записи в гроссбух вполне конкретны. Агент, который генерирует журнальную запись Beancount, а затем спрашивает себя «выглядит ли это правильно?» и вносит правки, не получает «второго мнения» — он лишь вносит шум. Данные показывают: если первый ответ был неверным, самопроверка с такой же вероятностью испортит правильный ответ, как и исправит ошибку.

Эта статья подтверждает архитектурное ограничение, которое я вывел из CRITIC: самовалидация без внешнего оракула ненадежна. Для Beancount такой внешний оракул доступен и дешев — проверки баланса (balance assertions) выполняются за миллисекунды, названия счетов проверяются по известному плану счетов, суммы должны сходиться до копейки. Архитектура агента, которая отправляет предварительную запись, запускает bean-check и возвращает любую ошибку в виде структурированной обратной связи, принципиально отличается от той, которая просит модель «проверить свою журнальную запись». Первая использует движок Beancount как оракула. Вторая полагается на тот же механизм рассуждений, который и породил ошибку.

Здесь также кроется тонкий урок по составлению промптов. Эксперимент с CommonGen показал: если промпт изначально точен и подробен, самокоррекция только мешает. Это значит, что если мы вкладываем усилия в написание предельно четких промптов для парсинга транзакций (где явно указаны все правила синтаксиса Beancount), добавление цикла самопроверки поверх них может фактически снизить точность. Правильная архитектура, вероятно, должна запускать самопроверку только при провале внешнего теста, а не при каждой генерации.

Что почитать дальше

  • SCoRe: Training Language Models to Self-Correct via Reinforcement Learning (arXiv:2409.12917, ICLR 2025) — подход на основе обучения с подкреплением, который достиг первых реальных успехов во внутренней самокоррекции; необходимый контекст для понимания границ применимости текущей статьи.
  • When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMs (TACL 2024) — систематическая таксономия случаев, когда самокоррекция работает, с разделением на внутреннюю, основанную на обучении и с использованием инструментов.
  • Self-Refine: Iterative Refinement with Self-Feedback (NeurIPS 2023) — основная работа, которую критикуют Хуанг и др.; чтение этих статей подряд проясняет, где именно закралось допущение о «метках оракула».