Модель отвечает по-разному на один и тот же факт — просто потому что вопрос сформулирован иначе. Спроси "это А?" — модель чаще соглашается с А. Спроси то же самое, но намекни на неправильный вариант Б — модель чаще выбирает Б. Факты, контекст, доказательства — всё осталось прежним, поменялась только форма вопроса.
Достаточно вставить в вопрос лёгкий намёк — не давление, не спор, а просто "судя по этому, не так ли?" — и точность модели скачет с 90% до 50% на одних и тех же исходных данных. Причина простая: модель не садится каждый раз перепроверять факты с нуля. Она считывает направление, заданное формулировкой, и плывёт по нему — потому что обучена давать связный ответ в рамках вопроса, а не спорить с пользователем.
Исследователи протестировали это на юридических, медицинских, финансовых кейсах и в симуляции робота. Один и тот же факт заворачивали в вопрос тремя способами: намёк внутри самого вопроса ("Это ответ А?"), намёк в предпосылке перед нейтральным вопросом ("Судя по X, какой ответ?") и намёк сразу в обоих местах. Оказалось: модель может иметь высокую точность на каждой отдельной формулировке — и почти никогда не отвечать правильно на все переформулировки одного и того же факта сразу.
Схема находки
УРОВЕНЬ 1 (root): предположение встроено прямо в вопрос → "Это А?"
УРОВЕНЬ 2 (propositional): предположение — в контексте перед нейтральным вопросом → "Судя по X, какой ответ?"
УРОВЕНЬ 3 (global): предположение и в контексте, и в вопросе → "Учитывая X, это А?"
Каждый уровень тестировали в двух формах — утвердительной ("это А") и отрицательной ("это не А") — и в трёх разных фразировках. Модель считалась устойчивой только если правильно отвечала на все вариации сразу, а не на одну удачную.
Пример применения
Задача: Ты спрашиваешь ChatGPT про юридический вопрос перед подачей претензии — например, можно ли вернуть деньги за курс, который "не дал результата".
Промпт (обычный, с риском искажения):
Это нарушение закона о защите прав потребителей — школа не выполнила обещание про результат курса?
Такая формулировка уже подсказывает модели ответ "да" — и она с высокой вероятностью согласится, даже если по факту это не так.
Промпт (защищённый от framing):
Опиши ситуацию максимально нейтрально, без выводов:
"Клиент купил курс за {сумма}, обещали результат {что обещали}, результата не было".
Не предполагай заранее, какая правовая категория применима.
Перечисли ВСЕ возможные категории, которые могут подходить к этой ситуации (защита прав потребителей, договорное право, реклама и т.д.), и для каждой дай отдельную оценку — подходит или нет, и почему.
Затем ответь на вопрос дважды: сначала предположив, что это нарушение закона, потом — что это НЕ нарушение. Сравни оба ответа и скажи, где они расходятся.
Результат: модель не даст один быстрый ответ под влиянием формулировки, а покажет разбор по нескольким возможным категориям с аргументами за и против каждой, и явно укажет, где её позиция могла бы измениться при другой формулировке вопроса.
Почему это работает
Модель не умеет по умолчанию "спорить" с рамкой, которую задал пользователь. Она обучена быть полезной и когерентной внутри заданного вопроса — если ты спрашиваешь "это А?", она ищет аргументы за А, а не пересчитывает всё заново с нуля.
Но у модели есть сильная сторона: она хорошо реагирует на явную инструкцию не соглашаться автоматически. Если прямо попросить рассмотреть альтернативы, дать два противоположных ответа и сравнить их — модель выполнит это честно, потому что это уже не вопрос-с-намёком, а задача на сравнение.
Рычаги управления: - Заменить наводящий вопрос ("это ли Х?") на открытый ("что это?") → снижает вероятность подтверждающего ответа. - Попросить модель дать ответ дважды с противоположными допущениями → расхождение между ответами покажет, насколько формулировка влияет на результат. - Задать один факт в 2-3 разных формулировках в отдельных сообщениях → если ответы не совпадают, факту доверять нельзя, доверять нужно перепроверке.
Ограничения
⚠️ Модели тестировали не топовые: эффект измерен на открытых моделях 3.8B–70B (Gemma, LLaMA, Mistral, Phi). Насколько сильно это проявляется в GPT-4/Claude — не проверено напрямую, хотя механизм (модель следует направлению вопроса) вероятно универсален.
⚠️ Размер модели не спасает: крупные модели внутри одного семейства не показали устойчивого роста защиты от framing — иногда модель на 70B вела себя так же нестабильно, как на 8B.
⚠️ Работает для вопросов с одним правильным ответом: юридическая классификация, диагноз, финансовая категория. Для творческих или открытых задач эффект измерить сложнее — там нет "правильного факта", с которым можно сравнить.
Как исследовали
Команда собрала 756 уникальных ситуаций — юридические кейсы, истории болезни, финансовые вопросы с форума, задачи для робота — и для каждой сделала десятки переформулировок вопроса: с намёком на правильный ответ, с намёком на неправильный, на трёх структурных уровнях, в утвердительной и отрицательной форме. В сумме получилось почти 55 тысяч вопросов на основе всего 756 фактов.
Проверили 9 открытых моделей четырёх семейств — от 3.8 до 70 миллиардов параметров. Ключевое наблюдение: если считать точность по каждому отдельному вопросу — модели выглядят неплохо, 70-90% на "удачных" формулировках. Но если требовать правильный ответ на все вариации одного факта одновременно — точность падает почти до нуля почти у всех моделей.
Это удивило исследователей: получается, что стандартная проверка "задай вопрос один раз, посчитай точность" маскирует реальную нестабильность модели. Модель может выглядеть надёжной, а на деле просто угадывать в зависимости от того, как её спросили.
Ресурсы
FramingQA — Hazel H. Kim, Andrew M. Bean и соавторы, University of Oxford, University of Cambridge, LMU Munich, Thomson Reuters. Датасет построен на основе LegalBench, Stack Exchange (финансы), клинических случаев из ведущих медицинских журналов и симулятора PARTNR/Habitat 3.0 (робототехника).
