/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-бота или веб-кабинет. Доступ к чату с передовыми моделями, генерация изображений и видео, озвучка — всё в одном месте.