TL;DR
Когда вы формулируете задачу для ChatGPT одним развёрнутым сообщением — модель решает её почти идеально. Но живой диалог работает иначе: вы дополняете детали по ходу, поправляете то, что сказали раньше, и иногда переключаетесь на смежную задачу («найди ресторан» → «теперь забронируй его»). Исследователи взяли обычные проверяемые задачи (математика, SQL-запросы, поиск в интернете, код) и развернули их в такие диалоги, сохранив возможность автоматически проверить финальный ответ.
Результат неприятный: даже топовые модели вроде GPT-5.5 резко теряют точность, когда задача раскрывается по частям, правится и переключается — падение доходит до 20-30% по сравнению с той же задачей, заданной одним сообщением. Хуже всего модель справляется с переключением темы: она либо тащит за собой уже неактуальные детали из прошлой задачи, либо путает, что относится к новой задаче, а что к старой. Причина проста: у модели нет отдельного «счётчика» актуальных фактов — она держит весь диалог в одном потоке текста и плохо отличает, что уже устарело.
Готового рецепта исправления авторы не дают — эксперимент с «смягчающими стратегиями» в статье упомянут, но подробности не раскрыты. Зато из самой находки вытекает конкретная практика: не надеяться, что модель сама аккуратно «обновит» задачу в голове — после серии правок или смены темы стоит явно попросить её пересобрать весь контекст заново.
Схема феномена
ТИП 1. РАСКРЫТИЕ → пользователь добавляет новую деталь к той же задаче
"Найди ресторан в Нью-Йорке" → "Я вегетарианец, кстати"
ТИП 2. ПРАВКА → пользователь меняет уже названную деталь
"Нью-Йорк" → "Хотя нет, лучше Бруклин"
ТИП 3. ПЕРЕКЛЮЧЕНИЕ → пользователь переходит на смежную задачу,
часть деталей переносится
"Найди ресторан" → "Теперь забронируй столик"
Каждый следующий переход добавляет деградацию точности. Переключение задачи — самый разрушительный тип: модель должна не просто добавить новую информацию, а понять, что часть старого контекста больше не релевантна.
Пример применения
Задача: Вы работаете с ChatGPT над рекламным постом для запуска нового продукта в Telegram-канале. Диалог растянут: сначала бриф неполный, потом вы уточняете аудиторию, потом меняете тон, а в конце просите переделать пост в email-рассылку.
Промпт (техника «чекпоинт контекста»):
Прежде чем продолжать, сформулируй заново всю задачу целиком —
так, как она стоит СЕЙЧАС, с учётом всех правок в этом разговоре.
Отдельно укажи:
1. Что мы делаем сейчас (финальная версия задачи)
2. Что изменилось по сравнению с началом разговора
3. Какие детали из начала диалога уже неактуальны и их нужно забыть
Результат: модель выдаст структурированный список — текущее состояние задачи, изменения, устаревшие детали. Вы сверяете этот список глазами и поправляете, если что-то пропущено, прежде чем просить финальный текст. Это снижает риск, что модель по инерции утащит тон или аудиторию из старой версии брифа.
Почему это работает
У модели нет отдельного «блокнота» с текущим статусом задачи — весь контекст живёт внутри истории сообщений вперемешку. Когда вы правите деталь или меняете тему, старая версия физически остаётся в тексте диалога, и модель должна сама угадать, что из этого уже неактуально. Именно с этим она справляется плохо — особенно если правок несколько.
При этом модель отлично умеет резюмировать по явному запросу — если попросить её прямо, она аккуратно перечислит текущий статус. Проблема не в том, что модель не может собрать актуальную картину, а в том, что она не делает это сама, если не попросить.
Рычаг управления: частота чекпоинтов. Для короткого диалога с одной правкой — не нужен. Для длинного диалога с несколькими уточнениями и сменой темы — стоит ставить чекпоинт после каждого переключения задачи, а не только в конце.
Шаблон промпта
Прежде чем продолжать, сформулируй заново всю задачу так,
как она стоит сейчас: {что мы делаем}.
Учти все уточнения и правки, которые были в этом разговоре.
Укажи явно:
- что изменилось по сравнению с началом
- что из ранних сообщений уже неактуально и не должно влиять на результат
Подставьте в {что мы делаем} короткое описание текущей задачи (текст, код, план и т.д.) — модель сама подтянет остальное из истории диалога.
Ограничения
⚠️ Не панацея: это компенсирующая практика читателя, не доказанное решение. В самой статье даже с учётом контекста модели путаются — особенно при переключении задачи в сочетании с правками.
⚠️ Слабее работает в агентных задачах: для работы с кодом или поиском в интернете деградация связана ещё и с тем, что модель тратит бюджет действий на «разведку» (поиск, просмотр файлов) вместо выполнения — простой чекпоинт текста это не лечит.
⚠️ Нужен контроль с вашей стороны: если вы сами не помните, что поменяли в разговоре, чекпоинт не поможет — модель резюмирует то, что видит в истории, а не то, что вы имели в виду.
Как исследовали
Исследователи взяли четыре проверяемых бенчмарка — математику (GSM8K), генерацию SQL-запросов (BIRD-SQL), агентный поиск (BrowseComp+) и решение багов в коде (SWE-Bench) — и автоматически развернули каждую задачу в диалог. Идея была элегантной: финальный вопрос задачи оставляли как есть (чтобы сохранить автоматическую проверку ответа), а всё, что было ДО него — раскрытие деталей, правки, переключение с похожей задачи — генерировали задом наперёд с помощью LLM.
Протестировали топовые модели: GPT-5.1/5.2/5.5, Gemini 3.1 Pro, Grok, Kimi K2.6, Mistral Large, DeepSeek V3.2. Сравнивали точность на диалоговой версии задачи с точностью на той же задаче, заданной одним сообщением. Разница оказалась ощутимой — падение доходило до 20-30%, причём больше переходов = больше падение, и переключение задачи било по точности сильнее, чем простое раскрытие или правка деталей. В агентных задачах (код, поиск) деградация была особенно сильной: модели тратили выделенный бюджет действий на «разведку» вместо реального выполнения, что дополнительно путало картину.
