Перейти к основному содержанию

Codex /goal: как включить, задать цель и проверить результат

Команда /goal закрепляет цель за текущим чатом Codex и позволяет продолжать работу до проверяемого результата или условия остановки. Если команды нет в списке, проверьте версию и включите features.goals; готовность подтверждайте файлами и проверками.

LaoZhang AI TeamОпубликованоОбновлено 8 мин чтения
Содержание
Схема работы с Codex /goal: доступность команды, цель и проверка результата

Чтобы начать работу с Codex /goal, откройте чат в поддерживаемом клиенте и введите /goal с конкретным результатом. Если команда отсутствует в списке, официальный способ включения — features.goals в config.toml либо codex features enable goals в терминале. После этого задайте цель, которую можно проверить, а для управления используйте /goal, /goal edit, /goal pause, /goal resume и /goal clear. Эти действия описаны в актуальных инструкциях по Goals и справке команд.

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

Быстрый запуск: куда вводить /goal

Сначала убедитесь, что ваш клиент поддерживает Goals. Согласно OpenAI Cookbook, функция появилась в Codex 0.128.0. Это минимальная версия из документации, а не указание на последний выпуск.

Для локального CLI проверьте версию в обычном терминале:

bash
codex --version

Затем откройте интерактивную сессию Codex и введите / в поле сообщения. Здесь вы выбираете slash-команду и задаёте цель. /goal вводится в чате Codex, а не как команда оболочки codex /goal.

Минимальная форма выглядит так:

/goal Исправить обработку ссылок в Markdown, подтвердив результат локальными тестами.

Это только короткая формулировка для знакомства с синтаксисом. Перед запуском реальной работы добавьте область файлов и конкретные проверки — ниже есть законченный пример.

После задания цели введите /goal без текста. Ожидаемый результат по официальной справке — текущая цель остаётся прикреплённой к активному чату, и вы можете её просмотреть. Проверьте, что сохранён именно нужный результат и ограничения не потерялись. Если команда не распознаётся, переходите к проверке версии и включения функции, а не к подбору случайных вариантов синтаксиса.

Почему /goal нет в списке команд и как его включить

Схема проверки доступности команды Codex /goal

Есть две отдельные проверки: содержит ли установка поддержку Goals и включена ли функция. Старый бинарный файл не станет новым только от добавления настройки.

Если локальный CLI старее 0.128.0, обновите его тем способом, которым установили. Cookbook приводит следующие варианты.

Для установки через npm:

bash
npm install -g @openai/codex@latest
codex --version

Для установки через Homebrew:

bash
brew update
brew upgrade --cask codex
codex --version

Выберите подходящий вариант; выполнять оба ради одной установки не требуется.

Если сборка поддерживает Goals, но /goal отсутствует, официальная инструкция предлагает включить функцию через CLI:

bash
codex features enable goals

Другой документированный способ — настройка в используемом Codex файле config.toml:

toml
[features]
goals = true

Если раздел [features] уже существует, добавьте goals = true в него, сохранив остальные параметры. Не создавайте второй одноимённый раздел. После применения настройки снова откройте список команд в том клиенте, которым собираетесь пользоваться.

Сверяйте конкретный клиент. Проверка codex --version относится к локальному CLI и сама по себе не доказывает, что настольное приложение или расширение IDE использует ту же версию и настройку. Документированный флаг — полезный первый шаг при отсутствии команды, но не универсальное исправление любого сбоя интерфейса.

Если /goal виден, но задание или просмотр цели заканчивается ошибкой, это уже другой симптом. Запишите версию, название клиента, полный текст ошибки и действие, которое её вызвало: создание, просмотр или изменение цели. Проверьте текущую цель в том же чате, если просмотр работает. Эти сведения помогут отличить проблему доступности команды от проблемы сохранённого состояния; по одному сообщению об ошибке нельзя уверенно назначить переустановку или удаление данных чата.

Задайте конечный результат, который можно доказать

Хорошая цель описывает не занятость агента, а нужное состояние проекта. «Проверяй документацию, пока она не станет лучше» не даёт критерия завершения. «Исправь проверку ссылок, чтобы она пропускала примеры в блоках кода и обнаруживала отсутствующие локальные файлы» уже задаёт наблюдаемое поведение.

Представим небольшой Node.js-проект с существующим скриптом tools/check-markdown-links.mjs. Он проверяет локальные ссылки в документации, но ошибочно считает ссылки внутри fenced-блоков кода (между тройными обратными кавычками) настоящими и не распознаёт ссылки вида [название][id]. Разрешённая область работы — сам скрипт, его тесты и Markdown-файлы с примерами. Это учебный сценарий; приведённые пути должны соответствовать вашему проекту.

В таком проекте можно задать цель следующим сообщением:

/goal Исправить tools/check-markdown-links.mjs: игнорировать ссылки внутри fenced-блоков кода и проверять локальные ссылки вида [название][id], сохранив проверку обычных inline-ссылок. Менять только этот скрипт, tests/check-markdown-links.test.mjs и fixtures/links/*.md. Добавить примеры с существующим файлом, отсутствующим файлом, ссылкой через id и ложной ссылкой внутри блока кода. Проверить их командой node --test tests/check-markdown-links.test.mjs. Не обращаться к сети и не менять зависимости. Если для исправления нужна работа вне этих путей, сообщить причину и требуемое расширение области. В конце показать изменённые файлы, вывод проверки и оставшиеся ограничения.

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

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

Текст цели должен быть непустым и не длиннее 4 000 символов. Для подробного задания положите спецификацию в файл и укажите его в цели — такой способ прямо предусмотрен справкой /goal. В самой цели оставьте конечный результат и способ проверки, чтобы ссылка на длинный документ не стала единственным указанием, что считать готовностью.

Просмотр, изменение, пауза и очистка цели

Текущая официальная справка команд описывает следующие действия. Вводите их в том же чате, к которому относится цель.

КомандаДля чего использовать
/goal <objective>Задать цель с непустым описанием результата
/goalПосмотреть текущую цель
/goal editПересмотреть формулировку цели
/goal pauseПриостановить активную цель
/goal resumeВозобновить приостановленную цель
/goal clearУдалить текущую цель из чата

Например, после первой проверки скрипта из примера вы можете выяснить, что ссылки через id уже обрабатываются правильно, а ошибка касается только блоков кода. Через /goal edit уточните реальную оставшуюся задачу и сохраните требования к регрессионным тестам. Не объявляйте все условия выполненными только потому, что часть проблемы оказалась отсутствующей.

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

Цель относится к конкретному чату, а не ко всем проектам и не к глобальной памяти Codex. Открытие другой беседы не переносит в неё ваши критерии автоматически. Этот принцип и правила продолжения работы описаны в Cookbook.

Как отличить готовую работу от длинной переписки

Схема этапов работы и проверки завершения цели Codex /goal

Проверяйте результат по условиям, которые задали до запуска. Для примера с Markdown ссылки на конкретные файлы и вывод тестов полезнее фразы «исправление завершено».

Условие целиЧто проверить при приёмке
Ложная ссылка в блоке кода игнорируетсяВ тестах есть Markdown с таким блоком; проверка не выдаёт ошибку по этой ссылке
Отсутствующий локальный файл обнаруживаетсяОтдельный тест ожидает соответствующую ошибку; скрипт не стал пропускать все ссылки
Ссылки через id обрабатываютсяЕсть пример с определением ссылки и проверка найденного пути
Старое поведение сохраненоТесты обычных inline-ссылок по-прежнему проходят
Работа осталась в заданных границахDiff ограничен разрешёнными путями, зависимости не изменены

Команда node --test tests/check-markdown-links.test.mjs в этом сценарии — требование к будущей проверке, а не опубликованный результат нашего запуска. В собственном проекте прочитайте её фактический вывод: запуск с ошибкой, пропущенные тесты и отсутствие нужного сценария не равны подтверждённому исправлению. При необходимости повторите проверку самостоятельно.

Такой подход выявляет и недостаточные критерии. Все тесты могут проходить, потому что они проверяют лишь существующую ссылку. Если в цели обещана обработка отсутствующего файла, это условие всё равно остаётся неподтверждённым. Спросите, какой конкретный тест его доказывает, вместо общей просьбы «проверь ещё раз».

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

Когда Codex продолжает работу, а когда останавливается

Goals особенно полезны для связанных задач, где следующий шаг зависит от предыдущего результата: поиск причины нестабильного теста, миграция или исправление с несколькими проверками. Для одной правки строки или короткого объяснения обычно достаточно обычного сообщения. Если конечный результат пока неясен, сначала обсудите задачу и сформулируйте критерии, а затем задавайте цель.

Продолжение происходит не в произвольный момент. Cookbook описывает его для активной цели в пределах бюджета, когда чат свободен: нет выполняющегося хода, ожидающего сообщения пользователя или другой незавершённой работы. Работа только над планом не запускает автоматическое продолжение; прерывание приостанавливает цель. Если очередное автоматическое продолжение обходится без вызова инструментов, следующее подавляется, чтобы агент не повторял пустые ходы.

Выбирайте действие по причине остановки:

  • Результат достигнут: изучите доказательства и изменения; затем очистите цель, если больше не собираетесь к ней возвращаться.
  • Нужен ваш ответ: выясните, какие данные или решение разблокируют работу. Само ожидание не подтверждает завершение.
  • Вы поставили паузу или прервали работу: проверьте сохранённое состояние и возобновите цель, когда готовы продолжать.
  • Достигнут бюджет: оцените сделанное и остаток задачи. Условия завершения могли остаться невыполненными.

Бюджет цели и денежные расходы — разные величины. Для разработчиков app-server описывает thread/goal/set, thread/goal/get и thread/goal/clear, а также поля tokenBudget, tokensUsed и timeUsedSeconds. Это интерфейс интеграции, а не команды, которые нужно отправлять в терминал для включения /goal. Новый текст цели через API заменяет её и сбрасывает учёт; изменение статуса или бюджета без новой цели может сохранять историю использования.

В рассмотренной справке slash-команд нет формы /goal budget .... Не подменяйте отсутствующий параметр выдуманным синтаксисом. Если нужен расчёт денег перед долгой работой, используйте оценку дневных расходов Codex CLI: она отделяет оплату API от использования подписки и учитывает резерв на незавершённые запросы.

Просьба «остановись после трёх неудачных попыток» может помочь организовать работу, но остаётся текстовым указанием. Она не устанавливает жёсткий программный счётчик попыток или расходов. При достижении бюджета Codex должен прекратить содержательную работу и сообщить прогресс, препятствия и следующий шаг; это остановка по лимиту, а не успех.

Часто задаваемые вопросы

/goal есть только в Codex CLI?

Справка команд документирует /goal для CLI и также перечисляет его для настольного приложения и IDE. Проверять доступность нужно в том клиенте, где вы работаете: наличие команды в документации или в другом клиенте не доказывает состояние вашей установки. Для CLI начните с версии и документированного включения features.goals.

Можно ли изменить цель без создания нового чата?

Да. Используйте /goal edit в текущем чате, затем проверьте формулировку через /goal. Это документированная команда; изменение задачи не требует очистки всей истории переписки. Ограничение текста цели — 4 000 символов. Справка команд.

Можно ли оставить /goal работать на ночь?

Функция рассчитана на длительную работу, но не обещает заданное число часов или результат к утру. Продолжение зависит от активной цели, бюджета и состояния чата; могут потребоваться ваше решение или недостающие данные. Заранее задайте границы и проверки. Документация не даёт основания обещать выполнение локальной задачи при выключенном компьютере. Условия продолжения в Cookbook.

/goal clear откатывает изменения?

Нет. Команда удаляет текущую цель. Правки и результаты уже выполненных действий проверяются и отменяются отдельно. Не используйте очистку цели как замену просмотру diff или восстановлению файлов. Назначение команды clear.

Источники4

Внешние страницы, на которые ссылается это руководство, в порядке упоминания. Последнее обновление: 7 окт. 2026 г..

  1. 1.инструкциях по Goalslearn.chatgpt.com/use-cases/follow-goals
  2. 2.справке командlearn.chatgpt.com/docs/developer-commands
  3. 3.OpenAI Cookbookdevelopers.openai.com/cookbook/examples/codex/using_goals_in_codex
  4. 4.app-serverlearn.chatgpt.com/docs/app-server
Ошибка account/read failed during TUI bootstrap в Codex: одинаковая голова строки и хвосты discovery failed, unauthorized (401) и duplicate workspace с действием для каждого
Инструменты разработчика

Codex account/read failed during TUI bootstrap: причина в хвосте

Смотрите хвост после второго «account/read failed:»: при failed и timed out по отчётам помогал перезапуск фонового сервера Codex, при 401 — повторный вход.

21 мин
Оценка бюджета Codex CLI по плательщику, тарифу и отдельным категориям токенов с резервом на продолжение
Инструменты разработчика

Стоимость токенов Codex CLI: как оценить дневные расходы API перед долгим запуском

При оплате Codex CLI через OpenAI API стоимость зависит от модели, тарифа, длины каждого запроса и распределения входных токенов. Рассчитайте день по рабочим блокам и оставьте резерв перед продолжением задачи.

12 мин
Диагностика ошибки обмена токена Codex: этап входа, сеть, рабочая область и сохранённые учётные данные
Инструменты разработчика

Codex token exchange failed 403: как восстановить вход

При token exchange failed сначала прочитайте текст после двоеточия: error sending request требует проверки сети процесса, а настоящий 403 — причины отказа. Исправление проверяют на том же хосте и с тем же способом входа.

9 мин