Редактор|Sia
Как раз в тот момент, когда генеральный директор Cursor Майкл Труэлл сообщил, что OpenAI планирует через три месяца заблокировать пользователям Cursor доступ к своим моделям, и отношения между компаниями внезапно обострились, OpenAI Codex внезапно предпринял новый шаг.

Только что этим платным пользователям неожиданно вернули часть лимитов — руководитель Codex Тибо в своём посте в X (бывший Twitter) объявил, что сбросит лимиты использования для всех платных пользователей Codex и ChatGPT Work.

На этот раз это не простое и грубое добавление небольшого бонуса.
Тибо сообщил, что они недавно обработали тысячи отзывов пользователей и практически перевернули с ног на голову механизм подсчёта использования, лежащий в основе Codex. В результате выяснилось, что у пользователей ощущение, что лимиты расходуются слишком быстро, было не совсем иллюзией.
После исправления ряда ошибок они оценивают, что при том же самом лимите использования Codex теперь сможет выполнить на 10%-50% больше работы, чем раньше. Цифры лимитов, возможно, не изменились, но фактический объём выполнимой работы увеличился.
Опубликованный список проблем практически можно назвать справочником «Как AI Agent незаметно сжигает токены». Некоторые из этих ошибок, казалось бы, незначительные, но при расходовании лимитов оказывались крайне прожорливыми.
Одна задача могла «съесть» до 70% недельного лимита
OpenAI одним махом перечислил 8 категорий обнаруженных и исправленных проблем.
Первая — это сжатие контекста (Compaction). Когда инструменты AI-программирования работают долгое время, контекст становится всё больше, и система обычно сжимает историческую информацию, чтобы продолжить работу.
Проблема заключалась в том, что ранее при сжатии контекста Codex оставлял старые изображения внутри контекста. В результате, хотя сжатие и предназначено для уменьшения контекста, из-за неудалённых старых изображений контекст оставался большим, настолько большим, что мог немедленно снова вызвать сжатие.
Таким образом возникла слегка сюрреалистичная ситуация: сжатие, предназначенное для экономии контекста, само по себе начало потреблять ещё больше контекста. После исправления этой проблемы OpenAI сообщает, что для пользователей, интенсивно использующих изображения, соответствующий объём использования снизился примерно на 10%.
Но это ещё не самое шокирующее. Главным пожирателем лимитов оказался механизм целевых задач (Goals).
OpenAI обнаружил, что в некоторых случаях, после того как установленная пользователем цель (/goal) уже была выполнена, агент не останавливался, как ожидалось, а продолжал выполнение.
В другом сценарии инструмент мог быть сломан, но модель продолжала пытаться повторить действие снова и снова. Задача казалась завершённой, но ИИ продолжал работать в фоновом режиме.
OpenAI заявил, что в некоторых случаях, которые они наблюдали, только эта проблема могла потреблять от 15% до 70% недельного лимита пользователя. То есть в крайних случаях одна аномальная задача могла напрямую «съесть» семь десятых недельного лимита. Сейчас эта проблема также исправлена.
Одна фоновая задача чуть не запустилась 15 000 раз
Другая проблема была обнаружена в системе памяти (Memory).
В некоторых случаях фоновый Memory Worker в Codex мог наследовать определённые Stop Hook. По замыслу, Stop Hook используются для контроля остановки задачи. Но из-за ошибки некоторые фоновые задачи, наоборот, могли продолжать выполняться бесконечно, поскольку условие остановки не могло быть удовлетворено.
Эта проблема затрагивала менее 1% пользователей. Однако проблема заключалась в том, что экстремальные случаи были очень необычными. OpenAI упомянул, что они даже обнаружили случай, когда действие проверки, может ли задача быть завершена, могло выполняться до 15 000 раз.
Для подавляющего большинства пользователей эта ошибка могла быть совершенно незаметной. Но для тех, кто с ней столкнулся, токены могли незаметно испаряться в фоновом режиме. Ощущение, наверное, похоже на то, когда компьютер, с которого ничего не запущено, внезапно начинает бешено шуметь вентиляторами.
Subagent также мог тайно повышать конфигурацию
Ещё одна проблема, характерная для эпохи агентов, произошла с Subagent (подчинёнными агентами).
Современный Codex не обязательно выполняет задачу только одной моделью. Сложные задачи могут быть разбиты и выполнены несколькими подчинёнными агентами совместно. Проблема возникла именно здесь.
OpenAI обнаружил, что некоторые модели с меньшими возможностями, например, Luna, иногда, без явного запроса пользователя, самостоятельно выбирали более мощные вспомогательные модели, которые также были дороже.
Что ещё более абсурдно, даже если главная модель, координирующая задачу, не работала в режиме /fast, она могла требовать, чтобы подчинённые агенты использовали режим /fast.
Это похоже на ситуацию, когда начальник летит эконом-классом, но тайно покупает своим помощникам билеты бизнес-класса. Задача, конечно, остаётся той же, но потребление ресурсов за ней — уже совсем другое. В настоящее время эта проблема также исправлена.
Автоматические задачи: обещали запускать раз в день, а на деле могли тайно запускаться чаще
Проблемы были обнаружены и в автоматизациях (Automations).
OpenAI сообщил, что некоторые пользовательские задачи по планированию ранее могли демонстрировать: фактическая частота выполнения была выше, чем частота, установленная пользователем. Например, пользователь хотел, чтобы определённая автоматическая задача выполнялась периодически, но система могла пробуждать задачу чаще, чем было установлено.
Один раз может показаться недорогим. Но особенность агентов как раз в том, что они могут работать самостоятельно, без действий пользователя. Один запуск недорог. Десятки лишних запусков — уже нет. Эта проблема сейчас также исправлена.
Одно только подведение итогов проделанной работы могло «съесть» 20% недельного лимита
Другая довольно типичная проблема связана с историей компьютера (Computer History).
Чтобы агент понимал, что он делал ранее на компьютере, система должна сохранять, упорядочивать и даже обобщать историю прошлых операций. Но в старой реализации Codex мог повторно обобщать уже сильно пересекающуюся историю активности. Это эквивалентно многократному переупорядочиванию одного и того же рабочего журнала.
OpenAI заявил, что в некоторых случаях эти дополнительные расходы могли составлять около одной пятой от общего недельного объёма использования пользователя. То есть около 20%.
Ещё одно аналогичное фоновое потребление было связано с бегущими сводками задач (Rolling Task Summaries). Изначально даже обычные диалоги могли вызывать дополнительные фоновые запросы для создания сводок выполняемых задач.
Разовые затраты невелики, по оценкам OpenAI, они увеличивали использование токенов примерно на 1%. Опять же, один раз 1% — немного, но если это происходит каждый раз, то накапливается. OpenAI уже отключил этот механизм.
MCP тоже не избежал: один и тот же результат работы инструмента мог кодироваться дважды
Последняя категория проблем произошла при вызовах инструментов MCP.
OpenAI обнаружил, что результаты, возвращаемые некоторыми инструментами, могли кодироваться дважды. Кроме того, описания некоторых инструментов могли случайно обрезаться, после чего системе снова приходилось их запрашивать.
По отдельности такие проблемы кажутся мелкими шероховатостями в инженерной реализации. Но когда агент вызывает инструменты десятки, сотни или даже больше раз в день, каждая повторная передача означает реальное потребление токенов. Мало-помалу, всё это в конечном итоге отражается в лимитах пользователя.
Счёт, который становится всё труднее подсчитать
Если посмотреть на все эти исправления вместе, становится очевидным явное изменение: ранее, используя ChatGPT, пользователь мог в основном понимать один диалог как один вызов модели.
Но в таких продуктах, как Codex, где используются агенты, всё стало совершенно иным.
Вы вводите в интерфейсе всего одну фразу, а система видит целый рабочий процесс агента. То, сколько лимитов на самом деле использовалось, становится всё труднее понять интуитивно.
Некоторые токены модель действительно использует для написания кода. Некоторые токены используются для понимания контекста. А некоторые токены возникают даже просто из-за работы фоновой системы для поддержания памяти, генерации сводок или планирования работы агентов. Если в любом из этих звеньев возникает цикл, повторный вызов или ошибочное планирование, то пользователь в конечном итоге чувствует только одно: почему лимит закончился, хотя я ничего не делал?
OpenAI, очевидно, осознаёт эту проблему. Помимо исправления вышеупомянутых ошибок, они также сообщили, что провели корректировки на архитектурном уровне, чтобы избежать повторного появления подобных проблем. Если связанные с ними аномалии возникнут снова, команда будет автоматически получать оповещения.
Что более важно, OpenAI разрабатывает новую функцию отображения объёмов использования. В будущем пользователи смогут прямо в приложении видеть, куда именно уходят их лимиты, а не гадать об этом.
С этой точки зрения, этот сброс лимитов, возможно, лишь поверхностная льгота. И, кажется, OpenAI ещё не планирует на этом останавливаться?

Эта статья взята с официального аккаунта WeChat «机器之心» (ID:almosthuman2014), автор: 关注科学AI的





