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)
