Урок 6: Контекст
В этом уроке мы разберем одно из ключевых понятий при работе с большими языковыми моделями — контекстное окно (context window). Понимание того, как работает контекст, поможет вам эффективнее строить диалоги с нейросетями, избегать потери важной информации и осознанно подходить к управлению длинными беседами.
Что такое контекстное окно?
Контекстное окно — максимальный объем информации (измеряемый в токенах), который модель может одновременно удерживать в памяти при генерации ответа. Проще говоря, это рабочее пространство модели в рамках одного диалога.
Представьте, что вы разговариваете с человеком, у которого ограниченная краткосрочная память. Он помнит только последние несколько минут беседы. Все, что было сказано раньше, он забывает. Примерно так же работает и контекстное окно у языковых моделей.
Что входит в контекстное окно?
- Ваш текущий запрос
- Вся предыдущая история переписки (ваши вопросы и ответы модели)
- Системные инструкции и настройки
- Загруженные документы или файлы
Токены: единица измерения контекста
Чтобы понимать размер контекстного окна, нужно разобраться с понятием токена. Токен — минимальная единица текста, которую обрабатывает модель. Это может быть:
- Целое слово (например, "кот");
- Часть слова (например, "нейро" в слове "нейросеть");
- Отдельный символ или знак препинания.
Для английского языка действует примерное правило: 100 токенов ≈ 75 слов.Важно понимать, что для русского языка это соотношение другое. Из-за особенностей токенизации русский текст занимает примерно в 2-2.5 раза больше токенов, чем английский того же смыслового объема. Например, в среднем на одно русское слово приходится ~3.3 токена.
Если у вас оплата по токенам то выгодней писать промпты на английском нежели чем на русском!
Размеры контекстного окна у современных моделей
Модели постоянно развиваются, и их контекстные окна значительно выросли. Вот актуальные данные по популярным моделям:
| Модель | Контекстное окно (токены) | Примерный объем текста (на английском) | Примерный объем текста (на русском) |
|---|---|---|---|
| OpenAI ChatGPT 5 | 400 000 токенов | ~300 000 слов / ~600 страниц | ~120 000 слов / ~240 страниц |
| Anthropic Claude Opus 4.8 | 1 000 000 токенов | ~750 000 слов / ~1 500 страниц | ~300 000 слов / ~600 страниц |
| Google Gemini 3.1 Pro | 1 000 000 токенов | ~750 000 слов / ~1 500 страниц | ~300 000 слов / ~600 страниц |
Для сравнения: первый ChatGPT при запуске имел контекстное окно всего в 8 192 токена — примерно 15 страниц текста. Современные модели способны удерживать в памяти объем, сравнимый с несколькими книгами.
Важно: Контекстное окно включает и входной текст, и выходной (ответ модели). То есть если вы загрузили документ на 100 000 токенов, у модели остается всего 28 000 токенов для ответа в рамках лимита 128 000
Как модели запоминают диалог?
Важный нюанс: языковые модели по своей архитектуре не имеют встроенной памяти. Каждый запрос обрабатывается независимо. Тогда как же работает диалог?
Когда вы общаетесь с ChatGPT или другой нейросетью через интерфейс, система автоматически подставляет всю историю вашей переписки в каждый новый запрос. Получается, что с каждым новым сообщением ваш невидимый промпт становится длиннее и длиннее.
Как модели обрабатывают переполнение контекста?
Когда объем диалога превышает лимит контекстного окна, модели ведут себя по-разному. Это критически важно понимать для управления беседой.
OpenAI (ChatGPT): Модели OpenAI не дают сбросить контекст автоматически. При превышении лимита самые старые сообщения просто отбрасываются (обрезаются). При этом в интерфейсе чата история может оставаться визуально целой, но модель фактически не видит начало диалога. Это может привести к тому, что нейросеть забудет важные инструкции или вводные данные, данные в начале беседы, и начнет отвечать нелогично.
Другие модели:
- Claude (Anthropic) хранит всю историю до достижения лимита, после чего также происходит обрезание.
- Gemini использует подход, аналогичный ChatGPT, с приоритетом на последние сообщения.
Важно: Иногда сообщение об ошибке превышен лимит контекста путают с ограничением по частоте запросов (rate limit). Это разные вещи. Превышение контекста решается сокращением диалога, а не ожиданием.
Функция для сброса контекста
Работа с длинными диалогами в OpenAI может быть неудобной именно из-за того, что старые сообщения обрезаются незаметно для пользователя, а специального инструмента для сброса контекста в стандартном интерфейсе нет.
В некоторых сервисах эта проблема решена. Например, BotHub. Здесь реализована специальная кнопка сброса контекста. Она позволяет вручную очистить память модели в текущем диалоге, не начиная новый чат.
Практические советы по управлению контекстом
Итак, как эффективно работать с контекстным окном, чтобы не терять важную информацию?
Начинайте новый диалог для новой задачи. Если вы переключаетесь на совершенно другую тему или новый этап проекта, лучше открыть новый чат. Это даст модели чистый лист и полный объем контекстного окна для новой задачи.
Периодически резюмируйте ключевую информацию. В длинных беседах полезно освежать память модели:
- "Подведем итог: наша главная цель — ..., мы уже выяснили, что ..., теперь перейдем к ..."
- "Напомню, в начале разговора мы договорились, что целевая аудитория — ..." Это возвращает важные тезисы в активную часть контекста.
Разбивайте большие задачи на подзадачи. Вместо одного гигантского диалога, посвященного, например, написанию целой главы диплома, разбейте работу на части: сначала структура, потом отдельные разделы в новых чатах.
Следите за процентом заполнения контекста. В некоторых интерфейсах отображается, сколько места в контекстном окне уже занято. Это подскажет, когда стоит задуматься о сбросе или сокращении диалога.
Контекстное окно — это рабочая память языковой модели. Понимание его устройства и ограничений — ключевой навык для эффективной работы. Современные модели могут обрабатывать сотни страниц текста, но их производительность может снижаться по мере заполнения окна.
Помните, что старые сообщения могут исчезать из памяти модели незаметно для вас. Используйте стратегии управления контекстом.