TL;DR
Когда ты переключаешься на новую тему в середине длинного чата — большинство моделей этого не замечают. Они продолжают тащить контекст из предыдущей темы в ответы на новые вопросы. Исследователи Netflix назвали это залипанием контекста (context carry-over): модель знает, что тема сменилась, но всё равно активирует старые детали разговора.
Слабые open-weight модели (Llama, Gemma) залипают почти всегда — даже когда сами «понимают», что тема изменилась. Это как если бы секретарь сказал «понял, вы переключаетесь» — и всё равно продолжил вклеивать материалы старого проекта в новую папку. Ещё хуже: чем позже в разговоре происходит смена темы, тем хуже все модели её улавливают. Пятая смена темы в чате детектируется гораздо слабее первой.
Помогают два рычага: явный фразовый сигнал перед сменой темы («кстати, отдельный вопрос:», «теперь про другое:») и использование reasoning-моделей — они единственные, кто надёжно сбрасывает старый контекст при переключении.
Схема: два типа поведения моделей при смене темы
СЦЕНАРИЙ: Ты ведёшь длинный чат → меняешь тему
ТИП 1 — Залипание (open-weight модели):
Тема изменилась → [ПРЕДЫДУЩИЙ КОНТЕКСТ АКТИВЕН] → ответ смешивает старое и новое
ТИП 2 — Правильный сброс (reasoning-модели + явный сигнал):
"Переходим к другому:" → [КОНТЕКСТ СБРОШЕН] → ответ только по новой теме
РЫЧАГИ УПРАВЛЕНИЯ:
→ Явная фраза-сигнал → Улучшение у всех моделей
→ Reasoning-модель (Claude, Gemini, GPT-4o) → Лучший сброс контекста
→ Новый чат при смене темы → Гарантированный сброс
Пример применения
Задача: Ты обсуждаешь с ChatGPT структуру инвестиционной презентации для стартапа, а потом хочешь переключиться на совсем другое — написать скрипт холодного звонка потенциальному клиенту.
Без сигнала (как делают большинство):
Напиши мне скрипт холодного звонка для B2B-продаж?
Модель, скорее всего, «вклеит» контекст про питч и инвесторов — упомянет раунд, трэкшн, рынок. Это не то, что нужно.
С явным сигналом смены темы:
[НОВАЯ ЗАДАЧА — предыдущее обсуждение презентации не релевантно]
Напиши скрипт холодного звонка для продажи корпоративной подписки
на сервис документооборота. Целевая аудитория — операционные директора
средних компаний (50-200 человек). Цель звонка — назначить демо.
Результат: Модель получила явный разрыв контекста и чистое ТЗ. Скрипт будет про продажи — без случайных слов про инвесторов и runway. Особенно заметно в длинных чатах, где уже 10+ сообщений по другой теме.
Почему это работает
LLMs обучены на связных разговорах. В обучающих данных смена темы — редкость. Большинство диалогов развивают одну линию. Поэтому у моделей встроенный bias на непрерывность — они ожидают продолжения, а не переключения.
Модель не «читает» контекст линейно. Она активирует релевантные части разговора по смыслу. Если твой новый вопрос хоть немного пересекается со старой темой — старые детали «всплывают» в генерации. Явный сигнал ("новая задача", "другой вопрос") создаёт смысловой разрыв, который снижает вес старого контекста.
Reasoning-модели (Claude, Gemini, o3) лучше справляются — потому что они явно «рассуждают» перед ответом. В цепочке размышлений модель успевает «заметить» переключение и осознанно исключить нерелевантные фрагменты. Обычные модели генерируют ответ напрямую — без этого промежуточного фильтра.
Шаблон промпта
Используй явный сброс контекста перед каждой сменой темы:
[НОВАЯ ЗАДАЧА — предыдущее обсуждение {старая_тема} не релевантно]
{новый_запрос}
Контекст для этой задачи:
- {релевантная_деталь_1}
- {релевантная_деталь_2}
Что подставлять:
- {старая_тема} — коротко, что обсуждали до этого: "структуры презентации", "анализа рынка"
- {новый_запрос} — твоя новая задача целиком
- {релевантная_деталь} — только то, что нужно модели знать для НОВОЙ задачи
Для критических смен темы — проще открыть новый чат. Это 100% гарантия чистого старта.
🚀 Быстрый старт — вставь в чат:
Вот шаблон явного сброса контекста при смене темы.
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит про старую тему и новую задачу — потому что для сброса нужно знать границу и что к ней не относится.
Почему это работает (механика)
Слабость: модель не знает, где граница. Когда ты просто пишешь новый вопрос — у модели нет сигнала, что предыдущее нерелевантно. Она взвешивает весь контекст разговора и тащит в ответ всё, что показалось похожим по смыслу.
Возможность: модель чувствительна к явным маркерам. Исследование показало: добавь одну фразу-переход — и все модели начинают лучше детектировать смену темы. Это как поставить разделитель в документе — «новый раздел» делает структуру видимой.
Как сигнал помогает: [НОВАЯ ЗАДАЧА] в квадратных скобках и явное отрицание старого контекста — это не магия. Это снижение веса предыдущих токенов при генерации ответа. Модель генерирует текст по паттерну — и паттерн «сброс контекста» она видела достаточно часто, чтобы реагировать на него правильно.
Рычаги:
- [НОВАЯ ЗАДАЧА] → ещё острее сигнал: [ПОЛНЫЙ СБРОС КОНТЕКСТА] или — — — НОВАЯ ТЕМА — — —
- Упомяни старую тему явно («не про X») → чётче граница исключения
- Перечисли релевантный контекст для новой темы → модель не гадает, а работает с тем, что дал
Ограничения
⚠️ Поздние переключения: Если ты меняешь тему после 7-10+ сообщений по другой теме — даже с явным сигналом остаётся риск залипания. Лучший вариант — новый чат.
⚠️ Слабые open-weight модели: Llama, Mistral — сигнал помогает, но не полностью. Они могут формально «принять» переключение, но всё равно активировать старый контекст. Для важных задач используй GPT-4o, Claude или Gemini.
⚠️ Персонажные чаты (MSC): Модели хуже сбрасывают контекст в разговорах с персональными деталями (имя, привычки, биография). «Залипание» на личных данных — особо устойчивый паттерн.
⚠️ Не универсальное решение: Исследование описывает поведение — но не даёт единого промпта, который работает всегда. Сигнал снижает риск, но не устраняет полностью.
Как исследовали
Команда Netflix взяла реальные диалоги из двух датасетов — тематические Q&A (TopiOCQA) и персонажные разговоры (MSC) — и «склеила» разные разговоры в один: сначала идёт кусок одного диалога, потом без предупреждения начинается другой. Так они получили контролируемые «жёсткие переключения» с точным знанием, где граница.
Десять моделей тестировали в трёх условиях: без подсказки, с фразой-переходом, и с пивотом в разных позициях разговора. Измеряли не только «заметила ли модель переключение», но и over-carry rate — как часто модель несёт старый контекст в новую тему даже после правильного детектирования. Это разделение оказалось ключевым: некоторые модели правильно «классифицируют» переход, но всё равно тащат старое в ответ.
Самый неожиданный результат: reasoning-модели (o3, Claude 3.7, Gemini 2.5 Pro) справляются кардинально лучше не только в детекции, но и в сбросе контекста. А вот gpt-4o-mini — курьёз: хорошо детектирует переключения на одном датасете, но при этом несёт старый контекст в почти 100% случаев. Обнаружил, но не сбросил.
Адаптации и экстраполяции
🔧 Техника: принудительный контекстный якорь в начале каждого нового блока задач
Если у тебя сессия с несколькими темами (стратегия, потом тексты, потом аналитика) — добавляй блок-якорь перед каждой темой:
=== БЛОК 2: ТЕКСТЫ ДЛЯ СОЦСЕТЕЙ === Всё, что обсуждалось про стратегию выше — в этом блоке не используй. Задача: {новая задача}Разделители
===+ явная «забудь» + чёткое ТЗ = минимальное залипание.
🔧 Экстраполяция: используй это как диагностику модели
Хочешь проверить, насколько твоя модель «залипает»? Проведи тест:
[ТЕСТ СБРОСА КОНТЕКСТА] Предыдущий разговор был про {старая тема}. Новый вопрос полностью отдельный: {совсем другое}. Ответь — используй ли ты информацию из предыдущего обсуждения? Если да — скажи какую.Ответ покажет, насколько честно модель работает с контекстом.
Ресурсы
Beyond Continuity: Challenges of Context Switching in Multi-Turn Dialogue with LLMs I Can't Believe It's Not Better Workshop @ ICLR 2026
Авторы: Aditya Sinha, Harald Steck, Vito Ostuni, Matteo Rinaldi — Netflix Inc., Los Gatos, CA
Датасеты: TopiOCQA, MSC (Beyond Goldfish Memory, Xu et al. 2021)
