COMRAD404 / GLOSSARY

Контекстное окно (Context Window)

Context Window

Контекстное окно — это лимит токенов, который модель может учесть в одном обращении. Разбираем, что именно в него входит, как проверять реальные лимиты у провайдера и чем оно отличается от max output tokens.

TL;DR

Контекстное окно — это лимит токенов, который модель может обработать в одном обращении, учитывая вход и, в зависимости от провайдера, бюджет под вывод.

Контекстное окно (context window) — это объём токенов, который модель может обработать в одном обращении. Проще говоря, это предел того, сколько текста и других токенизированных данных модель способна «удержать в поле внимания» при генерации ответа; при этом практический доступный объём под вход часто меньше номинального, потому что часть бюджета уходит на вывод и служебный контекст.

Английский термин: context window. Также встречается: окно контекста, длина контекста. В документации рядом с ним часто публикуются отдельные поля для лимитов ввода и вывода, например inputTokenLimit, outputTokenLimit или max output tokens.

Простыми словами

Можно представить контекстное окно как рабочий стол. Пока на стол помещаются инструкция, история переписки, фрагменты документа и ваш текущий вопрос, модель видит их одновременно и отвечает с опорой на весь набор. Если данных слишком много, часть придётся убрать, сократить или подавать по частям.

Это именно аналогия, а не техническое описание. На практике модель работает не со словами, а с токенами, поэтому «помещается» или «не помещается» определяется не количеством страниц, а результатом токенизации.

Как это работает

Современные LLM построены на архитектуре трансформера, описанной в работе Attention Is All You Need. Трансформер обрабатывает последовательность токенов и сопоставляет элементы через механизм attention, поэтому длина последовательности имеет прикладной лимит, который провайдер публикует в API и карточках моделей как контекстное окно.

Системные инструкции
+ история сообщений
+ документы или фрагменты базы знаний
+ текущий запрос
= входные токены

входные токены + токены ответа + практический запас
<= лимит модели
  1. Текст сначала разбивается на токены. У OpenAI для оценки токенизации используется BPE-токенизатор tiktoken.
  2. Провайдер задаёт лимиты модели. В документации Gemini контекстное окно прямо определяется как совокупный лимит входных и выходных токенов.
  3. Во время запроса модель работает в рамках этого бюджета. Если вы хотите длинный ответ, под него нужно оставить часть окна.
  4. Если бюджет превышен, запрос надо сокращать, резать на части или менять схему работы.

Здесь важно не смешивать маркетинговое число и реальный usable budget. По состоянию на 2026-08-16 разные провайдеры публикуют лимиты по-разному: Gemini предлагает проверять текущие значения программно через client.models.get(...) и поля input_token_limit/output_token_limit, а OpenAI в карточках моделей отдельно показывает размер окна и предел вывода.

Практический вывод редакции: ориентируйтесь не на старые скриншоты и не на общий обзор, а на живые поля лимитов в официальной документации или endpoint модели. Эта статья фиксирует состояние на 2026-08-16; точные окна, алиасы, доступность и ограничения вывода меняются.

Актуальные ориентиры на 2026-08-16

Провайдер / модель Контекстное окно Лимит вывода Что важно
OpenAI GPT-5.6 Sol 1,050,000 токенов 128,000 токенов Алиас gpt-5.6 направляется на GPT-5.6 Sol
OpenAI GPT-5.6 Terra / Luna 1.05M токенов 128K токенов Текущие значения опубликованы на странице моделей
OpenAI GPT-4 8,192 токена Полезная историческая точка сравнения
Anthropic Claude Fable 5 / Opus 5 / Sonnet 5 1M токенов проверяйте по текущей странице модели Доступность зависит от платформы и способа развёртывания
Anthropic Claude Haiku 4.5 200k токенов проверяйте по текущей странице модели Меньшее окно, чем у старших моделей
Gemini многие модели имеют 1M+ токенов смотрите live-метаданные модели Точные inputTokenLimit и outputTokenLimit надо запрашивать у API

Для Gemini документация по long context отдельно указывает, что многие модели имеют окно в 1 миллион токенов и более, а changelog фиксирует появление окна в 2M для Gemini 1.5 Pro в мае 2024 года и его GA-релиз в июне 2024 года. Для Anthropic release notes показывают, что большие окна могут долго идти от beta к GA, поэтому опираться на давний пост без перепроверки рискованно.

Где применяется

  • Проектирование запросов в API. Если вы работаете через API в контексте ИИ-сервисов, контекстное окно определяет, сколько истории чата, инструкций и вложенных документов можно отправить за один вызов.
  • Работа с длинными документами. Когда весь документ не помещается в одно окно, его режут на части или строят извлечение по запросу. На практике это тесно связано с подходами вроде контекстного извлечения (Contextual Retrieval).
  • Разграничение обучения и инференса. Контекстное окно — это не то же самое, что настройка модели в процессе обучения. Его полезно отличать от инструкционного обучения (Instruction Tuning), где меняются веса модели, а не бюджет токенов в запросе.
  • Выбор модели под задачу. Даже внутри одного класса систем на базе машинного обучения (ML) разница в окне контекста меняет архитектуру продукта: где-то хватит одной передачи запроса, а где-то придётся строить многошаговый пайплайн.

Практический пример

Самый безопасный сценарий — не угадывать лимиты по памяти, а проверять их перед внедрением. Для Gemini официальный путь такой: получить метаданные модели и прочитать поля лимитов, затем отдельно посчитать токены входа.

# Концептуальный фрагмент по официальной документации Gemini
model = client.models.get(...)
input_limit = model.input_token_limit
output_limit = model.output_token_limit

# Дальше вы:
# 1) считаете токены входа,
# 2) оставляете запас под ответ,
# 3) сравниваете итог с лимитом модели.

Практический сценарий выглядит так:

  1. Берёте точный идентификатор модели из текущей документации провайдера.
  2. Читаете опубликованное окно контекста и предел вывода.
  3. Считаете токены входа тем способом, который рекомендует провайдер; для OpenAI полезен tiktoken как BPE-токенизатор.
  4. Если вы работаете с Gemini, дополнительно сверяете live-значения через models.get, а не полагаетесь на пример из старой статьи.
  5. Если данные не помещаются, не «дожимаете» запрос, а переходите к дроблению контента, извлечению релевантных фрагментов или смене модели.

Это намеренно консервативный подход. Он лучше соответствует текущей практике, чем попытка вывести лимит из названия модели или из чужого бенчмарка.

Чем отличается от…

Термин Что это Чем отличается от контекстного окна
Токен (token) Единица текста после токенизации Контекстное окно измеряется в токенах, но не равно одному токену; это общий бюджет, а не его минимальная единица
Max output tokens Предел длины генерируемого ответа Это не всё окно. У OpenAI он публикуется отдельно от context window, а у Gemini вывод входит в совокупный бюджет окна
Long context Класс моделей или режимов с особенно большим окном Это не отдельный механизм токенизации, а характеристика размера окна, например 1M+ токенов у части Gemini-моделей

Если упростить: токены — это «единицы счёта», контекстное окно — «общий бюджет», а max output tokens — «верхняя граница ответа». Из-за этой разницы путаница в документации возникает чаще всего.

Ограничения и заблуждения

  • Заблуждение: «контекстное окно = доступный объём входа». На практике часть бюджета нужно оставить под ответ, а иногда и под служебные элементы запроса.
  • Заблуждение: «1 токен = 1 слово». Это неверно. Токенизатор BPE делит текст на более мелкие фрагменты, поэтому количество токенов нельзя надёжно оценивать «на глаз» по словам.
  • Заблуждение: «если где-то написано 1M, так будет везде». Нет. Доступность и лимиты зависят от конкретной модели, платформы и даты проверки. Anthropic прямо различает развёртывания по разным платформам, а Gemini рекомендует читать живые метаданные модели.
  • Заблуждение: «достаточно знать рекламное число». Для внедрения важнее четыре вещи: как именно провайдер определяет окно, какой у модели лимит вывода, как считать токены и менялся ли алиас модели.

Редакционное ограничение: в этой статье не приводятся универсальные «безопасные» числа запаса под системные инструкции или tools, потому что такие значения зависят от конкретного API-вызова и меняются вместе с документацией провайдера.

Связанные термины и инструменты

Источники

Вопросы и ответы

Что входит в контекстное окно?

В него входят токены, которые модель должна обработать в рамках одного обращения. В документации Gemini это прямо описано как совокупный лимит входных и выходных токенов; у других провайдеров лимит вывода может публиковаться отдельным полем.

Контекстное окно и лимит вывода — это одно и то же?

Нет. Лимит вывода ограничивает длину ответа, а контекстное окно задаёт общий бюджет токенов, с которым работает модель. Поэтому длинный ответ уменьшает доступный бюджет под вход.

Как проверить актуальный размер окна у модели?

Надёжнее всего смотреть официальный model card или запрашивать метаданные модели через официальный API. Для Gemini документация рекомендует использовать models.get и читать поля inputTokenLimit/outputTokenLimit.

Можно ли отправить во вход весь заявленный миллион токенов?

Не всегда. Практически вам почти всегда нужно оставить запас под ответ, а иногда и под служебные части запроса. Поэтому usable input budget обычно меньше номинального числа из карточки модели.

Почему старые статьи про контекстное окно быстро устаревают?

Потому что провайдеры меняют модели, алиасы, доступность по платформам и сами лимиты. Именно поэтому для рабочих решений лучше опираться на текущую документацию, а не на вторичный пересказ.

Источники

SOURCES

Вопросы и ответы

FAQ
Что входит в контекстное окно?

Это токены, которые модель обрабатывает в одном обращении. В документации Gemini окно контекста определяется как совокупный лимит входных и выходных токенов; у других провайдеров лимит вывода может публиковаться отдельно.

Контекстное окно и max output tokens — это одно и то же?

Нет. Max output tokens ограничивает длину ответа, а контекстное окно задаёт общий бюджет токенов, доступный модели при обработке запроса.

Как проверить актуальный размер окна у модели?

Смотрите официальный model card или запрашивайте метаданные модели через официальный API. Для Gemini документация рекомендует использовать models.get и читать inputTokenLimit и outputTokenLimit.

Можно ли использовать весь заявленный объём окна только под вход?

Не всегда. Обычно нужно оставить часть бюджета под ответ, а иногда и под служебные элементы запроса, поэтому реальный доступный объём входа меньше номинального.

Почему статьи про контекстное окно быстро устаревают?

Потому что провайдеры меняют модели, алиасы, доступность по платформам и лимиты. Для рабочих решений лучше перепроверять официальную документацию на дату внедрения.

Читайте также

LINKS