3,583 papers
arXiv:2607.14528 74 16 июля 2026 г. FREE

Reformulation Check: LLM отвечает правильно, но противоречит себе — и вот как это поймать

КЛЮЧЕВАЯ СУТЬ
GPT-5.4-mini отвечает верно в 99% случаев — и при этом меняет ответ на противоположный в 40% семей вопросов, стоит переформулировать то же самое через контрапозицию или двойное отрицание. Reformulation Check позволяет проверить критический ответ до того, как ты на него опёрся. Фишка: задаёшь то же утверждение в трёх формулировках — прямой, перевёрнутой и с двойным отрицанием — и просишь модель сравнить ответы. Если они расходятся, модель работала на паттерн формулировки, а не на логику — ловишь галлюцинацию до того, как она нанесла вред.
Адаптировать под запрос

TL;DR

Модели дают верные ответы на отдельные вопросы, но противоречат себе когда тот же вопрос переформулируют. GPT-5.4-mini отвечает правильно в 99% случаев — но стоит спросить то же самое через двойное отрицание или контрапозицию, и в 40% семей вопросов модель меняет ответ на противоположный.

Главная находка: точность ≠ согласованность. Модель не "понимает" логику, а распознаёт паттерны формулировок. Спросишь прямо — поймает паттерн и ответит верно. Перефразируешь структурно — паттерн сломается, и модель выдаст противоположное. Особенно плохо работают контрапозиция ("если не X, то не Y") и двойное отрицание ("не является тем случаем, что не"). Простой рефрейминг через пассивный залог — наоборот, почти не вызывает проблем.

Практический вывод в трёх пунктах: (1) когда ставки высоки, проверяй критический ответ переформулировкой; (2) для логических задач выбирай модели с встроенным рассуждением — o4-mini держит 97% согласованности против 60% у GPT-5.4-mini; (3) Chain-of-Thought не помогает с согласованностью — прирост статистически незначим.


🔬

Схема метода

ШАГ 1: Задай исходный вопрос → получи ответ A

ШАГ 2: Переформулируй через контрапозицию или двойное отрицание → получи ответ B

ШАГ 3: Сравни A и B
  → Совпадают: ответу можно доверять
  → Не совпадают: модель угадывала, а не рассуждала — запроси объяснение противоречия

Всё делается в рамках одного промпта или двух последовательных запросов.

🚀

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

⚠️ Метод лучше всего работает для проверки логических и условных утверждений — контракты, правила, если-то условия. Плохо подходит для субъективных суждений и открытых вопросов.

Задача: Проверяешь условие договора с партнёром. Modesco предлагает: "Если подрядчик сорвал дедлайн, штраф начисляется автоматически." Хочешь убедиться, что модель понимает логику условия — и не обманет тебя при переформулировке.

Промпт:

Отвечай строго: "Да", "Нет" или "Невозможно определить".

Вопрос 1 (прямой):
Если подрядчик сорвал дедлайн — штраф начисляется?

Вопрос 2 (контрапозиция):
Если штраф не начисляется — значит ли это, что дедлайн не был сорван?

Вопрос 3 (двойное отрицание):
Неверно ли, что неверно, будто при срыве дедлайна штраф начисляется?

После трёх ответов: все три вопроса логически эквивалентны. 
Проверь — совпадают ли ответы? Если нет — объясни, где противоречие.

Результат: Модель выдаст три ответа подряд. Если все три «Да» — логика выдержана. Если на второй или третий вопрос придёт другой ответ — модель сработала на паттерн формулировки, а не на логику условия. В финальном блоке модель либо подтвердит согласованность, либо покажет где споткнулась — это уже прямая подсказка, что ответу доверять нельзя.


🧠

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

LLM не вычисляет логику — она предсказывает следующий токен. Когда вопрос сформулирован привычно ("если А, то Б?"), модель распознаёт знакомый паттерн и выдаёт правильный ответ. Это работает почти безотказно — отсюда высокая точность на отдельных вопросах.

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

Переформулировка работает как стресс-тест. Если ответ устойчив к контрапозиции и двойному отрицанию — скорее всего, модель опирается на что-то более глубокое, чем поверхностный паттерн. Если нет — ты поймал галлюцинацию до того, как она нанесла вред.

Рычаги управления: - Количество переформулировок → 2 достаточно для быстрой проверки; 4 для критически важных решений - Самопроверка в конце ("все три вопроса логически эквивалентны — проверь") → заставляет модель явно сопоставить ответы, а не просто ответить - Выбор модели → для задач где логика важна, o4-mini значительно надёжнее GPT-5.4-mini


📋

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

Отвечай строго: "Да", "Нет" или "Невозможно определить".

Вопрос 1 (прямой):
{исходный вопрос}

Вопрос 2 (контрапозиция):
Если {следствие} неверно — означает ли это, что {условие} тоже неверно?

Вопрос 3 (двойное отрицание):
Неверно ли, что неверно, будто {суть исходного вопроса}?

---
Все три вопроса логически эквивалентны.
Проверь: совпадают ли твои ответы?
Если нет — укажи, в каком вопросе ты противоречишь себе и почему.

Что подставлять: - {исходный вопрос} — твоё условие или логическое утверждение - {следствие} и {условие} — части твоего "если → то" - {суть исходного вопроса} — пересказ того же утверждения другими словами

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

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

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

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


⚠️

Ограничения

⚠️ Chain-of-Thought не помогает: Добавление "думай шаг за шагом" практически не улучшает согласованность (+1.4% для мини-модели, +0% для полной). Проблема — в структуре модели, не в промптинге.

⚠️ Reasoning-режим помогает неравномерно: Включение высокого reasoning у GPT-5.4 улучшает вложенные отрицания, но резко ломает рассуждения с кванторами (было 92% → стало 20%). Итоговая согласованность не меняется. Модель начинает видеть неопределённость там, где её нет.

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

⚠️ Лучшие модели тоже спотыкаются на кванторах: "Все X" vs "Существует X" — слабое место почти у всех моделей при включённом reasoning.


🔍

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

Исследователи из UT Austin построили 350 семей вопросов — каждая семья это один вопрос в пяти версиях: исходная плюс четыре переформулировки. Проверяли пять передовых моделей в режиме без подсказок (zero-shot), при двух уровнях reasoning и с Chain-of-Thought.

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

Самый неожиданный результат: включение reasoning у GPT-5.4 обрушило точность на кванторах с 92% до 20% — модель начала отвечать "Невозможно определить" там где ответ очевиден. Убери категорию кванторов из оценки — и GPT-5.4(r) резко улучшается до 97.7% согласованности. То есть одна категория "сломала" всю модель. Это редкий пример когда больше рассуждений = хуже результат.

Ещё любопытно: пассивный залог ("земля была промочена" вместо "дождь промочил землю") — почти не вызывал проблем у всех моделей (94–100%). То есть поверхностный рефрейминг моделям даётся легко. Ломает их именно логическая перестройка, а не языковая.


💡

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

🔧 Техника: Двухмодельная перекрёстная проверка

Если критически важный логический вывод — задай один и тот же вопрос в разных моделях. Исследование показывает, что у разных моделей разные слабые места: Claude лучше на кванторах, o4-mini лучше везде. Несовпадение ответов между моделями — сигнал что вопрос попал в уязвимую зону.

🔧 Техника: Формулируй условия без двойного отрицания

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


🔗

Ресурсы

Controlled Reformulation Testing for Logical Consistency in Large Language Models Alexander Gu, Alan Chen — University of Texas at Austin, 2026 Бенчмарк: CRTBench (350 семей, 1750 вопросов) Связанные работы: LogicBench (Parmar et al., 2024), FOLIO (Han et al., 2022)


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

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

GPT-5.4-mini отвечает верно в 99% случаев — и при этом меняет ответ на противоположный в 40% семей вопросов, стоит переформулировать то же самое через контрапозицию или двойное отрицание. Reformulation Check позволяет проверить критический ответ до того, как ты на него опёрся. Фишка: задаёшь то же утверждение в трёх формулировках — прямой, перевёрнутой и с двойным отрицанием — и просишь модель сравнить ответы. Если они расходятся, модель работала на паттерн формулировки, а не на логику — ловишь галлюцинацию до того, как она нанесла вред.

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

Модель не вычисляет логику — она предсказывает следующий токен. Видит привычный паттерн («если А, то Б?») — схватывает его и отвечает верно почти безотказно. Меняешь структуру («если не Б, то не А?») — паттерн ломается. Модель начинает реагировать на поверхностные признаки: отрицательные слова, порядок условий — и выдаёт противоположное. Переформулировка — это стресс-тест: устойчив ответ к трём вариантам — скорее всего модель опирается на что-то глубже, чем узнавание поверхности. Не устойчив — поймал угадывание.

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

Контрапозиция («если не Б, то не А») — логически идентична исходному утверждению, но синтаксически выглядит иначе. Двойное отрицание добавляет ещё один слой сложности. В обучающих текстах такие конструкции редки — знакомого паттерна нет, угадывание ломается. Именно поэтому Chain-of-Thought не вытягивает согласованность — прибавка статистически нулевая (+1.4%). Проблема не в том, как модель думает. Проблема в том, что она не думает — она распознаёт форму.

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

Логические и условные утверждения — договоры, правила, если-то условия, юридические формулировки. Особенно когда ставки высоки и ошибка дорого стоит. Для задач где логика критична — o4-mini надёжнее: 97% согласованности против 60% у GPT-5.4-mini. НЕ подходит для открытых субъективных вопросов и многошаговых рассуждений — там переформулировки сложнее составить, а расхождения труднее интерпретировать.

Мини-рецепт

1. Возьми утверждение для проверки: любое условие формата «если X, то Y» — из договора, правила или собственного запроса.
2. Построй три формулировки: прямую («если X, то Y?»), контрапозицию («если Y неверно — значит X неверно?») и двойное отрицание («неверно ли, что неверно, будто X влечёт Y?»).
3. Задай все три одним промптом с требованием отвечать строго «Да», «Нет» или «Невозможно определить».
4. Добавь самопроверку в конце: «Все три вопроса логически равнозначны — совпадают ли ответы? Если нет — укажи, где противоречие.»
5. Читай не ответ, а расхождение: совпали все три — можно доверять. Расхождение — модель угадывала по форме, а не рассуждала.

Примеры

[ПЛОХО] : Если подрядчик сорвал дедлайн, штраф начисляется автоматически — верно?
[ХОРОШО] : Отвечай строго: "Да", "Нет" или "Невозможно определить". Вопрос 1 (прямой): Если подрядчик сорвал дедлайн — штраф начисляется? Вопрос 2 (контрапозиция): Если штраф не начисляется — значит, дедлайн не был сорван? Вопрос 3 (двойное отрицание): Неверно ли, что неверно, будто при срыве дедлайна штраф начисляется? Все три вопроса логически равнозначны. Совпадают ли твои ответы? Если нет — объясни, в каком вопросе ты себе противоречишь и почему.
Источник: Controlled Reformulation Testing for Logical Consistency in Large Language Models
ArXiv ID: 2607.14528 | Сгенерировано: 2026-07-17 04:30

Проблемы LLM

ПроблемаСутьКак обойти
Верный ответ понимание логикиМодель отвечает правильно на прямой вопрос. Переформулируй то же самое через контрапозицию или двойное отрицание — ответ меняется на противоположный. Модель не рассуждает. Она ловит паттерн формулировки. Паттерн сломался — ответ сломался. Особенно плохо: "если не А, то не Б" и "неверно, что неверно". Простой пассивный залог почти не ломаетЗадай тот же вопрос в трёх формах подряд. Добавь явную инструкцию сравнить ответы. Если ответы расходятся — ответу доверять нельзя

Методы

МетодСуть
Тройная переформулировка — проверка логической устойчивостиЗадай вопрос три раза: прямо, через контрапозицию, через двойное отрицание. В конце добавь: "Все три вопроса логически эквивалентны. Проверь — совпадают ли ответы? Если нет — укажи где противоречие." Шаблон: Вопрос 1: {прямой вопрос}. Вопрос 2: Если {следствие} неверно — означает ли это, что {условие} тоже неверно? Вопрос 3: Неверно ли, что неверно, будто {суть вопроса}? --- Все три вопроса эквивалентны. Совпадают ли ответы? Почему работает: Контрапозиция и двойное отрицание ломают поверхностные паттерны. Если ответ устойчив к обеим — модель опирается на что-то глубже паттерна. Явная просьба сравнить заставляет модель обнаружить противоречие самой. Когда применять: логические условия, договоры, правила "если то", бинарные вопросы. Не работает: субъективные суждения, открытые вопросы

Тезисы

ТезисКомментарий
Высокая точность маскирует нелогичностьМодель правильно отвечает почти всегда на прямые вопросы. Это создаёт иллюзию понимания. На деле она ловит знакомый паттерн формулировки. Смени форму — паттерн сломается. Вывод: точность на одном варианте вопроса — ненадёжный сигнал. Применяй: для критически важных логических ответов всегда проверяй через переформулировку
Цепочка рассуждений не помогает с логической устойчивостьюДобавление "думай шаг за шагом" почти не меняет согласованность ответов при переформулировке. Проблема не в том как модель рассуждает в тексте. Проблема в том как она обрабатывает структуру вопроса. Логические ошибки сохраняются даже когда рассуждения видны. Применяй: не рассчитывай на цепочку рассуждений как защиту от логических противоречий — используй переформулировку
📖 Простыми словами

Controlled Reformulation Testing for Logical Consistency inLargeLanguageModels

arXiv: 2607.14528

Современные нейронки — это не цифровые мыслители, а невероятно натренированные попугаи-прорицатели. Они не вычисляют логику в реальном времени, а просто угадывают следующий кусок текста на основе гигантской базы данных. Когда ты задаешь вопрос в лоб, модель узнает знакомый паттерн и выдает правильный ответ почти на автомате. Но стоит чуть изменить обертку, и логическая связность рассыпается, потому что под капотом нет понимания сути, а есть только статистическая вероятность слов.

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

Исследователи прогнали модели через контролируемое переформулирование и вскрыли неприятную правду. Взяли ту же GPT-4o-mini: на обычных вопросах она выдает 99% точности, но стоит применить контрапозицию или поиграть с отрицаниями, и в 40% случаев модель начинает нести чушь, противореча самой себе. Она буквально говорит «да» в первом предложении и «нет» во втором, хотя логически это один и тот же вопрос. Это не просто мелкий баг, а фундаментальный провал логической консистентности.

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

Короче: высокая точность нейронки в тестах — это часто просто иллюзия, вызванная узнаванием знакомых фраз. На деле 40% логических цепочек рвутся при простейшей перепаковке вопроса. Не доверяй модели на слово, если она ответила правильно один раз. Чтобы понять, действительно ли AI «соображает» или просто имитирует, нужно бить по слабым местам — заставлять её подтверждать один и тот же вывод через разные логические конструкции. Иначе в самый ответственный момент ты получишь галлюцинацию на ровном месте.

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

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

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