Контекстные окна
Узнайте, как работает контекстное окно, как расширенные размышления и использование инструментов учитываются в нём и как управлять контекстом по мере роста диалогов.
По мере роста диалогов вы в конечном итоге приблизитесь к пределам контекстного окна. Для длительных диалогов и агентных рабочих процессов основной стратегией управления контекстом является сжатие на стороне сервера.
Как работает контекстное окно
«Context window» (контекстное окно) — это весь текст, на который языковая модель может ссылаться при генерации ответа, включая сам ответ. Это отличается от большого корпуса данных, на котором обучалась языковая модель, и представляет собой «рабочую память» модели. Большее контекстное окно позволяет модели обрабатывать более сложные и длинные подсказки, но больше контекста не означает автоматически лучше. По мере роста количества токенов точность и полнота воспроизведения снижаются — явление, известное как context rot (деградация контекста). Поэтому отбор того, что находится в контексте, так же важен, как и объём доступного пространства.
Следующая диаграмма иллюстрирует стандартное поведение контекстного окна для запросов API1:
1 Чат-интерфейсы, такие как claude.ai, также могут управлять контекстным окном по скользящему принципу «первым пришёл — первым ушёл».
- Постепенное накопление токенов: по мере продвижения диалога по ходам каждое сообщение пользователя и ответ ассистента накапливаются в контекстном окне, а предыдущие ходы сохраняются полностью.
- Ёмкость контекстного окна: контекстное окно (до 1M токенов в зависимости от модели) содержит историю диалога плюс новый вывод, который генерирует Claude.
- Поток ввода-вывода: каждый ход состоит из:
- Фаза ввода: содержит всю предыдущую историю диалога плюс текущее сообщение пользователя
- Фаза вывода: генерирует текстовый ответ, который становится частью ввода для следующего хода
Всё в запросе учитывается в контекстном окне: «system prompt» (системная подсказка), каждое сообщение в messages (включая результаты инструментов, изображения и документы) и ваши определения инструментов. Вывод, который Claude генерирует за ход, включая его расширенные размышления, тоже учитывается. Каждый ответ сообщает, сколько потребил запрос, в поле usage. Если вы используете «prompt caching» (кэширование подсказок), количество входных токенов распределяется между input_tokens, cache_read_input_tokens и cache_creation_input_tokens, и все три учитываются в окне. Чтобы оценить запрос перед отправкой, используйте API подсчёта токенов.
Размеры контекстного окна по моделям
Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5.5, Claude Sonnet 5, Claude Sonnet 4.6 и Claude Mythos Preview имеют контекстное окно в 1M токенов. Один запрос к любой из них может сгенерировать до 128k выходных токенов (max_tokens). Другие модели Claude, включая Claude Sonnet 4.5, имеют контекстное окно в 200k токенов.
Для каждой модели с контекстным окном в 1M токенов значение 1M используется по умолчанию: вам не нужен бета-заголовок, а запросы с длинным контекстом тарифицируются по стандартным ценам.
Один запрос может включать до 600 изображений или страниц PDF (100 для моделей с контекстным окном в 200k токенов). Если вы отправляете много изображений или большие документы, вы можете достичь ограничений на размер запроса раньше, чем лимита токенов.
Список размеров контекстного окна по моделям см. в таблице сравнения моделей.
Контекстное окно с размышлениями
При использовании размышлений все входные и выходные токены, включая токены размышлений, учитываются в лимите контекстного окна, с некоторыми нюансами в многоходовых ситуациях.
Токены размышлений являются подмножеством вашего параметра max_tokens, тарифицируются как выходные токены и учитываются в «rate limits» (ограничениях скорости). При адаптивных размышлениях Claude определяет объём размышлений динамически, поэтому расход токенов размышлений варьируется от запроса к запросу.
Остаются ли блоки размышлений из предыдущих ходов ассистента в контекстном окне, зависит от модели. На Claude Opus 4.5 и более поздних моделях Opus, Claude Sonnet 4.6 и более поздних моделях Sonnet, Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5 и Claude Mythos Preview API по умолчанию сохраняет предыдущие блоки размышлений, и они учитываются в контекстном окне, как и любые другие входные токены. На более ранних моделях Opus и Sonnet и на всех моделях Haiku API автоматически удаляет предыдущие блоки размышлений из истории диалога, когда вы передаёте их обратно, что сохраняет ёмкость токенов для содержимого диалога. Значения по умолчанию для каждой модели см. в разделе сохранение блоков размышлений по моделям. Чтобы переопределить поведение по умолчанию в любую сторону, используйте очистку блоков размышлений.
Следующая диаграмма показывает, как управляются токены, когда размышления включены на модели, которая удаляет предыдущие блоки размышлений:
- Удаление блоков размышлений: на моделях, которые удаляют предыдущие блоки размышлений, блоки размышлений (показаны тёмно-серым) генерируются во время фазы вывода каждого хода, но не переносятся как входные токены в последующие ходы. Вам не нужно удалять блоки размышлений самостоятельно: если вы передадите их обратно, Claude API удалит их автоматически.
- Тарификация: токены размышлений тарифицируются как выходные токены один раз — при генерации. На моделях, которые сохраняют предыдущие блоки размышлений, сохранённые блоки затем становятся частью ввода последующих запросов и тарифицируются как входные токены, как и остальная история диалога.
Контекстное окно с размышлениями и использованием инструментов
Следующая диаграмма иллюстрирует, как управляются токены, когда вы сочетаете размышления с «tool use» (использованием инструментов) на модели, которая удаляет предыдущие блоки размышлений:
Архитектура первого хода
- Компоненты ввода: конфигурация инструментов и сообщение пользователя
- Компоненты вывода: размышления + текстовый ответ + запрос на использование инструмента
- Подсчёт токенов: все компоненты ввода и вывода учитываются в контекстном окне, а все компоненты вывода тарифицируются как выходные токены.
Обработка результата инструмента (ход 2)
- Компоненты ввода: каждый блок первого хода и
tool_result. Вы должны вернуть блок размышлений вместе с соответствующими результатами инструментов. Это единственный случай, когда вы обязаны возвращать блоки размышлений. - Компоненты вывода: после того как результаты инструментов переданы обратно Claude, Claude отвечает только текстом (без дополнительных размышлений до следующего сообщения
user, если не включены чередующиеся размышления). - Подсчёт токенов: все компоненты ввода и вывода учитываются в контекстном окне, а все компоненты вывода тарифицируются как выходные токены.
- Компоненты ввода: каждый блок первого хода и
Новый ход пользователя (ход 3)
- Компоненты ввода: все входные данные и вывод предыдущего хода переносятся дальше. Блок размышлений из завершённого цикла использования инструментов больше не обязан оставаться в контексте: на моделях, которые удаляют предыдущие блоки размышлений, API отбрасывает его автоматически, когда вы передаёте его обратно, а на моделях, которые сохраняют предыдущие блоки размышлений, он остаётся, если вы не очистите его с помощью очистки блоков размышлений. Здесь же вы добавляете следующий ход
user. - Компоненты вывода: поскольку есть новый ход
userвне цикла использования инструментов, Claude генерирует новый блок размышлений и продолжает с него. - Подсчёт токенов: на моделях, которые удаляют предыдущие блоки размышлений, предыдущие токены размышлений больше не учитываются в контекстном окне. Все остальные предыдущие блоки по-прежнему учитываются в контекстном окне, как и блок размышлений в текущем ходе
assistant.
- Компоненты ввода: все входные данные и вывод предыдущего хода переносятся дальше. Блок размышлений из завершённого цикла использования инструментов больше не обязан оставаться в контексте: на моделях, которые удаляют предыдущие блоки размышлений, API отбрасывает его автоматически, когда вы передаёте его обратно, а на моделях, которые сохраняют предыдущие блоки размышлений, он остаётся, если вы не очистите его с помощью очистки блоков размышлений. Здесь же вы добавляете следующий ход
- Что учитывать при использовании инструментов с размышлениями:
- Когда вы отправляете результаты инструментов, вы должны включить весь неизменённый блок размышлений, сопровождающий этот запрос инструмента, включая его подпись.
- API использует криптографические подписи для проверки подлинности блоков размышлений. Если вы измените блок размышлений, API вернёт ошибку.
Чтобы сократить контекст, потребляемый самими определениями инструментов, см. Управление контекстом инструментов или отложите определения инструментов с помощью инструмента поиска инструментов.
Осведомлённость о контексте
Claude Sonnet 5, Claude Sonnet 4.6, Claude Sonnet 4.5 и Claude Haiku 4.5 обладают «context awareness» (осведомлённостью о контексте): эти модели отслеживают оставшееся контекстное окно (свой «бюджет токенов») на протяжении всего диалога. Это позволяет модели управлять длительными задачами с учётом оставшегося пространства, а не гадать, сколько токенов осталось. Осведомлённость о контексте работает автоматически: вам ничего не нужно включать, и вы никогда не отправляете теги, показанные в этом разделе, самостоятельно. Их внедряет API.
Как это работает
В системной подсказке каждого запроса API сообщает Claude его полное контекстное окно:
<budget:token_budget>200000</budget:token_budget>Бюджет соответствует контекстному окну, доступному вашему запросу: 1M токенов для Claude Sonnet 5 и Claude Sonnet 4.6 и 200k токенов для Claude Sonnet 4.5 и Claude Haiku 4.5. Примеры в этом разделе показывают модель с контекстным окном в 200k токенов.
После каждого вызова инструмента API сообщает Claude обновлённые данные об оставшейся ёмкости:
<system_warning>Token usage: 35000/200000; 165000 remaining</system_warning>Токены изображений включены в эти бюджеты.
Claude Opus 4.7 и более поздние модели Opus, Claude Sonnet 5.5, Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5 и Claude Mythos 5 не получают эти внедряемые теги. На этих моделях вы можете задать модели явный бюджет с помощью «task budgets» (бюджетов задач), которые находятся в бета-версии.
Рекомендации по составлению подсказок с использованием осведомлённости о контексте см. в разделе Лучшие практики составления подсказок.
Управление контекстом с помощью сжатия
Если ваши диалоги регулярно приближаются к пределам контекстного окна, используйте сжатие на стороне сервера. Сжатие автоматически резюмирует более ранние части диалога на сервере, так что диалог может продолжаться за пределами лимита контекстного окна. Оно доступно в бета-версии для моделей Claude 4.6 и более поздних, а также для Claude Mythos Preview.
Для более специализированных потребностей редактирование контекста предлагает дополнительные стратегии:
- Очистка результатов инструментов: очищайте старые результаты инструментов в агентных рабочих процессах
- Очистка блоков размышлений: управляйте блоками размышлений при использовании расширенных размышлений
Кэшированные префиксы подсказок по-прежнему занимают контекстное окно: кэширование подсказок меняет то, сколько вы платите за эти токены, а не то, учитываются ли они.
Поведение при переполнении контекстного окна
Если один только ввод уже превышает контекстное окно модели, API возвращает ошибку 400 invalid_request_error («prompt is too long») на любой модели.
На моделях Claude 4.5 и новее, если сумма входных токенов и max_tokens превышает размер контекстного окна, API принимает запрос. Если генерация затем достигает лимита контекстного окна, она останавливается с stop_reason: "model_context_window_exceeded". На более ранних моделях API вместо этого возвращает ошибку валидации. Чтобы включить поведение model_context_window_exceeded на этих моделях, используйте бета-заголовок model-context-window-exceeded-2025-08-26. Подробности см. в разделе Причины остановки и резервные стратегии.
Чтобы оставаться в пределах контекстного окна, используйте API подсчёта токенов для оценки расхода токенов перед отправкой сообщений Claude.
Следующие шаги
Сжатие контекста на стороне сервера для управления длинными диалогами, приближающимися к пределам контекстного окна.
Автоматически управляйте контекстом диалога по мере его роста с помощью редактирования контекста.
См. таблицу сравнения моделей со списком размеров контекстного окна и цен на входные/выходные токены по моделям.
Дайте Claude расширенные возможности рассуждения для сложных задач и управляйте тем, как возвращается содержимое размышлений.
Was this page helpful?