3,583 papers
arXiv:2602.03485 72 3 фев. 2026 г. FREE

EDS (Experience-Driven Suppression): остановка избыточной самопроверки в рассуждениях LLM

КЛЮЧЕВАЯ СУТЬ
Парадокс: на простых задачах модель делает больше самопроверок чем на сложных. Но 85-95% этих проверок бесполезны — просто подтверждают уже правильные шаги, пересчитывают таблицу умножения, проверяют очевидную арифметику. Результат: треть reasoning-токенов впустую. Метод EDS позволяет сократить рассуждения на 20% без потери точности, научив модель пропускать подтверждающие проверки. Фишка: система собирает опыт — какие проверки находили ошибки, какие только подтверждали правильность. Когда модель начинает проверку — смотрит базу похожих случаев. Если раньше 9 из 10 таких проверок были впустую → вставляет текст 'это не требует проверки, двигайся дальше'. Модель следует директиве и переходит к следующему шагу.
Адаптировать под запрос

TL;DR

EDS (Experience-Driven Suppression) — метод, который учит модель не перепроверять промежуточные результаты там, где это почти никогда не находит ошибок. Работает через базу "опыта": собирает случаи самопроверки из прошлых рассуждений, смотрит какие проверки были полезны (нашли ошибку), а какие бесполезны (просто подтвердили правильность). Во время reasoning детектирует начало проверки, ищет похожие случаи в базе опыта и если раньше такие проверки редко что-то исправляли — вставляет текст типа "это не требует проверки, двигайся дальше".

Исследователи обнаружили системную проблему в reasoning-моделях: 85-95% всех самопроверок бесполезны — они только подтверждают уже правильные шаги, но не находят ошибок. При этом такие проверки (recheck) составляют 40-58% всех рефлексивных шагов и съедают треть токенов рассуждений. Модели особенно много перепроверяют на простых задачах, где это меньше всего нужно. Проблема в том, что LLM не умеет оценивать когда проверка действительно нужна — она проверяет всё подряд: и сложные выводы, и очевидные вычисления типа "2+2=4". Это как студент, который перерешивает таблицу умножения перед каждым следующим шагом.

Метод решает через "опыт": если на конкретных математических операциях (взятие производной, проверка ограничений) модель раньше 100 раз проверяла и 95 раз просто подтверждала правильность — значит в 101-й раз проверка скорее всего тоже не нужна. Система детектирует момент начала проверки, смотрит в базу похожих случаев, считает процент бесполезных проверок и если он высокий — вставляет сигнал подавления. Модель видит этот текст и переходит к следующему шагу вместо перепроверки.

🔬

Схема метода

ОФЛАЙН (подготовка базы опыта):

ШАГ 1: Собрать reasoning-роллауты модели на задачах
ШАГ 2: GPT-5 размечает где модель делает recheck (самопроверку)
ШАГ 3: GPT-5 аннотирует каждый recheck: необходимый (нашёл ошибку) или лишний (просто подтвердил)
ШАГ 4: Сохранить → база опыта {контекст проверки, метка нужна/не нужна}

ОНЛАЙН (inference с подавлением):

ШАГ 1: Модель генерирует reasoning → классификатор детектирует начало recheck
ШАГ 2: Взять контекст перед проверкой → найти топ-k похожих случаев в базе опыта (BM25)
ШАГ 3: Посчитать % лишних проверок среди найденных → если >порога
ШАГ 4: Вставить в генерацию: "Это не требует проверки, перехожу к следующему шагу" → модель пропускает recheck
📌

Ключевая находка исследования

Исследователи разделили рефлексию (reflection) в LLM на два типа:

Rethink (переосмысление) — модель меняет стратегию решения, пробует другой подход, переформулирует проблему. Это полезно и нужно.

Recheck (самопроверка) — модель перепроверяет уже выведенный промежуточный результат: пересчитывает, проверяет ограничения, тестирует на корректность. Может быть двух видов: - Corrective (корректирующая) — находит ошибку и исправляет → полезна - Confirmatory (подтверждающая) — просто подтверждает правильность → бесполезна

Главная находка: 85-95% всех recheck — confirmatory. Модель тратит токены на проверки, которые почти никогда не меняют результат.

Примеры измерений (Qwen3-8B): - MATH500: 58% рефлексий это recheck, из них 95% confirmatory - AMC23: 52% рефлексий это recheck, из них 92% confirmatory - AIME24: 40% рефлексий это recheck, из них 85% confirmatory

Парадокс: на простых задачах (MATH500) модель делает больше рефлексии, чем на сложных (AIME). Но эта рефлексия почти вся — бесполезная самопроверка.

🧠

Почему это работает

Слабость LLM: Модель не умеет оценивать нужна ли проверка. Она работает по паттерну "сделал шаг → проверь" безусловно, даже когда проверять очевидно правильные вещи. Модель не помнит что "взятие производной x² уже 100 раз работало корректно" — каждый раз для неё как первый. Результат: треть токенов тратится на перепроверку таблицы умножения и простых формул.

Сильная сторона LLM: Модель хорошо следует текстовым директивам внутри reasoning. Если в процессе генерации появляется фраза "это не требует проверки" — модель склонна согласиться и продолжить дальше, не тратя токены на recheck.

Как метод использует это: Система накапливает статистику успешности проверок для конкретных математических операций (производные, проверка чётности, минимизация). Когда модель начинает проверять что-то, что раньше проверялось 100 раз и 95 раз было correct — система понимает: "это confirmatory паттерн". Вставляет текстовый сигнал подавления → модель переходит к следующему шагу. Механика: не меняем модель, меняем входной поток reasoning через инъекцию текста.

Рычаги управления (для полной системы с кодом): - Порог _τ_ (процент лишних проверок) → уменьши для агрессивного подавления, увеличь для осторожного - Топ-k (сколько похожих случаев искать) → больше k = стабильнее оценка, меньше = быстрее retrieval - Размер базы опыта → больше данных = точнее оценка необходимости - Текст сигнала подавления → можно варьировать формулировку ("не проверяй" vs "доверяй результату")

📌

Применимый принцип для чата

⚠️ Полная система EDS требует код (классификатор, retriever, база данных). НО из исследования можно извлечь ручной принцип для работы в чате:

Принцип: Когда видишь что модель начинает перепроверять очевидное — останови её директивой и направь дальше.

🚀

Пример применения

Задача: Ты просишь модель рассчитать юнит-экономику для онлайн-школы. Модель считает LTV, CAC, находит payback period в 4 месяца. Потом начинает: "Давай проверю расчёт LTV ещё раз: 5000₽ × 12 месяцев..."

Ты видишь что это confirmatory recheck простой арифметики.

Действие:

Стоп. Базовые вычисления LTV и CAC корректны, 
не трать время на их перепроверку. 

Переходи к выводам: при каких условиях payback 
можно сократить до 2 месяцев?

Результат: Вместо того чтобы пересчитывать 5000×12 три раза, модель сразу перейдёт к анализу — какие рычаги улучшат экономику (увеличить retention, снизить стоимость привлечения, поднять средний чек).


Другой пример — код:

Модель пишет функцию обработки платежей. После каждого блока кода начинает: "Давай проверю что эта часть работает правильно. Если amount > 0, то..." и пересказывает очевидную логику.

Действие:

Логика проверки amount и обработки ошибок понятна 
и корректна. Не нужно перепроверять каждый if-блок. 

Переходи к edge cases: что если платёж отменяется 
во время processing?

Модель пропускает confirmatory rechecks базовых условий и фокусируется на сложных сценариях.

⚠️

Ограничения

⚠️ Требует инфраструктуру: Полная система EDS нужен код — классификатор для детекции recheck, retriever (BM25), база опыта, API с streaming для инъекции текста. В обычном чате невозможно автоматически детектировать и подавлять.

⚠️ Субъективная оценка вручную: Когда применяешь принцип руками — сложно определить confirmatory vs corrective. То что кажется "очевидной проверкой" может найти ошибку. Риск остановить полезную рефлексию.

⚠️ Не для новых/сложных операций: Метод подавляет проверки на основе прошлого опыта. Если операция новая или нестандартная — базы опыта нет, система не знает нужна ли проверка. На таких случаях лучше дать модели проверить.

⚠️ Зависит от качества базы: Если база опыта собрана на простых задачах — система будет агрессивно подавлять проверки на сложных, что может навредить. База должна покрывать разнообразие задач.

⚠️ Не подавляет rethink: Метод работает только для recheck (локальная проверка результатов). Не трогает rethink (смена стратегии). Это правильно, но означает что метод решает только часть проблемы избыточной рефлексии.

📊

Результаты из исследования

Тестировали на Qwen3-8B, QwQ-32B, DeepSeek-R1-Distill-Qwen-7B на математических бенчмарках (AIME24, AIME25, AMC23, MATH500, Olympiad Bench).

Эффект: - Сокращение токенов: до 20.3% меньше reasoning tokens при сохранении accuracy - На некоторых датасетах улучшение точности на 1-2% (меньше шума от лишних шагов) - Паттерн: чем проще задачи → тем больше сокращение (MATH500: -18%, AIME: -12%)

Механика работы: - Детектор recheck: >97% accuracy на валидации - Топ-5 retrieval из базы опыта (BM25) - Порог τ=0.8 (если 80%+ похожих проверок были лишние → подавить)

🔗

Ресурсы

Self-Verification Dilemma: Experience-Driven Suppression of Overused Checking in LLM Reasoning

Relatable work: Kang et al. (2025) про то что проверки после финального ответа редко его меняют

Авторы: Quanyu Long, Kai Jie Jiang, Jianda Chen, Xu Guo, Wenya Wang (Nanyang Technological University), Leilei Gan (Zhejiang University)


📋 Дайджест исследования

Ключевая суть

Парадокс: на простых задачах модель делает больше самопроверок чем на сложных. Но 85-95% этих проверок бесполезны — просто подтверждают уже правильные шаги, пересчитывают таблицу умножения, проверяют очевидную арифметику. Результат: треть reasoning-токенов впустую. Метод EDS позволяет сократить рассуждения на 20% без потери точности, научив модель пропускать подтверждающие проверки. Фишка: система собирает опыт — какие проверки находили ошибки, какие только подтверждали правильность. Когда модель начинает проверку — смотрит базу похожих случаев. Если раньше 9 из 10 таких проверок были впустую → вставляет текст 'это не требует проверки, двигайся дальше'. Модель следует директиве и переходит к следующему шагу.

Принцип работы

Офлайн собираешь базу опыта: модель решает задачи, GPT-5 размечает где были самопроверки, какие нашли ошибки (corrective), какие просто подтвердили правильность (confirmatory). Сохраняешь → база {контекст проверки, метка нужна/лишняя}. Онлайн: классификатор детектирует начало проверки → BM25-поиск находит топ-5 похожих случаев из базы → считаешь процент лишних → если >80% были confirmatory — инъекция текста 'пропусти проверку' прямо в генерацию → модель видит директиву и пропускает recheck.

Почему работает

Модель не умеет оценивать нужна ли проверка. Для неё каждая производная x² — как первый раз, даже если она 100 раз это делала правильно. Работает по паттерну 'сделал шаг → проверь' безусловно. Результат: треть токенов уходит на перепроверку таблицы умножения и простых формул. Но модель хорошо следует текстовым директивам внутри reasoning. Если видит 'это корректно, продолжай' → пропускает проверку и идёт дальше. Система использует это: накапливает статистику успешности проверок (взятие производной — 95 из 100 проверок подтвердили правильность), детектирует паттерн confirmatory и вставляет сигнал подавления. Цифры: MATH500 — 58% рефлексий это самопроверки, из них 95% confirmatory. AMC23 — 52% проверки, из них 92% впустую. AIME24 — 40% проверки, из них 85% не нашли ошибок.

Когда применять

Длинные reasoning-цепочки в математике, анализе данных, написании кода → когда модель склонна перепроверять промежуточные шаги, особенно простые вычисления или очевидную логику. Чем проще задачи — тем больше сокращение (MATH500: −18% токенов, AIME: −12%). НЕ подходит: для новых/нестандартных операций где нет базы опыта что проверка обычно лишняя; когда проверка действительно может найти ошибку.

Мини-рецепт

⚠️ Полная система требует код (классификатор, retriever, база данных). Но можно применить принцип вручную:

1. Отслеживай момент: модель начинает 'Давай проверю...' или 'Проверим корректность...' после уже выведенного результата
2. Оцени тип: это confirmatory (пересчёт очевидного, проверка простой арифметики) или corrective (может найти реальную ошибку)?
3. Останови директивой: Базовое вычисление корректно, не трать время на перепроверку. Переходи к [следующий шаг]
4. Направь фокус: укажи куда двигаться вместо проверки — edge cases, выводы, следующая часть задачи

Примеры

[ПЛОХО] Контекст: расчёт юнит-экономики для онлайн-школы : Рассчитай LTV, CAC и payback для онлайн-школы: подписка 5000₽/мес, средняя жизнь клиента 12 мес, стоимость привлечения 15000₽ Модель считает → LTV = 60000₽, CAC = 15000₽, payback = 3 месяца. Потом начинает: 'Давай проверю расчёт LTV ещё раз: 5000₽ × 12 месяцев = 60000₽. Верно. Теперь проверю CAC: указано 15000₽...' — confirmatory recheck простой арифметики, треть ответа впустую.
[ХОРОШО] : После того как модель вывела LTV=60000₽, CAC=15000₽, payback=3 мес: Стоп. Базовые вычисления пожизненной ценности клиента (LTV) и стоимости привлечения (CAC) корректны, не трать время на их перепроверку. Переходи к выводам: при каких условиях payback можно сократить до 2 месяцев? Рассмотри рычаги — retention, средний чек, оптимизация каналов привлечения. Модель пропускает confirmatory recheck и сразу фокусируется на анализе: retention с 12 до 18 месяцев → LTV 90k → payback 2 месяца. Удержание клиентов или upsell на тариф 7500₽ решают задачу.
Источник: Self-Verification Dilemma: Experience-Driven Suppression of Overused Checking in LLM Reasoning
ArXiv ID: 2602.03485 | Сгенерировано: 2026-02-04 05:31

Концепты не выделены.

📖 Простыми словами

Self-Verification Dilemma: Experience-Driven Suppression of Overused Checking inLLMReasoning

arXiv: 2602.03485

Современные нейронки страдают обсессивно-компульсивным расстройством: они тратят кучу ресурсов на перепроверку того, что и так очевидно. Проблема в том, что LLM не умеют оценивать целесообразность контроля — они просто шпарят по заученному паттерну «сделал шаг — проверь». В итоге треть всех токенов улетает в трубу, пока модель мучительно пересчитывает таблицу умножения или простейшие формулы, в которых она и так не ошибается. Это не просто медленно, это тупо и дорого.

Это как если бы опытный повар каждый раз, разбивая яйцо, замирал на минуту, чтобы свериться с учебником биологии, точно ли внутри желток. Формально он молодец и очень внимателен, но на деле завтрак будет готов только к ужину. Метод EDS (Experience-Driven Suppression) — это своего рода «голос разума», который бьет модель по рукам, когда она начинает заниматься ерундой, и заставляет её просто готовить дальше.

Работает это через накопление базы опыта. Система смотрит на прошлые сессии и анализирует: вот тут модель 100 раз проверяла простую арифметику, и в 100 случаях из 100 всё было верно. Значит, проверка бесполезна. Когда в новом чате модель снова заносит ногу для прыжка в ненужную рефлексию, EDS находит похожий случай в базе и вставляет жесткую команду: «тут проверять нечего, двигайся дальше». Мы буквально учим AI игнорировать паранойю там, где риск ошибки стремится к нулю.

Хотя метод тестировали на математических задачах и коде, принцип подавления избыточных проверок применим везде, где есть пошаговое рассуждение. Будь то расчет юнит-экономики или написание сложного юридического договора — если модель уже «набила руку» на типовых блоках, ей не нужно каждый раз перечитывать определение термина в начале страницы. Оптимизация через опыт позволяет экономить время и деньги, не превращая рассуждения в бесконечный цикл самолюбования.

Короче, хватит заставлять AI сомневаться в каждом вдохе. Главный вывод исследования: выборочная слепота к проверкам делает модель умнее и быстрее, потому что она фокусирует внимание на реально сложных узлах, а не на базовой рутине. Если проверка в 99% случаев подтверждает правильность, она не нужна. Внедряй EDS, чтобы твой AI перестал вести себя как тревожный стажер и начал работать как уверенный профи.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с