Codex на GPT-6.1 Sol режет окно до 828 400, но пропустил вход на 888 тысяч токенов

Разработчик заметил, что Codex CLI на GPT-6.1 Sol сообщает окно 828 400 токенов, хотя в конфиге стоит миллион. Число считается из серверного каталога: max_context_window 872 000 умножается на effective_context_window_percent 95. Контрольный запуск дал неожиданный результат: вход на 888 330 токенов прошёл без всяких правок, все три метки найдены. Значит, параметр определяет, сколько истории клиент держит до автосжатия, а не потолок одного сообщения. • Потолок входа по документации API — 922 000 токенов • Свой каталог поднял окно до 900 000, но молча устарел после смены модели

AI-обработка оригинала Habr AI; редакция Hamidun News
Codex на GPT-6.1 Sol режет окно до 828 400, но пропустил вход на 888 тысяч токенов
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Ключевой факт #1Потолок входа по документации API — 922 000 токенов
Ключевой факт #2Свой каталог поднял окно до 900 000, но молча устарел после смены модели
Короткий «ОК», свой каталог, окно 900 000вход 57 187 токенов. Это служебная часть установки автора: инструкции, правила, описания инструментов и навыков.

В ~/.codex/config.toml стоит model_context_window = 1000000, но в каждой задаче Codex на GPT-6.1 Sol сообщает окно 828 400 токенов. Автор разбора на Habr выяснил, откуда берётся это число, поднял его до 900 000 собственным каталогом моделей и прогнал синтетический вход на 890 547 токенов с контрольными метками. Главный вывод пришёл из контрольного запуска: тот же текст на 888 330 токенов прошёл и на штатных 828 400. Окно в Codex не ограничивает размер одного входящего сообщения.

Откуда берётся 828 400

Codex получает параметры модели с сервера и кэширует их в ~/.codex/models_cache.json. Запись GPT-6.1 Sol содержит context_window 500 000 (значение по умолчанию), max_context_window 872 000 (выше него конфиг окно не поднимет) и effective_context_window_percent 95. Итог: 872 000 × 0.95 = 828 400.

Автор проверил это не на одной сессии. Из журналов ~/.codex/sessions он взял последние 40 задач: 39 на gpt-6.1-sol и одну у служебного codex-auto-review. Во всех 39 событиях token_count стоит model_context_window: 828400. Значение лежит в поле info.model_context_window, а фактический вход и выход последнего запроса — в last_token_usage. Формат журнала не документирован как стабильный, так что после обновления клиента поле может переехать.

Тест на 890 тысяч токенов с метками

Через параметр model_catalog_json автор подключил копию серверного каталога, где у gpt-6.1-sol max_context_window равен 1 000 000, а процент — 90. Получилось 900 000. Запас в 10% он взял из сентябрьских проб на GPT-6 Astra: успешный вход там был 900 089 токенов, а наполнитель от 909 000 заканчивался ошибкой переполнения.

Наполнитель должен быть плотным по токенам: в сентябре текст на 1 720 376 символов остановил сам клиент, не пропустив сообщение длиннее 1 048 576 символов. Поэтому в тесте использованы случайные иероглифы U+4E00–U+9FA4 с фиксированным зерном 42, около 1,9 токена на символ. В три места текста вставлены метки R7K2, Q9M4 и W3T8, а модель должна вернуть их по порядку.

  • Короткий «ОК», свой каталог, окно 900 000: вход 57 187 токенов. Это служебная часть установки автора: инструкции, правила, описания инструментов и навыков.
  • Калибровка, 30 302 символа, свой каталог: 115 300 токенов, 3 из 3 метки.
  • Большой запуск, 434 302 символа, свой каталог: 890 547 токенов, 3 из 3 метки, 62 с, cached_input_tokens 9 216.
  • Контроль, тот же текст, серверный каталог, окно 828 400: 888 330 токенов, 3 из 3 метки, 60 с, кэша нет.
  • Разница между последними двумя входами — 2 217 токенов. Наполнитель одинаковый, причина в служебной части, точно её автор не выяснял.

Что на самом деле задаёт окно

В справке поле описано как «Context window tokens available to the active model». Тибо Сотто из команды Codex объяснял, что большее окно позволяет Codex удерживать больше кода, вывода инструментов и истории до сжатия старого материала. То есть число определяет момент автосжатия. За порог отвечает отдельный параметр model_auto_compact_token_limit, а model_auto_compact_token_limit_scope в режиме total считает весь активный контекст, в режиме body_after_prefix — только прирост после перенесённого префикса.

Настоящий потолок указан на странице GPT-6.1 Sol в документации API: окно 1 050 000 токенов, вход не больше 922 000. С сентябрьскими ошибками это сходится. В API запросы свыше 272 тысяч токенов входа стоят вдвое дороже. По словам Сотто (пост от 11.10.2026), для подписки доплаты за длинный контекст у GPT-6.1 Sol нет, а окно по умолчанию в Codex подняли с 272 до 500 тысяч. В документации этого автор не нашёл. Расход лимита подписки на запрос в 890 тысяч он не измерял.

Свой каталог: что ломается после обновления

model_catalog_json заменяет серверный каталог статическим файлом, и автор сам на это наступил. В сентябре он поднял предел только у gpt-6-astra, потом основной моделью стала gpt-6.1-sol, а в его копии у неё остались старые 872 000 и 95%. Прибавка до 900 000 тихо исчезла, все рабочие задачи шли на 828 400. В копии также нет gpt-6.1-terra, а окно по умолчанию у Sol там 272 000 вместо серверных 500 000.

Экспериментальное управление контекстом [features.context_management] отключено с 12.09.2026: Сотто написал, что команда выключила опт-ин эксперимент, который мог вызывать ранние остановки или ответы на старые сообщения. Это затронуло 4–5 тысяч пользователей. У GPT-6.1 Sol, GPT-6.1 Terra и GPT-6 Astra в каталоге supports_experimental_context: false, флаг в конфиге ничего не включает.

Практический вывод для тех, кто работает с Codex. Не гонитесь за миллионом в конфиге: упираетесь вы в серверный max_context_window. Чтобы увидеть реальное окно, читайте model_context_window из журнала задачи. Если подключаете свой каталог, пересобирайте его из свежего models_cache.json после каждого обновления клиента и проверяйте окно в новой задаче. В 39 рабочих задачах автора самый большой вход составил 389 543 токена, так что 828 тысяч хватает с запасом. Следующий тест — длинная сессия до автосжатия: на каком объёме оно срабатывает при разных окнах и сколько меток переживает сжатие.

Вопросы и ответы по материалу

Что известно по теме: откуда берётся 828 400?

Codex получает параметры модели с сервера и кэширует их в ~/.codex/models_cache.json. Запись GPT-6.1 Sol содержит context_window 500 000 (значение по умолчанию), max_context_window 872 000 (выше него конфиг окно не поднимет) и effective_context_window_percent 95. Итог: 872 000 × 0.95 = 828 400. Автор проверил это не на одной сессии. Из журналов ~/.codex/sessions он взял последние 40 задач: 39 на gpt-6.1-sol и одну у служебного codex-auto-review. Во всех 39 событиях token_count стоит model_context_window: 828400. Значение лежит в поле info.model_context_window, а фактический

Что известно по теме: тест на 890 тысяч токенов с метками?

Через параметр model_catalog_json автор подключил копию серверного каталога, где у gpt-6.1-sol max_context_window равен 1 000 000, а процент — 90. Получилось 900 000. Запас в 10% он взял из сентябрьских проб на GPT-6 Astra: успешный вход там был 900 089 токенов, а наполнитель от 909 000 заканчивался ошибкой переполнения. Наполнитель должен быть плотным по токенам: в сентябре текст на 1 720 376 символов остановил сам клиент, не пропустив сообщение длиннее 1 048 576 символов. Поэтому в тесте использованы случайные иероглифы U+4E00–U+9FA4 с фиксированным зерном 42, около 1,9 т

Что известно по теме: что на самом деле задаёт окно?

В справке поле описано как «Context window tokens available to the active model». Тибо Сотто из команды Codex объяснял, что большее окно позволяет Codex удерживать больше кода, вывода инструментов и истории до сжатия старого материала. То есть число определяет момент автосжатия. За порог отвечает отдельный параметр model_auto_compact_token_limit, а model_auto_compact_token_limit_scope в режиме total считает весь активный контекст, в режиме body_after_prefix — только прирост после перенесённого префикса. Настоящий потолок указан на странице GPT-6.1 Sol в документации API: ок

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика · Hamidun Academy

Соберите рабочего ИИ-агента или сервис своими руками без ручного кода

В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.

Открыть 72ч бесплатный доступ →Интенсив по Вайб-кодингу
Что вы думаете?
Загружаем комментарии…