Каждый день в Telegram-канале - что нового в вайб-кодинге: инструменты, примеры, ошибки. Подпишись, чтобы быть в курсе.
Что такое /goal и зачем он появился в 2026?
Сценарий, с которым все жили до апреля 2026: я даю Claude задачу «мигрируй проект с Pydantic v1 на v2». Он начинает, через 30 секунд останавливается, я смотрю что сделал, пишу «продолжай», он делает следующий шаг, останавливается, я снова пишу «продолжай». На большой миграции это 200-300 ручных «продолжай», и я фактически нянька при агенте, а не пишу другой код параллельно.
Анализ OpenAI был такой: проблема не в «глупости» модели, а в архитектуре цикла. Модель не знает, когда остановиться, поэтому жмёт стоп на каждом ходу. Если дать критерий «готово», она сама будет решать.
Так появилась /goal - механика, которая встроена в обвязку, а не в модель.
По умолчанию ты больше не пишешь Claude промпт. По умолчанию Claude пишет промпт сам себе.
Эта фраза прозвучала на конференции Code with Claude в Лондоне 19-20 мая 2026. Это описание того, что реально произошло за месяц после релиза /goal в обоих инструментах.
Я давно ловлю себя на том, что половина моей работы с агентом - это вайб-кодинг с дисциплиной: точно сформулировать условие, потом много раз жать «продолжай». Команда /goal снимает вторую половину. Условие всё ещё на мне. Нянчить агента ходами больше не надо.
Как настроить Goal Mode в Claude Code?
Минимальный пример из официальной документации Anthropic:
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"Эта команда запускает агента в фоновом режиме с одной целью. Claude сам найдёт PR'ы, сам сверит с CHANGELOG.md, сам допишет недостающие строки и сам остановится, когда критерий выполнен.
В интерактивном режиме - просто пишешь /goal и условие после него:
/goal все тесты pytest проходят и mypy strict даёт ноль ошибокЧто Claude делает дальше:
- После каждого хода Claude отдельная быстрая модель (по умолчанию Haiku) получает текущее условие и историю переписки
- Эта модель отвечает «да» или «нет» с короткой причиной
- Если «нет» - Claude автоматически делает следующий ход, не возвращая управление тебе
- Если «да» - цель снимается, управление возвращается
После каждого хода маленькая быстрая модель проверяет, выполнено ли условие. Если нет, Claude начинает следующий ход, не возвращая управление тебе.
Жёсткие ограничения, про которые тебе никто не расскажет, пока не наткнёшься:
/goalработает только в рабочих папках с принятым trust dialog. Если ты на новой машине и Claude ещё не запоминал эту папку - команда упадёт- В корпоративных настройках с
disableAllHooksилиallowManagedHooksOnlyкоманда недоступна - Условие можно расписать до 4000 символов
- Одна цель активна на сессию. Старая
/goalсбрасывается новой - На
--resumeсохраняется условие, но счётчики ходов, времени и токенов обнуляются
Команды управления:
/goalбез аргумента - показать текущий статус/goal clear(илиstop,off,reset,none,cancel) - снять цель
Цена оценщика, по словам Anthropic, «обычно ничтожна по сравнению с расходом основного хода». Haiku считает критерий и текст переписки, инструменты не вызывает - то есть проверка дешёвая, дорогая часть - сами ходы основной модели.
У меня этот режим живёт в основном на двух задачах: длинные миграции (где руками каждый «продолжай» жмёшь часами) и автотесты после крупных правок. На третий день жизни с /goal я перестал держать терминал открытым - перестал быть нянькой агенту.
Как настроить /goal в Codex CLI?
Команда выглядит так же, как у Claude:
codex
> /goal все тесты vitest проходят и нет ошибок eslintУправление целью у Codex шире:
| Команда | Что делает |
|---|---|
/goal условие | поставить цель |
/goal | посмотреть статус |
/goal pause | пауза |
/goal resume | возобновить |
/goal edit | поменять условие (с GA) |
/goal clear | снять цель |
Главное отличие от Claude - в Codex проверку «готово» делает сам агент, а не отдельная модель. После каждого хода Codex автоматически подставляет в контекст шаблон continuation.md из репозитория openai/codex. Перевод дословный:
«Продолжай работать к активной цели треда. Не повторяй уже сделанное. Выбери следующее конкретное действие к цели. Помечай цель достигнутой только тогда, когда аудит показывает, что цель действительно выполнена и не осталось обязательной работы.»
Когда токены подходят к лимиту, подставляется второй шаблон - budget_limit.md:
«Цель достигла лимита токенов. Не начинай новую существенную работу. Сверни этот ход как можно скорее: подведи итог полезного прогресса, обозначь оставшуюся работу и блокеры, оставь пользователю ясный следующий шаг.»
Логика одинаковая: «не ври, что сделал». Continuation требует продолжать только если цель действительно не достигнута. Budget_limit требует остановиться, но честно описать, что осталось.
В отличие от Claude, Codex привязывает цель к треду (а не сессии). У меня это работает так: я закрываю терминал, утром открываю снова, и /goal resume подхватывает ту же цель с теми же фактами в памяти. Полезно для прогонов, которые ты режешь на куски по своему расписанию.
Чем отличается /goal в Claude Code от Codex?
Это самая частая дыра в сравнениях, поэтому подробно.
| Аспект | Claude Code /goal | Codex /goal |
|---|---|---|
| Релиз | v2.1.139, 11 мая 2026 | v0.128.0, 30 апреля 2026 (экспериментально) → v0.133.0 / 26.519, 21 мая 2026 (стабильно) |
| Область цели | Сессия | Тред (переживает перезапуски) |
| Управление | set, clear (+ алиасы) | set, view, pause, resume, edit, clear |
| Кто проверяет «готово» | Отдельная модель (по умолчанию Haiku) | Тот же агент через подставленный prompt |
| Доступ оценщика к файлам | Нет, судит только по тексту переписки | Есть, может смотреть файлы, тесты, логи |
| Бюджет | Текстом в условии: «или остановись после 20 ходов» | Встроенный лимит токенов + автоподстановка budget_limit.md |
| Жёсткий потолок расходов | Нет, только лимит подписки | Нет, только лимит подписки |
| Длина условия | До 4000 символов | Не указано |
| Где работает | Интерактивный режим, -p, десктоп-приложение, Remote Control | Приложение, расширение для IDE, CLI, ACP-клиенты |
Концептуальная разница, которую формулирует Developers Digest: Claude трактует петлю как контракт качества (внешний оценщик), Codex - как механику исполнения (агент сам собой управляет).
На практике это значит: если ты хочешь, чтобы критерий «готово» был неподкупным - выбирай Claude. Если хочешь, чтобы агент сам мог сверяться с файлами и логами в момент проверки - выбирай Codex.
Подробнее про сравнение самих инструментов - в гайде Codex vs Claude Code.
Реальный пример: миграция Pydantic v1 → v2 за 31 час
Источник - разбор на ofox.ai от 28 мая 2026. Постановка задачи была такая: «мигрируй с Pydantic v1 на v2, все тесты pytest должны зелёные, mypy strict ноль ошибок».
Что произошло:
- Сессия 1 (8 часов) - Codex разобрал импорты, переписал
BaseModelдекларации, поставил mypy - Сессия 2 (10 часов) - переписал валидаторы, переломал около 200 тестов
- Сессия 3 (7 часов) - починил тесты, нашёл циклические зависимости
- Сессия 4 (6 часов) - закрыл оставшиеся mypy-ошибки и регрессии
Стоимость токенов:
«Общее время по часам: около 31 часа за четыре сессии. Общий расход токенов Codex по ставкам gpt-5.3-codex: примерно $44.»
Цена доминируется output-токенами gpt-5.3-codex по ставке $14 за миллион. То есть 31 час автономной работы стоит как недели подписки на ChatGPT Plus.
Что не сделал агент сам:
- Не написал миграционную документацию для команды (Codex не понял, что это часть «миграции»)
- Не обновил конфигурационные файлы для публикации под новую версию Pydantic
- Не нашёл одну регрессию в проде - её поймали только спустя сутки
То есть /goal сделал 95% работы, оставшиеся 5% - всегда руками. Это нормально для текущего поколения, не повод не использовать.
Сам я такую миграцию не гонял, но логика мне знакома по тренингу: ставлю агенту цель «тесты зелёные», он несколько часов крутит код. Утром смотрю diff, чищу ту половину, что агент не понял. На большом проекте это полдня вместо четырёх дней руками.
14 часов на macOS-драйвере за ночь
Это один из первых публичных прогонов, который сделал /goal популярным в инвесторской тусовке. Эндрю Чен дал условие, ушёл спать, утром обнаружил, что Codex прошёл несколько итераций отладки, добавил тесты, переписал куски ассемблера и продолжал работать.
Класс задач, где такой подход даёт максимум выигрыша:
- Низкоуровневая работа, где итерация-проверка занимает минуты (компиляция, прогон тестов)
- Миграции с чёткими формальными критериями (типы, тесты, lint)
- Бенчмарки и оптимизации с измеримым результатом
- Документация и changelog'и с понятной структурой
То же самое Claude /goal делает не хуже, но Codex чаще выбирают для драйверов, потому что он сам себя проверяет на файлах и логах, а не через внешнего судью.
Сколько это стоит и как не сжечь токены за ночь?
Цифры из публичных историй:
| Прогон | Длительность | Токены | Стоимость |
|---|---|---|---|
| OpenAI design tool demo | 25 часов | 13M | (внутренний прогон) |
| Pydantic v1→v2 | 31 час, 4 сессии | ~3.1M output | ~$44 |
| Voice interview system | 6 ч 44 мин общего времени (41 мин compute) | 6,8 млн input, 94% кэш | - |
| Smoke-test шрифтов | 5 минут | 188 832 | менее 5% от недельной квоты |
Главное, что нужно понимать: ни Claude Code, ни Codex не дают жёсткого «остановиться при тратах N долларов». Защиты три:
- Лимиты подписки - Pro, Max или Enterprise. На Max-плане Anthropic ($100/мес) ночной прогон на 14 часов попадает в недельную квоту с запасом
- Текстовый лимит в условии - писать «или остановись через 20 ходов» прямо в
/goal. Claude судья прочитает и закроет цель - Лимит токенов в Codex - встроенная механика, подставляет
budget_limit.md, когда токены кончаются
Что палит счёт ночью:
- Размытый критерий «сделай удобнее» - агент никогда не остановится, оценщик не знает, что считать «лучше»
- Доступ к внешним API без заглушек - каждая повторная попытка стоит токенов
- Длинный контекст - после 6.7M токенов срабатывает контекстная компрессия, и часть памяти теряется
Подробнее про экономию - в гайдах куда уходят токены в Claude Code и как не сжечь лимиты.
Когда НЕ запускать /goal: 5 ситуаций
Документация OpenAI явно говорит, чего НЕ делать:
- Однострочные правки - запускать
/goalради переименования переменной дороже, чем сделать руками - Расплывчатые цели - «улучши производительность», «сделай чище код», «сделай удобнее». У оценщика нет критерия, агент будет вечно крутиться
- Продовая база данных с пользовательскими данными - агент может уронить миграцию, восстановление из бэкапа дороже всей экономии
- Правки по безопасности - аутентификация, шифрование, обработка платежей. Тут нужен человек на каждый коммит
- Внешние API без заглушек - каждый сбой сети стоит токенов, а вне твоего контроля
Tectontide пишет про это прямо: пути по безопасности требуют ручного одобрения, неясные внешние зависимости ломают прогон в середине.
Что делать, если агент зашёл в тупик?
Как распознать петлю быстро:
- Агент 3+ хода трогает одни и те же файлы и возвращается к предыдущему состоянию
- В логе появляются повторяющиеся ошибки, на которые он уже отвечал
- Условие выглядит выполненным глазами, а агент пишет «не выполнено»
- Расход токенов на ход растёт, а прогресса в коде нет
Что делать дальше:
- В Claude Code:
/goal clear, затем переформулировать условие более конкретно - В Codex:
/goal pause, посмотреть текущий thread, отредактировать условие через/goal edit, потом/goal resume - В обоих: проверить, что критерий действительно проверяемый (команда возвращает exit 0 или конкретный вывод)
Часто причина петли в самой задаче, а не в агенте. Условие «все тесты проходят» предполагает, что тесты в принципе могут пройти. Если в коде есть глубокая архитектурная проблема, агент будет крутиться вокруг симптома.
Критерии «готово»: дисциплина задачи для /goal
OpenAI в своей официальной книге рецептов Codex Cookbook формулирует это правило прямо:
Цель не считается выполненной потому, что модель так думает. Цель выполнена только тогда, когда результат сверен с файлами, тестами, логами, бенчмарками или другими конкретными артефактами.
Шаблоны критериев, которые реально работают:
| Тип критерия | Как формулировать |
|---|---|
| Тесты | «pytest tests/ возвращает exit 0 и покрытие не ниже 80%» |
| Типы | «mypy strict даёт ноль ошибок на src/» |
| Lint | «eslint . возвращает exit 0 на всех изменённых файлах» |
| Сборка | «npm run build завершается успешно, нет TypeScript errors» |
| Бенчмарк | «k6 run перфтест показывает p95 ниже 200мс» |
| Diff | «git diff показывает изменения только в файлах X, Y, Z» |
| Комбо | «pytest зелёный И mypy strict ноль И ruff check проходит» |
Лично я ставлю комбо: тесты плюс mypy плюс lint. Если хоть один зелёный остался красным - цель не закрыта. У оценщика нет шанса схалявить.
Анти-шаблоны:
- «Код стал лучше»
- «Удобство стало выше»
- «Производительность улучшена»
- «Документация полная»
Между «работает» и «не работает» лежит проверяемость. Если критерий нельзя проверить командой, его нельзя проверить никак. То же самое OpenAI вкладывает в формулировку «long-horizon coherence»: агент способен думать долго, но не способен решать сам, что считать «достаточно хорошо».
Если идея «один промпт - результат» откликается, в практикуме мы разбираем это руками: ставим /goal на твой реальный проект, формулируем критерий, запускаем, разбираем что пошло не так.
Источники
- Claude Code
/goaldocs (Anthropic) - Claude Code changelog (Anthropic)
- OpenAI Codex changelog
- OpenAI Codex Cookbook: Using Goals
- OpenAI Blog: Run long horizon tasks with Codex (23 февраля 2026)
- GitHub openai/codex: continuation.md
- GitHub openai/codex: budget_limit.md
- MIT Technology Review: Code with Claude showed off coding's future (21 мая 2026)
- Simon Willison: Codex /goal release notes (30 апреля 2026)
- Simon Willison: Code with Claude SF live blog (6 мая 2026)
- Six-Hour Codex Run (tectontide)
- Codex /goal feature review (jdhodges)
- Codex Goal Mode и Pydantic-история (ofox)
- Codex /goal Ralph Loop 14-hour run (MindStudio)
- Codex 26.519 Goal Mode GA (joinnextdev)
- Codex /goal vs Claude Code /goal (knightli)
- Codex /goal vs Claude Managed Outcomes (Developers Digest)
Новые материалы - дайджестом, без спама
Гайды выходят регулярно. Подпишись, чтобы не пропускать: пришлю подборку в Telegram или на email. Раз в неделю или каждый день - выбираешь сам.

