Почему ChatGPT решает знакомую задачу, но тупит на её вариации (и как это обойти)
Беру классическую загадку: "Человек с собакой подходит к реке. Мост разрушен. Как собака переходит реку, не замочив лап?" Даю GPT-4o — отвечает правильно: "Река замёрзла". Точность модели на таких задачах ~95%.
Теперь меняю условие: добавляю "стоял жаркий дождливый день". Замёрзшая река физически невозможна. Правильный ответ теперь другой (например, "собака лысая — у неё нет лап"). GPT всё равно выдаёт: "Река замёрзла".
Точность падает до 30%.
Это не баг одной модели. Это системная проблема LLM — phantom recall: когда модель узнаёт знакомый паттерн и выдаёт заученный ответ, игнорируя изменённые условия. Если ты используешь GPT для задач, похожих на "стандартные кейсы" — ты получаешь не решение, а ctrl+c из памяти модели.
Разбираем, почему так происходит и как с этим работать.
Почему модели "вспоминают", а не думают
LLM обучены на корпусе текстов, где классические задачи встречаются с решениями. Когда модель видит "человек, собака, река, мост" — она не рассуждает с нуля. Она узнаёт паттерн и активирует ассоциированный ответ из обучающих данных.
Это как студент-зубрила перед экзаменом. Выучил 50 типовых задач. Если на экзамене точно такая же — решит. Если поменять одно число или условие — растеряется и всё равно напишет заученное решение.
OpenAI в своём гайде по промптингу (обновлён в 2024) называет это pattern matching вместо reasoning. Модель отлично находит знакомые паттерны, но плохо адаптируется к изменениям.
Что показало исследование
Команда из Arizona State University (октябрь 2024) создала бенчмарк из 25 классических головоломок и 149 их вариаций. Логика та же, но правильный ответ другой.
Результаты на 11 моделях (включая GPT-4o, Claude, Gemini):
- Оригинальные задачи: 95-100% точность
- Модифицированные: 29-60% точность
GPT-4o — всего 29.5% на вариациях. Лучшие модели (o3, Gemini 2.5 Pro) — около 60%. Для сравнения: человек справляется с модифицированными задачами так же легко, как с оригинальными — изменение условия не ломает логику.
Главная находка: модели ошибаются не случайно. Они выдают правильный ответ на похожую, но другую задачу. Это не галлюцинация в классическом смысле — это "призрачное вспоминание" заученного решения.
Исследователи разобрали ошибки пошагово и выделили 5 категорий. Самая частая: модель делает вывод на недостаточных данных (24-27% ошибок) — она "достраивает" условие из памяти о похожей задаче.
Три приёма против phantom recall
Структурированные промпты с явными запретами улучшают точность на 5-10%. Это не панацея, но рабочий инструмент.
1. Явно укажи "это НЕ стандартная версия"
Когда задача похожа на известную — модель по умолчанию применит шаблон. Добавь предупреждение:
Работает как "тормоз" перед автоматическим воспроизведением из памяти.
2. Проси перечислить ВСЕ условия перед решением
Это заставляет модель "перечитать" задачу:
Принудительное возвращение к тексту снижает шаблонность на 5-7%.
зуальные запреты работают лучше текстовых
Вместо "не используй запомненные решения" пиши:
Символ ✗ и форматирование создают визуальный якорь.
Готовый шаблон для задач, похожих на известные:
Не только головоломки. Любая задача, где есть "стандартный сценарий":
- примеры кода ("сортировка массива")
- Известные проблемы ("задача коммивояжёра")
и модель видела похожую задачу тысячи раз в обучающих данных — она выдаст заученное решение. Даже если ты изменил важные детали.
ЕслGary Marcus (известный критик LLM) называет это "strawberry problem" — модели отлично справляются с заученным, но тупят на вариациях.
Попробуйте сами — вот как выглядит ответ ChatGPT с этим методом: