3,583 papers
arXiv:2607.09803 74 9 июля 2026 г. FREE

SPARC / Слепое пятно самокоррекции: почему LLM не чинит свои ошибки — и как это обойти

КЛЮЧЕВАЯ СУТЬ
Парадокс: та же модель, которая не замечает ошибку в своём ответе, без труда находит идентичную ошибку в «чужом» тексте. Это не случайность — у 64% ответов LLM ошибка по ходу генерации не ослабевает, а нарастает. SPARC позволяет превратить модель в честного критика своих же текстов — тремя способами, каждый из которых работает без кода и дообучения. Скажи «это написал коллега» — модель переключается с режима «продолжаю своё» на режим «ищу чужие дыры». Маркер паузы снимает 89% слепых пятен. RL-обученные модели имеют этот баг в 7–8 раз реже, чем обычно настроенные.
Адаптировать под запрос

TL;DR

Слепое пятно самокоррекции — систематический баг LLM: модель легко находит ошибки в чужом тексте и не замечает те же ошибки в своём собственном ответе. SPARC — это теория, которая объясняет почему это происходит через математику, но по пути раскрывает три практических рычага: простую перестановку ролей ("это чужой текст"), однословный маркер паузы и выбор правильной модели.

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

Три рабочих обхода: (1) переформулировать запрос так, чтобы текст выглядел как чужой — внешняя атрибуция; (2) добавить слово "Wait" (или аналог) перед просьбой о проверке — это буквально сбрасывает 89% слепых пятен; (3) переключиться на RL-обученные модели вроде DeepSeek-R1 или QwQ, у которых этот баг структурно меньше.


🔬

Схема метода

Три независимых способа. Можно применять в любом порядке или комбинировать.

СПОСОБ 1 — Внешняя атрибуция:
ШАГ 1: Получаешь ответ от LLM → копируешь текст
ШАГ 2: Новый чат / новый промпт → вставляешь текст как "чужой"
        → "Вот текст от коллеги / кандидата / клиента, найди проблемы"
ШАГ 3: Модель проверяет без слепого пятна → видит ошибки

СПОСОБ 2 — Wait-маркер:
ШАГ 1: Уже в том же чате, после ответа
ШАГ 2: Пишешь "Wait." или "Подожди." → потом просьба проверить
        → эффект: сбрасывает 89% слепых пятен одним словом

СПОСОБ 3 — Выбор модели:
Используй DeepSeek-R1 / QwQ-32B когда нужна самопроверка →
RL-обученные модели имеют в 7–8 раз меньше слепых пятен, чем SFT-модели

Все три способа работают в обычном чате, без кода и настройки.


🚀

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

Задача: Аня написала питч для инвесторов на серию А, попросила ChatGPT улучшить текст. Модель "улучшила" — но логика осталась дырявой. Aня снова просит: "найди слабые места". Модель отвечает: "текст убедительный, хорошая структура". Классика.

Промпт — Способ 1 (Внешняя атрибуция):

Ты опытный венчурный аналитик из Сбербанк-500 и Фонда развития 
интернет-инициатив. Тебе прислали питч от стартапа на проверку 
перед инвестиционным комитетом.

Вот питч:

[вставь свой текст]

Найди слабые места по трём критериям:
1. Логические противоречия и необоснованные допущения
2. Цифры, которые не сходятся или выглядят взятыми с потолка
3. Места, где инвестор может спросить "а откуда это?" и не получить ответа

Будь жёстким — лучше узнать сейчас, чем на комитете.

Промпт — Способ 2 (Wait-маркер):

[После того как модель выдала ответ / улучшила текст]

Wait. Перечитай свой ответ как скептичный читатель. 
Что в нём слабо, неточно или требует доказательств?
Дай честный список — минимум 3 пункта.

Результат: Оба способа заставят модель переключиться с режима "я уже выдал хороший текст" на режим "оцениваю чужой материал". В первом случае появятся конкретные возражения по логике и цифрам. Во втором — список слабых мест, которые модель игнорировала при улучшении. Критика будет заметно острее, чем при прямом "найди ошибки в своём ответе".


🧠

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

LLM не пересматривает — она продолжает. Модель работает как автодополнение: каждый следующий токен генерируется на основе предыдущих. Когда она сама написала "решение А лучше", следующие токены будут укреплять эту позицию — потому что это самый вероятный продолжение. Ошибка не стирается из контекста, она накапливается и усиливается.

Критика требует "смены точки зрения". Находить ошибки в чужом тексте — это другая операция, чем продолжать свой. В первом случае модель работает от внешней точки ("что здесь не так?"), во втором — от внутренней ("что я хотел сказать?"). Когда ты переформулируешь запрос с "проверь своё" на "проверь чужое", модель технически выполняет другую задачу — и делает её хорошо.

"Wait" ломает инерцию одним словом. Маркер паузы создаёт в контексте разрыв — модель обрабатывает его как сигнал "остановись и оцени заново", а не "продолжай". Это не магия: токен "Wait" встречался в обучающих данных именно в таких ситуациях — перед переоценкой и коррекцией. Поэтому одно слово меняет режим обработки.

Рычаги управления: - Сила ролевой рамки → чем убедительнее "чужак" (конкретная роль, организация, контекст), тем острее критика - Пауза перед проверкой → "Wait" / "Подожди" / "Стоп" — все варианты работают, но лучше на отдельной строке - Выбор модели → DeepSeek-R1, QwQ-32B, Claude 3.7 Sonnet значительно лучше справляются с самопроверкой, чем GPT-3.5 или базовый Llama


📋

Шаблон промпта

Шаблон A — Внешняя атрибуция (универсальный):

Ты {роль эксперта в нужной теме}.

Тебе прислали {тип текста: статью / питч / письмо / план / анализ} 
от {источник: коллеги / кандидата / клиента / подрядчика} для оценки.

Вот текст:
{вставь текст}

Задача: найди слабые места, противоречия и сомнительные утверждения.
Критерии оценки:
1. {что важно проверить — логику / цифры / риски / аргументы / факты}
2. {второй критерий}
3. {третий критерий}

Будь честным и конкретным. Хорошего слышать не нужно — нужно то, 
что можно улучшить.

Шаблон B — Wait-маркер:

Wait.

Перечитай свой предыдущий ответ с позиции {скептика / оппонента / {роль}}.
Найди минимум {3–5} конкретных слабых места: что неточно, 
что требует доказательств, что противоречит само себе.

Оформи как список с пояснением почему это проблема.

Что подставлять: - {роль эксперта} → инвестор, редактор, юрист, HR, технический директор - {тип текста} → буквально что это за документ - {источник} → откуда "пришёл" текст (чем конкретнее — тем острее критика) - {критерии} → что именно тебя беспокоит в этом тексте


🚀 Быстрый старт — вставь в чат:

Вот два шаблона для обхода слепого пятна самокоррекции LLM. 
Адаптируй под мою задачу: {опиши что тебе нужно проверить и в каком контексте}.
Задавай вопросы чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит какой тип текста проверять, кто "эксперт" и какие критерии важны — потому что без этого не сможет правильно выстроить роль и угол критики. Она возьмёт паттерн "внешней атрибуции" из шаблона и адаптирует под твою конкретную задачу.


⚠️

Ограничения

⚠️ Глубокие логические ошибки: Внешняя атрибуция и Wait-маркер лучше работают для поверхностных проблем — стиль, факты, структура. Если ошибка вшита глубоко в цепочку рассуждений (модель выбрала неверный подход с самого начала), перефрейминг помогает частично.

⚠️ SFT-модели упираются в потолок: У ChatGPT-3.5, базовых версий Llama и других SFT-моделей слепое пятно структурно больше. Внешняя атрибуция снижает его, но не убирает полностью. Для критически важных задач с самопроверкой — лучше RL-обученные модели.

⚠️ Не работает как инструмент "установить SPARC": Сама теория SPARC — исследовательский фреймворк, не промпт и не продукт. Практические техники из неё — да. Но "применить SPARC" в смысле воспроизвести все эксперименты — требует доступа к весам моделей и вычислительной инфраструктуры.

⚠️ Эффект слабеет при повторе: Если использовать "Wait" каждый раз в одном чате, модель привыкает к паттерну и эффект снижается. Внешняя атрибуция в новом контексте работает стабильнее.


🔍

Как исследовали

Исследователи из Европейского университета Тираны поставили вопрос, который до них никто не формализовал: почему LLM видит ошибки в чужом тексте и не видит те же ошибки в своём? Не "как это исправить эмпирически" — а именно механику.

Они построили математическую теорию через спектральную алгебру (анализ того, как маленькие отклонения накапливаются или рассеиваются в цепочке генерации) и вывели конкретный критерий: если "коэффициент усиления ошибки" больше или равен 1 — слепое пятно гарантировано. Меньше 1 — модель в принципе способна себя поправить.

Затем проверили теорию на четырёх моделях (Llama-3-8B, Qwen2.5-7B, DeepSeek-R1, QwQ-32B), трёх бенчмарках (математика, код, общие задачи) и — что интересно — на визуальных генеративных моделях тоже. Оказалось, тот же математический критерий работает для генерации изображений и видео: архитектура residual stream одинакова. SFT-модели (обученные на примерах) давали большое слепое пятно (~64%). RL-модели (обученные через обратную связь с ошибками) — в 7–8 раз меньше. Это не случайность: RL по природе своей тренирует модель работать с собственными провалами, а SFT — просто копировать правильное.

Удивительный результат: одно слово "Wait" давало 89.3% снижения слепого пятна. Теория это объяснила — маркер буквально переключает внутренний режим обработки, снижая коэффициент усиления ошибки ниже порогового значения.


💡

Адаптации и экстраполяции

🔧 Техника: Конкретный персонаж вместо абстрактной роли → острее критика

Вместо "ты эксперт" — конкретный архетип с известным стилем мышления:

Ты Михаил Хомич (бизнес-ангел, бывший директор ФРИИ). 
Перед тобой питч стартапа. Ты известен тем, что задаёшь 
неудобные вопросы про unit-экономику и масштабируемость.

Что ты спросишь после прочтения этого текста?

[текст]

Чем узнаваемее персонаж — тем точнее модель воспроизводит его угол зрения. Безликий "эксперт" критикует обобщённо. Конкретный архетип — по делу.


🔧 Техника: Несколько независимых ревьюеров в одном промпте → многосторонняя критика

Прочитай этот текст тремя взглядами — по очереди:

[ВЗГЛЯД 1 — Скептик-инвестор]: что здесь нереалистично?
[ВЗГЛЯД 2 — Целевой пользователь]: что непонятно или не убеждает?
[ВЗГЛЯД 3 — Конкурент]: где здесь дыры, которыми можно воспользоваться?

Текст:
{вставь текст}

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


🔗

Ресурсы

Название работы: Spectral Origins of the Self-Correction Blind Spot in Autoregressive Generation

Авторы: Ingrid Petrova, Luan Vejsiu — European University of Tirana

Связанные работы упомянутые в исследовании: - Self-Correction Bench (Tsui, 2025) — бенчмарк с контролируемой инъекцией ошибок, откуда взята цифра 64.5% - Self-Refine (Madaan et al., 2023) — итеративная самокритика - Reflexion (Shinn et al., 2023) — агенты с вербальным подкреплением - S²R (Ma et al., 2025) — двухэтапный RL-пайплайн верификатор+корректор - ReVISE (Lee et al., 2025) — intrinsic verifier с режимом нестабильности


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

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

Парадокс: та же модель, которая не замечает ошибку в своём ответе, без труда находит идентичную ошибку в «чужом» тексте. Это не случайность — у 64% ответов LLM ошибка по ходу генерации не ослабевает, а нарастает. SPARC позволяет превратить модель в честного критика своих же текстов — тремя способами, каждый из которых работает без кода и дообучения. Скажи «это написал коллега» — модель переключается с режима «продолжаю своё» на режим «ищу чужие дыры». Маркер паузы снимает 89% слепых пятен. RL-обученные модели имеют этот баг в 7–8 раз реже, чем обычно настроенные.

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

LLM не пересматривает — она продолжает. Написала «вариант А лучше» — следующие токены укрепят эту позицию. Ошибка не стирается: она вплавляется в контекст и нарастает. Найти ошибку в чужом тексте — технически другая задача: модель работает от внешней точки «что здесь не так?», а не изнутри «что я хотел сказать?». Три рычага ломают эту инерцию: внешняя атрибуция меняет точку обзора, маркер паузы создаёт разрыв в контексте, а RL-обучение меняет внутреннюю структуру модели.

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

LLM обучена предсказывать следующий токен — не оценивать уже написанное. Когда модель сама сгенерировала текст, он получает высокий вес в её «внутреннем состоянии» и автоматически кажется ей правильным. Токен «Wait» встречался в обучающих данных именно в ситуациях переоценки — поэтому буквально переключает режим обработки, а не просто добавляет слово в контекст. RL-обученные модели — DeepSeek-R1, QwQ-32B — вынуждены были учиться проверять себя через штрафы. Отсюда структурно другой результат: слепых пятен в 7–8 раз меньше, чем у базово настроенных моделей вроде GPT-3.5 или Llama.

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

Любая задача, где важно качество ответа LLM → особенно для текстов с критической логикой: питчи, аналитика, аргументация, юридические формулировки — когда модель уже выдала ответ и нужна честная проверка. Лучше всего работает на поверхностных проблемах: стиль, факты, структура, противоречия. НЕ подходит как полное решение если ошибка вшита в саму логику с самого начала — там перефрейминг помогает частично, но не вытаскивает корень.

Мини-рецепт

1. Получи обычный ответ: попроси LLM написать текст, анализ, питч — как обычно.
2. Смени контекст (Способ 1): скопируй текст, открой новый чат. Представь текст как чужой: «вот питч от стартапа», «это письмо от кандидата», «анализ от подрядчика». Дай модели роль эксперта — инвестора, редактора, технического директора.
3. Или добавь паузу (Способ 2): прямо в том же чате напиши Wait. на отдельной строке — затем попроси найти слабые места, минимум 3.
4. Для серьёзных задач (Способ 3): переключись на DeepSeek-R1 или QwQ-32B — у них этот баг структурно меньше.

Примеры

[ПЛОХО]: `Проверь свой ответ и найди ошибки` [ХОРОШО]: `Wait. Перечитай свой предыдущий ответ с позиции скептичного читателя. Найди минимум 3 конкретных слабых места: что неточно, что требует доказательств, что противоречит само себе. Оформи как список с пояснением почему это проблема.` --- [ПЛОХО]: `Улучши мой питч и проверь логику` [ХОРОШО]: `Ты опытный инвестиционный аналитик из фонда ранних стадий. Тебе прислали питч от стартапа на проверку перед инвестиционным комитетом. Вот текст: [вставь питч] Найди слабые места по трём критериям: 1. Логические противоречия и необоснованные допущения 2. Цифры, которые не сходятся или выглядят взятыми с потолка 3. Места, где инвестор спросит «а откуда это?» и не получит ответа Будь жёстким — лучше узнать сейчас, чем на комитете.`
Источник: Spectral Origins of the Self-Correction Blind Spot in Autoregressive Generation
ArXiv ID: 2607.09803 | Сгенерировано: 2026-07-14 04:30

Проблемы LLM

ПроблемаСутьКак обойти
Модель не видит ошибки в своём текстеПросишь модель проверить её собственный ответ. Она говорит "всё хорошо". Та же ошибка в чужом тексте — она её находит сразу. Это не невнимательность. Генерирование текста и проверка чужого — разные операции. Свой текст модель "продолжает". Она не переключается в режим критикиПодай текст как чужой. Скопируй ответ в новый запрос. Напиши "вот текст от коллеги, что здесь слабо?". Или добавь "Wait." перед просьбой о проверке — это ломает инерцию

Методы

МетодСуть
Внешняя атрибуция — снимает слепое пятноСкопируй текст, который надо проверить. Открой новый диалог. Подай текст как чужой: "вот текст от кандидата / клиента / подрядчика". Добавь конкретную роль: Ты {эксперт}. Тебе прислали {тип текста} от {источник} на оценку. Чем конкретнее "чужак" — тем острее критика. Почему работает: Проверка чужого — другая задача. Модель переключается с "продолжаю" на "оцениваю извне". Слепое пятно не срабатывает. Когда да: стиль, факты, логика, структура. Когда слабее: ошибка вшита глубоко в цепочку рассуждений с самого начала
Wait-маркер — сброс инерции одним словомПосле того как модель дала ответ — напиши Wait. на отдельной строке. Потом попроси перечитать и найти слабые места. Работают варианты: "Подожди.", "Стоп.". Почему работает: Слово "Wait" в обучающих данных встречалось именно перед переоценкой и коррекцией. Модель обрабатывает его как сигнал "оцени заново". Инерция ломается. Важно: с каждым повтором в одном и том же диалоге эффект слабеет. Внешняя атрибуция в новом запросе стабильнее

Тезисы

ТезисКомментарий
Ошибка в тексте модели усиливается, а не исчезаетМодель работает как автодополнение: каждый следующий токен строится на предыдущих. Если в начале ответа появилась ошибка, следующие токены её укрепляют. Ошибка не стирается — она накапливается. У большинства ответов с ошибкой уверенность модели в этой ошибке растёт к концу генерации. Применяй: не жди, пока модель сама исправится в конце ответа. Прерывай и перезапускай с другой точки входа
📖 Простыми словами

Spectral Origins of the Self-Correction Blind Spot in Autoregressive Generation

arXiv: 2607.09803

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

Это как если бы ты начал уверенно рассказывать историю, на середине понял, что заврался, но вместо того чтобы извиниться, начал бы на ходу придумывать еще более безумные детали, лишь бы сохранить лицо. Формально ты продолжаешь говорить, но по факту закапываешь себя всё глубже. В математике это объясняется теорией SPARC: модель становится заложником собственного контекста. Ошибка для неё — не баг, а заданное направление движения, по которому она обязана катиться до самого конца.

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

Принцип универсален: он работает не только в кодинге или проверке фактов, но и в любом креативе, маркетинге или аналитике. Если ты просишь ChatGPT проверить её же собственный черновик, ты получишь вежливое «всё супер, босс». SEO-тексты, питчи, стратегии — всё это страдает от самолюбования нейронки. Чтобы получить адекватный фидбек, нужно обмануть алгоритм и заставить его поверить, что перед ним чужая работа. Контекстная инерция — это стена, которую нельзя пробить прямой просьбой «проверь себя».

Короче, забудь про команду «перечитай и исправь» — это не работает, модель просто продолжит гнуть свою линию. Хочешь качества — используй ролевой сдвиг и делай вид, что текст прислал твой туповатый стажёр. Только так можно заставить AI выйти из режима автодополнения и включить реальную логику. Те, кто понимает эту математику самокоррекции, получают чистый результат, остальные продолжают плодить убедительную, но дырявую чушь.

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

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

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