/goal в Codex CLI: агент работает часами автономно, но цена непредсказуема

/goal в Codex CLI: агент работает часами автономно, но цена непредсказуема

30 апреля 2026 года вышел Codex CLI 0.128.0 с главной фичей — командой /goal. Это реализация Ralph loop от OpenAI: ты ставишь цель уровня треда, и агент сам пишет код, тестирует, рефлексирует и продолжает, пока не упрётся в бюджет или не достигнет результата. Вместе с GPT-5.5 эта связка меняет работу с агентом сильнее, чем кажется по чейнджлогу.

Что приехало вместе с 0.128.0

Релиз — это сдвиг от «умный собеседник, который пишет код по задаче» к «процесс, который держит цель и долбит её, пока не упрётся в бюджет». Конкретно:

  • /goal — persistent цель уровня треда. Агент сам пишет код, тестирует, рефлексирует, продолжает
  • /side — эфемерный side-thread, не сбивающий основную цель
  • /title и /statusline — редактируются на ходу, в активной сессии
  • codex update — нативный self-update вместо ручной переустановки
  • --full-auto deprecated — теперь explicit permission profiles

И GPT-5.5 как рекомендуемая модель. Без неё /goal не раскрывается — на старых моделях слишком много циклов для достижения той же цели.

Что такое /goal под капотом

Внутри это state machine на уровне треда с пятью слоями. Persistence хранит цель, статус (pursuing/paused/achieved/unmet/budget_limited), время, токены. App-Server API v2 даёт RPC для управления целью и push-нотификации между клиентами. Model tools позволяют модели смотреть статус и помечать цель достигнутой — но не паузить, резюмить или сбрасывать. Это могут делать только вы через TUI.

Что заставляет модель долбить цель ход за ходом? Системный промпт. На каждом continuation turn Codex инжектит два файла-шаблона: goals/continuation.md — фокус на цели и установка «do not accept proxy signals and treat uncertainty as not achieved», и goals/budget_limit.md — soft-stop при упирании в бюджет. Агент не падает, а завершает работу: готовит саммари, что сделано и что осталось.

Реальный кейс: +25% fps за час

Лучший публичный пример — твит разработчика игры Николаса Зу от первого мая. Он гонял /goal для оптимизации производительности. Запуск: один час, GPT-5.5 xhigh. Результат: +25% fps, npm run perf:guard прошёл с average improvement 25.7%.

Что агент сделал за этот час:

  • Урезал hot-path аллокации на движении и коллизиях зомби
  • Закэшировал статические метаданные WASM для конвейерной механики
  • Переиспользовал scratch-объекты для timing/accumulator боевой механики башен
  • Добавил быстрые helper-функции для terrain/turret-center в hot paths

Это сценарий, под который /goal спроектирован. Цель измеряется автоматически (perf-метрика), окружение даёт обратную связь (perf-guard), агент циклически итерирует. Час работы, конкретный измеримый результат, ясный коммит.

Главная грабля — токены

Главная боль /goal — не качество кода и не зацикливания. Непредсказуемость трат токенов. Один и тот же класс задач может стоить 80k токенов в одном случае и 400k — в другом. Без видимой причины. Иногда агент быстро находит решение и закрывает цель за два цикла. Иногда уходит в спираль уточнений и сжигает в пять раз больше.

Это бесит сильнее, чем хочется. Потому что нельзя бюджетировать. Если у тебя 5-часовой план в ChatGPT, ты не знаешь, сколько /goal-сессий поместится. Может три. Может одна.

Когда упираешься в weekly или 5-часовой лимит — /goal не падает. Агент продолжает генерить текст. Но падает на MCP-вызовах, которые требуют LLM-approval (потому что approval сам требует токена, а квоты ноль). Поэтому search_docs, db_seeds и подобное молча перестают работать. Сессия выглядит «живой», а на самом деле обезоружена.

Главный совет: не оставляйте /goal бесконтрольно. Пока что. Возвращайтесь раз в 15-20 минут, смотрите, что и сколько съедено, и будьте готовы нажать /goal pause, если пошло не туда.

/side — два сценария

Вторая команда — /side. Это аналог /btw из Claude Code: открыть эфемерный side-thread, не сбивая основную задачу. Escape — вернулись. Внутри /side нельзя открыть ещё один /side — рекурсия запрещена.

Очевидный сценарий — спросить уточнение, не сбивая цикл. Менее очевидный: Codex (и GPT-5.5 особенно) использует огромное количество англицизмов. Получаешь объяснение, и в нём слова вроде «coalesce», «obviation», «debouncing» в один ряд. Открываю /side и спрашиваю: «расшифруй этот абзац простыми словами, что значит X в контексте моей задачи». Получаю короткий ответ. Закрываю. Возвращаюсь к основной цели.

Контекст основной задачи остаётся чистым. Агент не отвлекается. Я уточняю — и иду дальше.

Кто взялся первым

Думал, /goal подхватят первыми те, кто пишет код. Производительность, рефакторинг, миграции. Не подхватили. Попробовали — но не пошло устойчиво.

Первыми реально взялись исследователи. Те, кто работает над проектами со сбором информации и данных. Им /goal зашёл сильнее всего, потому что типичная задача структурно ложится на /goal-парадигму: есть конкретная исследовательская цель, есть измеримый результат (метрика — это число), есть ограниченный контекст, в котором агент работает.

Они гоняют /goal для повышения точности исследований — и это работает. Цель конкретная, домен чёткий, метрика измеримая. Все три условия, которые /goal любит.

Когда /goal не работает

Чтобы не было пафоса: /goal не серебряная пуля. Сценарии, где он стабильно ломается:

  • Размытая цель. Если попросить «сделай код лучше» — агент уйдёт в бесконечный цикл. Цели нужен definition of done, выраженный в чём-то измеримом
  • Отсутствие обратной связи. Если у агента нет доступа к тестам, метрикам — он не может проверить свою работу. Решение — настраивать MCP-инструменты заранее
  • Прод. На проде /goal запускать опасно. Агент может коммитить, мержить, рестартить. На проде только в read-only режиме
  • Quota walls. Если упираетесь в weekly limit — MCP-approvals молча отвалятся, а сессия будет выглядеть живой
  • Длинные неструктурированные задачи. «Перепиши этот сервис на новую архитектуру» без декомпозиции — /goal не справится

Что в итоге

OpenAI сдвинул Codex от чат-помощника к автономному агенту цели. За /goal стоит реальная архитектура с persistent state, soft-stop'ом и инжекцией системного промпта против proxy signals. Работает. Иногда впечатляюще, как кейс с +25% fps за час.

Но эта же автономность обратной стороной — непредсказуемые траты и невозможность бюджетирования. Не оставляйте /goal бесконтрольно. Пока что.

С другой стороны — эксперименты с /goal обязательны прямо сейчас. Не потому что фича волшебная. А потому что к навыку «писать код руками» добавляется навык «работать рядом с процессами, которые тоже пишут код». Первый никуда не девается — кто-то всё ещё должен читать диффы, ловить proxy signals и понимать, почему агент закоммитил бессмыслицу. Просто инженерных задач становится больше, и часть из них теперь — про оркестровку.

И эта часть пока работает плохо. Бюджетировать нельзя, оставлять без присмотра нельзя, на проде нельзя. Учиться лучше начать сейчас, на маленьких целях и в безопасных контурах — чтобы когда /goal выйдет из Experimental, не разбираться с непредсказуемыми токенами в первый раз.

Попробовать GPT-5.5 и другие модели для работы с кодом можно в GEMERA AI — через Telegram-бота или веб-кабинет. Доступ к чату с передовыми моделями, генерация изображений и видео, озвучка — всё в одном месте.