Контекстное окно и максимальное число выходных токенов: лимиты GPT-6, Claude, DeepSeek и Kimi
Что такое контекстное окно и максимальное число выходных токенов, лимиты GPT-6, Claude, DeepSeek V4.1 Flash и Kimi K3 и что делать с оборванными ответами.
Читать в MarkdownКонтекстное окно — это общее число токенов, которое модель может удержать в одном запросе: ваш промпт, история диалога, изображения и ответ, который она пишет. Лимит максимального числа выходных токенов — это максимум, который модель может написать в этом ответе, и у моделей с рассуждением в него входят токены, потраченные на рассуждение. Ответ должен поместиться в контекстное окно, поэтому длинный промпт оставляет меньше места для вывода.
В чём разница между контекстным окном и максимальным числом выходных токенов?
Контекстное окно — общее пространство. Всё, что вы отправляете, и всё, что модель пишет в одном запросе, должно в нём поместиться.
Максимальное число выходных токенов — отдельный, меньший предел только для ответа. У каждой модели есть свой потолок, а в каждом API есть параметр, который позволяет задать для отдельного запроса лимит ниже.
Из этого следуют два вывода:
- Вход и выход конкурируют за одно и то же окно. В справочнике API DeepSeek об этом сказано прямо: «Общая длина входных и сгенерированных токенов ограничена длиной контекста модели».
- Рассуждение считается выводом. У GPT-6, Claude, DeepSeek V4.1 Flash и Kimi K3 токены, которые модель тратит на рассуждение, учитываются в лимите вывода и тарифицируются как выходные токены. Ответ может оборваться раньше времени, даже если видимая часть ответа короткая.
Какие лимиты у каждой модели?
| Модель | ID модели | Контекстное окно | Максимальный вывод | Параметр вывода | По умолчанию, если параметр не указан |
|---|---|---|---|---|---|
| GPT-6 Astra, Sol, Luna | gpt-6-astra, gpt-6-sol, gpt-6-luna | 1,05M токенов (922K на вход) | 128K | max_output_tokens (Responses), max_completion_tokens (Chat Completions) | Максимум модели |
| Claude Opus 5.5, Fable 5.1, Fable 5 | claude-opus-5-5, claude-fable-5-1, claude-fable-5 | 1M токенов | 128K | max_tokens | Нет: поле обязательно |
| DeepSeek V4.1 Flash | deepseek-v4.1-flash | 1M токенов | 393 216 | max_tokens | 8K без рассуждения, 64K с рассуждением, 128K при уровне max |
| Kimi K3 | kimi-k3 | 1 048 576 токенов | 1 048 576 | max_completion_tokens | 131 072 |
Именно последний столбец — источник большинства оборванных ответов. DeepSeek V4.1 Flash может написать 393 216 токенов, но если не задать max_tokens, модель останавливается на 8K, а с включённым рассуждением — на 64K. Kimi K3 может написать до 1 048 576 токенов, но по умолчанию ограничена 131 072.
Полный список параметров есть в справочнике API каждой модели: GPT-6 Astra, Claude Opus 5.5, DeepSeek V4.1 Flash и Kimi K3.
max_tokens, max_completion_tokens или max_output_tokens?
Все они ограничивают ответ. Какой из них отправлять, зависит от формата API и от модели:
| Формат API | Параметр | Примечания |
|---|---|---|
OpenAI Responses (/v1/responses) | max_output_tokens | OpenAI: «Верхняя граница числа токенов, которые могут быть сгенерированы для ответа, включая видимые выходные токены и токены рассуждения». |
OpenAI Chat Completions (/v1/chat/completions) | max_completion_tokens | OpenAI помечает max_tokens как «устаревший в пользу max_completion_tokens» и «несовместимый с моделями o-series». Для GPT-6 используйте max_completion_tokens. |
Anthropic Messages (/v1/messages) | max_tokens | Обязателен в каждом запросе. |
| DeepSeek Chat Completions | max_tokens | От 1 до 393216. |
| Kimi Chat Completions | max_completion_tokens | max_tokens — устаревшее название того же лимита. |
Если API отвечает «max_tokens is not supported with this model» (max_tokens не поддерживается этой моделью), переключитесь на параметр из этой таблицы.
Почему модель остановилась, не закончив ответ?
Она упёрлась в лимит вывода. Каждый API сообщает об этом в самом ответе, а не в виде ошибки:
| API | Поле | Значение при достижении лимита вывода |
|---|---|---|
| OpenAI Responses | incomplete_details.reason | "max_output_tokens" |
| OpenAI Chat Completions | choices[].finish_reason | "length" |
| Anthropic Messages | stop_reason | "max_tokens" |
| DeepSeek | choices[].finish_reason | "length" |
У Anthropic есть вторая причина остановки, model_context_window_exceeded, — для ответа, который заполнил всё контекстное окно. У DeepSeek length покрывает оба случая: ответ превысил max_tokens или диалог превысил длину контекста.
Как это исправить:
- Поднимите лимит вывода до максимума модели из таблицы выше.
- Понизьте уровень рассуждения. Чем меньше рассуждения, тем больше бюджета остаётся на сам ответ и тем ниже стоимость.
- Продолжайте, а не повторяйте запрос. Отправьте частичный ответ обратно и попросите модель продолжить. Руководство Anthropic по причинам остановки описывает именно этот приём для
max_tokens.
Что означает «context window exceeded» (превышено контекстное окно)?
Ваш запрос не помещается в окно модели. Где именно он завершится ошибкой, зависит от API:
- Claude. Если больше окна уже один только вход, API возвращает 400
invalid_request_error(«prompt is too long» — промпт слишком длинный). Если больше окна только сумма входа иmax_tokens, то, согласно документации Anthropic, Claude 4.5 и более новые модели, включая модели из этого руководства, принимают запрос и останавливаются сstop_reason: "model_context_window_exceeded", если им не хватает места. - DeepSeek. Ответ заканчивается с
finish_reason: "length", когда диалог превышает длину контекста.
Три способа исправить, по порядку:
- Удалите старые ходы диалога или замените их кратким изложением. Это единственное решение, если слишком длинный уже сам вход.
- Понизьте лимит вывода, чтобы вход и выход поместились вместе.
- Перейдите на модель с большим окном. Все четыре семейства из таблицы выше читают около 1M токенов.
Как агенты для программирования работают с этими лимитами?
Агенты для программирования задают лимит вывода за вас, и их значения по умолчанию могут быть ниже, чем позволяет модель.
Claude Code использует CLAUDE_CODE_MAX_OUTPUT_TOKENS. В его документации сказано, что по умолчанию действует «32000 для ID моделей, которые он не распознаёт, например названий, специфичных для шлюза, а значения выше потолка модели снижаются до этого потолка». Когда вы запускаете DeepSeek V4.1 Flash или Kimi K3 в Claude Code, задайте эту переменную, если вам нужны более длинные ответы. Та же документация предупреждает, что более высокое значение «уменьшает эффективное контекстное окно, доступное до срабатывания автоматического сжатия».
Codex читает model_context_window из config.toml; в документации параметр описан как «токены контекстного окна, доступные активной модели». Задайте его для моделей, которых Codex не знает, как в нашей настройке Kimi K3 и настройке DeepSeek V4.1 Flash. Для незнакомого названия модели Codex также выводит: «Model metadata for <model> not found. Defaulting to fallback metadata; this can degrade performance and cause issues.» (метаданные для <model> не найдены; используются резервные метаданные, что может ухудшить производительность и вызвать проблемы). Сессия при этом работает.
Часто задаваемые вопросы
Входят ли выходные токены в контекстное окно?
Да. Вход, история, изображения и ответ делят одно контекстное окно. Лимит максимального вывода — отдельный предел для ответа внутри этого окна.
Учитываются ли токены рассуждения в максимальном числе выходных токенов?
Да, у всех четырёх семейств моделей из этой статьи. Токены рассуждения учитываются в лимите вывода и тарифицируются как выходные токены.
Какая модель пишет самые длинные ответы?
Kimi K3 принимает max_completion_tokens до 1 048 576, а DeepSeek V4.1 Flash — max_tokens до 393 216. GPT-6 и Claude останавливаются на 128K за запрос.
Обходится ли больший лимит вывода дороже?
Нет. Вы платите за токены, которые модель действительно написала, а не за заданный лимит. Более высокий лимит важен, только когда модели действительно нужно это место.
Где посмотреть актуальные цены на эти модели?
На странице каждой модели: GPT-6 Astra, Claude Opus 5.5, DeepSeek V4.1 Flash и Kimi K3.



