CRITIC: Почему самокоррекция LLM требует обратной связи от внешних инструментов
Читая статью CRITIC (Gou et al., ICLR 2024) и размышляя о том, что происходит после того, как финансовый агент совершает ошибку. Техника Reflexion показала нам, что агенты могут учиться на неудачах на протяжении нескольких эпизодов. CRITIC задает более острый вопрос: может ли LLM обнаружить и исправить свои собственные ошибки в рамках одного прохода генерации — и если да, что ей для этого нужно на самом деле?
О статье
CRITIC представляет фреймворк, в котором языковая модель генерирует начальный результат, а затем итеративно проходит через цикл «проверка-исправление» с использованием внешних инструментов — поискового API для проверки фактов, интерпретатора Python для кода и арифметики и классификатора токсичности для модерации контента. Цикл выполняется фиксированное количество итераций (в статье сообщается об эффективных результатах примерно после трех исправлений), выдавая уточненный результат, который авторы оценивают в задачах ответов на вопросы в свободной форме (TriviaQA, AmbigNQ, HotpotQA), математического синтеза программ и снижения токсичности.
Основное утверждение заключается не в том, что LLM могут самокорректироваться самостоятельно. Все почти наоборот: ценность CRITIC заключается именно в том, что критика опирается на внешний сигнал, который модель не может подделать. Без поискового API улучшения в задачах QA сводятся почти к нулю или становятся отрицательными. Фреймворк работает, потому что инструмент сообщает модели то, чего она действительно не знала, а не потому, что модель стан овится надежным самоаудитором.
Основные идеи
- Применительно к ChatGPT, CRITIC достигает улучшения F1-метрики на 7,7 в среднем по трем задачам QA с открытым доменом и абсолютного прироста на 7,0 процентных пунктов в трех бенчмарках математического рассуждения.
- Снижение токсичности — самый впечатляющий результат: вероятность токсичности в оцениваемом наборе данных снизилась на 79,2%.
- Удаление поискового API приводит к тому, что производительность QA либо выходит на плато, либо деградирует — внутренняя способность модели к самокритике почти бесполезна для фактологических задач.
- Цикл сходится быстро: три раунда исправления дают основную часть прироста, далее наблюдается убывающая отдача.
- Фреймворк не зависит от модели и не требует дообучения; он работает с API «черного ящика», включая Text-Davinci-003 и ChatGPT.
- CRITIC превосходит метод self-consistency (голосование большинством по нескольким выбор кам) в большинстве задач, что значимо, так как self-consistency не требует затрат на использование инструментов на каждом шаге.
Что подтверждается, а что нет
Основной эмпирический результат убедителен: обратная связь от внешних инструментов значимо улучшает результаты, а абляционное исследование с удалением поискового API является сокрушительным аргументом против сторонников «наивной» самокоррекции. Авторы честны в описании механизмов — выгода исходит от инструмента, а не от какой-то внезапно возникшей метакогнитивной способности.
Что мне кажется недостаточно изученным, так это таксономия режимов отказа. В каких случаях модель генерирует плохую критику, которая уводит её еще дальше от правильного ответа? В статье приводятся средние показатели, но вариативность по задачам и типам вопросов имела бы огромное значение для практического внедрения. В финансо вом контексте худший исход — это не «отсутствие улучшений», а правдоподобно звучащее исправление, которое вносит новую ошибку.
Выбор ограничения в три итерации также представлен скорее как практическое удобство, чем как принципиальный критерий остановки. Три раунда могут работать для TriviaQA, где есть эталонный ответ, к которому можно прийти. В таких областях, как сверка реестров (reconciliation), где «правильный» ответ требует рассуждений на основе нескольких документов и доменных знаний, неочевидно, что трех вызовов инструментов будет достаточно — или что поисковый API общего назначения вообще предоставит верный сигнал для верификации.
Сопутствующая статья ICLR 2024 «Large Language Models Cannot Self-Correct Reasoning Yet» (Huang et al., arXiv:2310.01798) подтверждает выводы CRITIC с другой стороны: без внешней обратной связи самокоррекция закономерно снижает точность рассуждений. Эти две работы вместе формируют целостную картину: то, что люди называли «самокоррекцией», на самом деле является уточнением на основе внешней обратной связи, и это различие принципиально.
Почему это важно для ИИ в финансах
Цикл CRITIC естественным образом накладывается на проблему безопасности обратной записи (write-back safety) в агентах Beancount. Сейчас, когда LLM-агент предлагает запись в журнале — например, категоризацию транзакции или разбивку расхода — у него нет принципиального способа проверить свой собственный результат перед сохранением на диск. Архитектура CRITIC предлагает конкретный паттерн: сгенерировать черновик записи, затем запустить верификацию с помощью инструмента (функция проверки баланса, движок правил, детектор дубликатов) и использовать результат работы инструмента для инициации пересмотра перед тем, как запись будет зафиксирована.
Результат по токсичности — это аналогия, которую я нахожу полезной: снижение нарушений политик на 79,2% происходит не из-за того, что модель усвоила правила, а благодаря классификатору, который сообщает модели о нарушениях. Для реестра Beancount эквивалентом бы л бы чекер правил, который помечает дважды учтенные транзакции или нарушения категорий и передает этот сигнал в фазу пересмотра агента. Агенту не нужно самостоятельно знать, что правила нарушены; ему нужен сигнал от инструмента.
Критическим ограничением для финансов является зависимость от поискового API. Финансовым агентам нужны инструменты верификации, специфичные для предметной области: проверка целостности остатков на счетах, валидаторы плана счетов, поиск налоговых правил. Обычный поиск в сети вряд ли поможет выявить неправильно классифицированный расход. Создание правильного инструментального слоя для коррекции в стиле CRITIC в бухгалтерском учете — это и есть настоящая инженерная работа, а дизайн доменно-специфичных инструментов в статье не рассматривается вовсе.
Что почитать дальше
- «Large Language Models Cannot Self-Correct Reasoning Yet» (Huang et al., 2023, arXiv:2310.01798) — прямой эмпирический аргумент о том, что внутренняя самокоррекция не работает; стоит читать вместе с CRITIC, так как они исследуют один и тот же механизм с противоположных сторон.
- «Tree of Thoughts: Deliberate Problem Solving with Large Language Models» (Yao et al., NeurIPS 2023, arXiv:2305.10601) — расширяет идею однопутевой критики и исправления до дерева поиска по промежуточным шагам; актуально для многоэтапной сверки, где агенту нужно исследовать варианты и возвращаться назад.
- «ToolBench: Facilitating Large Language Models in Mastering 16000+ Real-world APIs» (Qin et al., 2023, arXiv:2307.16789) — исследует, как агенты учатся выбирать и выстраивать цепочки вызовов инструментов, что является фундаментальной проблемой, которую CRITIC принимает как данность.
