Контекстное окно: почему модель забывает начало разговора и как с этим жить

29 мая 2026 г. · 7 мин чтения · Максим Космов

Контекстное окно: почему модель забывает начало разговора и как с этим жить
Содержание

Вы провели долгую беседу с AI, дали подробное задание в начале, а через час модель вдруг «забыла» важные детали из первых сообщений. Это не баг и не случайность. Это физическое ограничение любой языковой модели - контекстное окно.

Понять как оно работает - значит перестать злиться на AI и начать использовать его грамотнее.

Что такое контекстное окно

Языковая модель обрабатывает текст не как человек - она не «читает» последовательно и не «хранит» воспоминания. Она видит один большой кусок текста и генерирует продолжение.

Этот кусок - и есть контекстное окно. В него входит всё: системный промпт, история переписки, загруженные документы, ваш текущий вопрос.

Измеряется контекст в токенах. Токен - это примерно 3-4 символа в русском языке или 4-5 символов в английском. Слово «автомобиль» - это примерно 3-4 токена. Предложение из 10 слов - около 15-20 токенов.

Для понимания масштаба: 100 000 токенов - это примерно 75 000 слов или около 150 страниц текста.

Размеры контекста у разных моделей

Разные модели имеют разный размер контекстного окна:

GPT-4o - 128 000 токенов. Для практики это примерно 100 000 слов.

Claude 3.5 Sonnet - 200 000 токенов. Около 150 000 слов, примерно 500 страниц.

Claude 3 Opus - 200 000 токенов.

Gemini 1.5 Pro - 1 000 000 токенов. Это около 750 000 слов, можно загрузить несколько книг сразу.

Gemini 1.5 Flash - 1 000 000 токенов при более низкой цене.

Llama 3.1 (локальная) - 128 000 токенов.

Mistral Large - 128 000 токенов.

Числа впечатляют. Но есть нюансы.

Почему «большое окно» не решает проблему полностью

Казалось бы: 200 000 токенов - это огромно, что может забыть? На практике есть три проблемы.

Проблема 1: «Потеряться в середине». Исследования показывают что модели хуже обрабатывают информацию из середины длинного контекста по сравнению с началом и концом. Если важный факт находится в 50-м сообщении из 200, модель может его «не заметить». Этот эффект называется lost in the middle.

Проблема 2: Деградация качества. По мере заполнения контекста модель начинает обобщать и упрощать. В начале разговора она чётко помнила все детали задания. Через 50 000 токенов переписки - помнит общий смысл, но детали размываются.

Проблема 3: Стоимость. Для платных API каждый токен стоит денег. GPT-4o берёт $2.5 за миллион входящих токенов. Если каждый ваш запрос несёт 100 000 токенов истории, это дорого.

Что происходит когда контекст заполнен

Когда история переписки превышает лимит контекстного окна, происходит одно из двух:

  1. Старые сообщения обрезаются. Система удаляет самые ранние сообщения, чтобы уместить новые. Модель буквально перестаёт видеть начало разговора.

  2. Суммаризация. Некоторые системы автоматически сжимают старую историю в краткое резюме. Детали теряются, остаётся суть.

В обоих случаях если вы дали важные инструкции в самом начале длинного диалога - они могут исчезнуть из поля зрения модели.

Хорошие сервисы (Claude.ai, ChatGPT Plus) предупреждают об этом визуально. Но не всегда.

Практические приёмы: как работать с контекстным окном

Приём 1: Начинайте новый чат для новых задач. Самая простая рекомендация - не накапливайте бесконечно длинные диалоги. Каждая отдельная задача - отдельный чат. Не нужно объяснять модели что было в прошлой беседе. Просто дайте весь нужный контекст заново.

Приём 2: Ключевые инструкции - в начало и в конец. Если важный системный промпт или критические условия задачи есть - давайте их в начале сообщения. При очень длинной переписке продублируйте ключевое требование в конце последнего сообщения.

Приём 3: Используйте Projects в Claude или Custom GPTs. Эти функции позволяют задать постоянный системный промпт на уровне проекта, который остаётся неизменным и не «смывается» историей. Это лучшее место для ролей, правил и контекста о проекте.

Приём 4: Сжимайте историю вручную. При длинном проекте в одном чате периодически просите модель: «Сделай краткое резюме этого диалога, включи ключевые решения и текущий статус». Скопируйте это резюме и вставьте в начало нового чата.

Приём 5: Передавайте только нужное. Вместо того чтобы загружать документ на 200 страниц и надеяться что модель найдёт нужное, выделите 2-3 релевантных страницы и вставьте только их. Или используйте RAG (описан в отдельном гайде) - он автоматически выбирает нужные куски.

Приём 6: Структурируйте первое сообщение. Если задача сложная, первое сообщение должно содержать всё: контекст, роль, задачу, формат ответа, ограничения. Последующие сообщения - только уточнения и итерации. Так важная информация всегда в начале контекста.

Контекстное окно и RAG: в чём разница

Часто путают два подхода: расширенное контекстное окно и RAG (Retrieval-Augmented Generation).

Расширенное контекстное окно: вставляешь все документы целиком в промпт. Модель видит всё сразу. Работает хорошо если документов немного и они умещаются. Стоит денег пропорционально объёму.

RAG: заранее индексируешь документы, при вопросе ищешь только нужные куски и вставляешь в промпт. Экономно по токенам, лучше масштабируется. Но требует дополнительной настройки.

Для небольших задач (1-2 документа по 20 страниц) - вставить напрямую проще. Для больших баз знаний (сотни документов) - RAG обязателен.

Почему модели «с большим контекстом» не всегда лучше

Gemini 1.5 Pro с контекстом в миллион токенов - это впечатляет. Но на практике:

  • Обработка длинного контекста стоит дороже
  • Скорость ответа падает при большом контексте
  • Эффект «потеряться в середине» усиливается

Для большинства задач вполне достаточно 32 000-128 000 токенов. Миллионный контекст нужен для специфических сценариев: анализ всей кодовой базы, чтение нескольких книг одновременно, длинные транскрипты встреч.

Кеширование промптов: когда платить меньше за большой контекст

Если один и тот же большой кусок текста повторяется в каждом запросе (например, длинная инструкция или документ), провайдеры предлагают кеширование промптов.

Anthropic предлагает prompt caching для Claude. Первый запрос обрабатывается полностью. Последующие запросы с тем же началом используют кешированную версию - стоимость снижается на 90% для кешированных токенов.

OpenAI также добавил кеширование контекста для GPT-4o - повторяющееся начало промпта кешируется автоматически со скидкой 50%.

Это особенно полезно в сценарии: большой системный промпт или документ загружается один раз, а потом поступают десятки запросов по нему. Без кеширования каждый запрос оплачивается полностью. С кешированием - только новая часть каждого запроса.

Для пользователей через веб-интерфейс это неважно - там платится подписка. Кеширование критично при работе через API с большими объёмами запросов.

Токены и деньги: практический расчёт

Если используете API напрямую (не через подписку), токены стоят денег. Примерные цены на середину 2026 года:

GPT-4o: $2.5 за миллион входящих токенов, $10 за миллион исходящих. Claude 3.5 Sonnet: $3 за миллион входящих, $15 за миллион исходящих. Gemini 1.5 Flash: $0.075 за миллион токенов (входящие до 128K контекста).

При разовом использовании через веб-интерфейс эти деньги включены в подписку. При автоматизации через API - каждый запрос с длинной историей стоит ощутимо.

Для экономии: используйте модели с меньшим размером (Claude Haiku, GPT-4o-mini) для задач где не нужна максимальная мощность. Очищайте контекст между задачами. Не вставляйте в каждый запрос один и тот же длинный документ - кешируйте его (у Anthropic есть prompt caching, снижающий стоимость повторных запросов на 90%).

Как понять что контекст заканчивается

Некоторые сервисы показывают индикатор заполнения контекста. Claude.ai при приближении к лимиту показывает предупреждение в интерфейсе. В API можно отслеживать поле usage в ответе - там указаны использованные и максимальные токены.

Практический признак проблемы: модель начинает противоречить сама себе или «забывает» ограничения из начала разговора. Попросили писать кратко - через 30 сообщений опять пишет длинно. Это сигнал что важная часть промпта вышла за пределы окна.

Ещё признак: модель стала давать более обобщённые ответы, без специфики которую вы давали в начале. Значит специфика уже не помещается в контекст.

Решение в обоих случаях: начать новый чат и повторить ключевой контекст из начала. Это не откат назад - это правильная работа с инструментом.

Итог: когда что использовать

Для коротких задач (написать текст, ответить на вопрос, отладить код): контекст не проблема. Работайте как обычно.

Для длинных проектов: начинайте новый чат на каждую подзадачу, используйте Projects/Custom Instructions для постоянного контекста.

Для работы с большими документами: оцените объём. Если документ умещается в контекст - загрузите целиком. Если нет - используйте RAG или выбирайте нужные страницы вручную.

Главное понять: контекстное окно - это рабочая память модели, а не долгосрочная память. Оно конечно. Умея им управлять, получаешь стабильно хорошие результаты даже на сложных длинных задачах.

Разборы свежих AI-новостей - в канале AI Компас.

Больше гайдов - guides.kosmoslab.dev/guides.

Читайте дальше