Ad
Искусственный интеллект

OpenAI сбросила лимиты Codex, выпустила новую версию и чинит лишний расход

Маша Даровская
By Маша Даровская , IT-редактор и автор
OpenAI сбросила лимиты Codex, выпустила новую версию и чинит лишний расход
Обложка © Anonhaven

OpenAI полностью сбросила лимиты использования Codex для платных подписок после нескольких дней жалоб на слишком быстрый расход доступного объема. Сброс дошел до аккаунтов ночью 24 августа. Одновременно разработчики начали выкатывать исправления для нескольких найденных причин перерасхода.

Тибо Соттио из команды Codex подтвердил завершение сброса: обновленные лимиты уже распространились на аккаунты, а часть исправлений для проблем с расходом ресурсов также введена в работу. Он предупредил, что изменения на этом не заканчиваются и команда продолжит оптимизацию.

Почти одновременно вышел Codex CLI 0.149.1. В релиз попало исправление механизма сжатия длинных диалогов с изображениями — одного из сценариев, который OpenAI связала с повышенным расходом. Само обновление клиента, однако, нельзя считать универсальной «таблеткой от лимитов»: часть изменений работает на стороне OpenAI, а новый механизм учета изображений в 0.149.1 добавлен как опциональная возможность.

История началась с сообщений пользователей о том, что доступный объем Codex стал заканчиваться заметно быстрее обычного. 22 августа Соттио подтвердил, что у части пользователей снизилась доля попаданий в кэш — то есть Codex реже мог повторно использовать уже обработанный контекст и чаще заново прогонял данные через модель. Это увеличивает фактический объем вычислений и расход.

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

Проблема состояла в том, что текст и изображения учитывались по-разному. При удаленном сжатии бюджет сохраненной истории считал текст, но мог не учитывать реальную стоимость оставшихся изображений. В результате сеансы с большим количеством скриншотов и других картинок сохраняли больше контекста, чем предполагал расчет.

Публичные отчеты пользователей показывают, насколько далеко мог зайти такой сценарий. В одном из отчетов об ошибке в репозитории Codex длинная сессия после 242 сжатий сохранила 66 изображений примерно на 50 МБ. Автор наблюдал сокращение свободного контекста примерно с 35% до 15%, а затем до 10%, хотя история регулярно сжималась.

Другой открытый отчет описывает сессию, где повторное сохранение изображений разрасталось уже до нескольких гигабайт. Причина та же: старые изображения продолжали переноситься в новую историю, практически не участвуя в расчете текстового бюджета.

Такие отчеты сами по себе не доказывают, что каждый пользователь терял лимит именно из-за этой ошибки. Они хорошо совпадают с одной из причин, которую позднее признала команда Codex.

Вторая проблема затронула Computer History — функцию настольного приложения, которая собирает историю работы пользователя на компьютере и позволяет ChatGPT и Codex обращаться к ней как к дополнительному контексту.

Соттио сообщил о повышенном расходе в верхней части распределения нагрузки — p95 и выше. Простыми словами, речь идет о наиболее тяжелых сценариях: примерно после отметки 95-го перцентиля отдельные пользователи потребляли значительно больше ресурсов, чем ожидалось.

Computer History работает как дополнительный источник контекста. Функция может учитывать действия пользователя в разрешенных приложениях и на сайтах, превращать их в временную шкалу и материалы, к которым позднее обращается Codex. Она отключена по умолчанию и доступна не во всех регионах.

В GitHub уже появились отдельные сообщения о высокой локальной нагрузке Computer History. Один пользователь описал периодические задержки интерфейса macOS после включения функции, другой зафиксировал продолжительные зависания IntelliJ IDEA при сборе данных о доступности интерфейса. Эти случаи относятся к локальной производительности и не позволяют напрямую посчитать расход лимитов модели, но показывают, что новая подсистема все еще активно дорабатывается.

Третьей найденной причиной оказалась куда менее очевидная функция — автоматическое создание названий диалогов.

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

Это важное ограничение для оценки всей истории. OpenAI перечислила несколько технических причин, но пока не опубликовала сводную статистику: сколько пользователей столкнулось с каждой из них, насколько быстрее у них уходил доступный объем и какой процент перерасхода удалось убрать после исправлений.

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

OpenAI решила компенсировать период повышенного расхода полным автоматическим сбросом для платных подписок. 24 августа Соттио сообщил, что сброс уже распространился на аккаунты.

21 августа OpenAI отметила достижение 20 млн активных пользователей Codex и выдала пользователям Codex и ChatGPT Work отдельный banked reset — сохраненный сброс, который можно применить вручную в удобный момент.

Автоматический и сохраненный сбросы работают по-разному. В справке OpenAI о Codex указано, что автоматический разовый сброс сразу применяется к соответствующим лимитам и его нельзя оставить на потом. Сохраненный сброс пользователь активирует самостоятельно; полный такой сброс обнуляет пятчасовое и недельное окна использования, после чего дата следующего недельного обновления сдвигается примерно на семь дней.

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

В ночь на 24 августа OpenAI выпустила Codex CLI 0.149.1. GitHub помечает его как актуальный стабильный релиз, а npm уже раздает пакет @openai/codex версии 0.149.1.

Сравнение с 0.149.0 показывает пять коммитов, изменения в 23 файлах и четырех авторов. Самое интересное для нынешней истории изменение называется Budget retained images during remote compaction — учет сохраненных изображений при удаленном сжатии контекста.

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

В 0.149.1 разработчики добавили механизм compaction_image_budget. Когда он активен, изображения получают оценочную стоимость и начинают занимать часть того же бюджета, что и остальной сохраняемый контекст. Если изображение на границе истории уже не помещается, Codex прекращает подтягивать еще более старые сообщения.

На практике это должно уменьшить один из вариантов разрастания долгих мультимодальных сессий: десятки старых изображений больше не должны бесконтрольно переноситься из одного сжатого контекста в другой.

В исходном коде новая возможность обозначена как opt-in, то есть механизм предусмотрен для управляемого включения. Сам факт установки 0.149.1 еще не доказывает, что он немедленно активирован одинаково для каждого пользователя.

OpenAI указывает в документации, что длинные и сложные задачи могут расходовать значительно больше доступного объема, чем короткие запросы. Codex, ChatGPT Work и ряд других агентных функций при наличии на тарифе также могут использовать общий пул.

Для версии, установленной через npm, достаточно обновить глобальный пакет: npm install -g @openai/codex

Актуальная версия пакета на 24 августа — 0.149.1. Официальная страница npm одновременно показывает сборки для Linux, macOS и Windows.

Текущую версию можно проверить обычной командой: codex --version

Сам расход удобнее смотреть через /status в активной сессии Codex CLI либо через раздел использования в настройках. Такой способ рекомендует и документация OpenAI.

Исправления 24 августа закрывают лишь уже найденные причины. Соттио сообщил, что команда обнаружила еще один способ заметно увеличить эффективность Codex, не связанный с перечисленными ошибками. Работу над ним планируют продолжить на этой неделе. Технических подробностей пока нет.

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

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.