Codex CLI: что происходит на экране терминала и как вести агента по циклу

15 мин. чтения

Коротко (TL;DR). Codex CLI — это агент OpenAI, который живёт прямо в вашем терминале: вы описываете задачу словами, он читает файлы, предлагает правки, спрашивает разрешение и применяет их. В этом гайде разбираем поверхность CLI: что показывает экран, как устроен рабочий цикл «запрос → план → одобрение → запуск → результат», какие бывают режимы доступа, главные slash-команды и горячие клавиши. После него вы будете уверенно вести сессию, а не гадать, что нажать. Установка по операционным системам и метод постановки задач — отдельные темы; здесь именно интерфейс и управление.

Codex CLI — это агент, а не чат

Обычный чат отвечает текстом. Codex CLI работает иначе: это агент, то есть программа, которая не просто говорит, а сама действует — читает файлы проекта, запускает команды в терминале и вносит изменения в код, спрашивая у вас разрешение на каждое опасное действие. По той же логике устроен и терминальный ИИ-агент Claude Code — если вы уже видели один такой инструмент, интерфейс Codex покажется знакомым.

Смысл простой: вместо того чтобы копировать код из браузера в редактор и обратно, вы держите агента там, где и так живёт разработчик, — в терминале рядом с репозиторием. Это делает Codex CLI удобной точкой входа в идею собрать продукт с ИИ без ручного перекладывания кусков.

Codex CLI — не единственная поверхность Codex (есть ещё облако и расширение для IDE), но именно CLI — самая наглядная: весь рабочий цикл проходит у вас перед глазами.

С чего начинается сессия: запуск и вход

Чтобы попасть в интерфейс, Codex сначала нужно поставить. Способ на выбор (все — на 16 июля 2026):

  • через npm: npm install -g @openai/codex;
  • через Homebrew на macOS: brew install --cask codex;
  • скриптом-установщиком на macOS и Linux: curl -fsSL https://chatgpt.com/codex/install.sh | sh.

Дальше всё одинаково независимо от способа установки. Откройте в терминале папку своего проекта и наберите одну команду:

codex

При первом запуске Codex попросит войти. Рекомендуемый путь — Sign in with ChatGPT: вход по вашей подписке ChatGPT (Plus, Pro, Business, Edu или Enterprise). Альтернатива — ключ API. После входа открывается интерактивный интерфейс в терминале (его называют TUI — text user interface, «текстовый интерфейс»), и агент готов принимать задачи.

Важная деталь: Codex запускается в контексте той папки, из которой вы его вызвали. Он видит файлы этого проекта — поэтому запускать его нужно из корня репозитория, а не из домашней папки.

Что показывает экран

Когда сессия открылась, интерфейс TUI показывает главное про текущее состояние: активную модель, рабочую папку и доступный контекст (сколько «памяти» осталось под диалог). Внизу — поле ввода (композер), куда вы пишете задачу.

Запомнить весь экран наизусть не нужно: точную сводку по сессии всегда даёт команда /status (о ней ниже). Если что-то идёт не так — Codex «не пишет файлы», нет веб-поиска, не та папка — первым делом смотрят именно на эти три вещи: модель, права и рабочую директорию.

Рабочий цикл Codex CLI: от запроса до готовых правок

Это ядро всего интерфейса. Один «ход» агента почти всегда проходит по одной и той же схеме:

Запрос → План → Одобрение → Запуск → Результат.

Разберём по шагам, что происходит и где вы принимаете решения.

  1. Запрос. Вы описываете задачу словами прямо в поле ввода: «объясни эту кодовую базу», «добавь валидацию email в форме регистрации», «почини падающий тест». Чем конкретнее задача и чем точнее указаны файлы, тем лучше результат.
  2. План / действия. Codex читает нужные файлы и решает, что делать. На неоднозначной задаче полезно заранее включить режим планирования (/plan): тогда агент только исследует код и предлагает план, ничего не трогая. Вы одобряете план — и лишь потом даёте писать код. Это дешевле, чем откатывать неудачные правки.
  3. Одобрение. Перед тем как изменить файл или выполнить команду в терминале, Codex показывает, что именно собирается сделать (diff правок или саму команду), и ждёт вашего «да». Что именно требует подтверждения, зависит от режима доступа — о нём следующий раздел.
  4. Запуск. После одобрения агент применяет изменения: правит файлы, выполняет команды, при необходимости прогоняет тесты.
  5. Результат. Codex показывает, что сделал: изменённые файлы, вывод команд, итог. Дальше вы либо принимаете результат, либо уточняете задачу — и цикл повторяется.

Ключевая мысль для новичка: вы не теряете контроль. В режимах с подтверждением агент ничего не меняет без вашего явного согласия на каждом шаге. Навредить проекту случайно сложно.

Режимы доступа: Read Only, Auto и Full Access

То, насколько свободно Codex действует без вопросов, задаёт уровень доступа. Переключается он одной slash-командой — /permissions — и предлагает три пресета. Это лесенка риска: чем выше, тем меньше вопросов, но и меньше защиты.

ПресетЧто разрешеноКогда брать
Read OnlyТолько чтение и просмотр; перед любым изменением спрашиваетРазобраться в чужом коде, аудит, «объясни проект»
AutoЧитает, правит файлы и запускает команды в рабочей папке без лишних вопросовПовседневная работа над своим проектом (разумный дефолт)
Full AccessПолный доступ к машине и сети, без ограниченийТолько точечно и осознанно, когда реально нужно

Песочница и одобрения — это две разные вещи

Здесь путаница, которую большинство гайдов не разводит. За пресетами стоят два независимых механизма:

  • Режим песочницы (sandbox) — что агенту физически разрешено трогать. Значения: read-only (только чтение), workspace-write (запись в рабочую папку) и danger-full-access (без ограничений, включая сеть).
  • Политика одобрений (approval policy) — когда агент спрашивает разрешение. Варианты вроде untrusted, on-failure, on-request, never.

Проще говоря: песочница — это стены (куда нельзя), а одобрения — сколько раз переспросить, прежде чем что-то сделать внутри стен. Пресеты /permissions — удобные готовые комбинации этих двух настроек. По умолчанию держите Auto (запись в папку проекта), а Full Access включайте только когда без сети или доступа ко всей машине задача не решается.

Slash-команды: пульт управления сессией

Slash-команды управляют самой сессией Codex, а не кодом. Чтобы вызвать список, наберите / в поле ввода — откроется всплывающее меню, и можно продолжать печатать, чтобы отфильтровать нужную. В интерактивном TUI таких команд больше сорока; вот те, без которых не обойтись новичку:

КомандаЧто делаетКогда звать
/statusПоказывает модель, права, папки записи и расход токеновЧто-то идёт не так — начните отсюда
/modelМеняет модель и уровень рассуждений прямо в сессииЗадача стала сложнее или, наоборот, простой
/permissionsПереключает уровень доступа (Read Only / Auto / Full Access)Перед рискованными операциями
/planРежим планирования: агент строит план, не трогая кодНеоднозначная или крупная задача
/reviewОтдельный проход-ревью изменений на баги и регрессииПеред коммитом
/initСоздаёт файл AGENTS.md — постоянную инструкцию проектаВ начале работы над репозиторием
/diffПоказывает изменения через git diffПроверить, что именно наменял агент
/compactУжимает видимый диалог, освобождая контекстДолгая сессия «забивает» память
/quitВыход из CodexЗакончили работу

Точный набор и названия команд обновляются, поэтому свежий список всегда лучше смотреть через / прямо в сессии, а не по чужому гайду. Устроено это так же, как slash-команды у другого терминального агента — сама идея «командного пульта в поле ввода» общая для агентных CLI.

Горячие клавиши и управление на ходу

Часть управления идёт не командами, а клавишами. Базовый набор:

КлавишиДействие
Ctrl+C или /quitВыйти из Codex совсем
Ctrl+JПеренос строки без отправки (многострочный запрос)
EscПрервать текущую задачу (не выход, а стоп для агента)
Esc дваждыОткрыть предыдущее сообщение на правку и форкнуть диалог с этой точки
Ctrl+OСкопировать последний завершённый ответ
Ctrl+RПоиск по истории ваших запросов
! в начале строкиВыполнить локальную shell-команду (например, !git status) без выхода из агента

Отдельно стоит выучить два способа вмешаться, пока агент работает:

  • Enter — вбросить новую инструкцию в текущий ход (steer): агент сразу перенаправится. Нужно, когда видно, что он идёт не туда, и хочется поправить срочно.
  • Tab — поставить промпт в очередь на следующий ход (queue): агент доделает текущее, а потом возьмёт ваше уточнение. Удобно, когда мысль пришла, но перебивать незачем.

Эти две клавиши — половина искусства управления агентом: перебить сейчас или дождаться и добавить потом.

Модель и уровень рассуждений

Если модель не выбирать вручную, Codex берёт рекомендованную по умолчанию. На 16 июля 2026 это gpt-5.6-sol со средним (medium) уровнем рассуждений — но состав моделей OpenAI меняется быстро, поэтому «зашивать» его в голову не стоит.

Сменить модель на ходу — команда /model. Там же переключается уровень рассуждений (reasoning effort): на 16 июля 2026 доступны Low, Medium (по умолчанию), High, Extra High и Max. Правило простое: выше уровень — точнее на сложных задачах, но дольше и дороже по токенам. Начинайте со среднего и поднимайте, когда задача реально требует более глубокого анализа. Актуальный список моделей всегда виден в /model и в документации OpenAI.

Продолжить сессию и запуск без диалога

Две команды, которые превращают Codex CLI из «поболтать в терминале» в рабочий инструмент.

codex resume переоткрывает недавний диалог из текущего репозитория — не нужно начинать с нуля после того, как закрыли терминал. Формы: codex resume --last продолжает последнюю сессию, codex resume <SESSION_ID> — конкретную по её идентификатору.

codex exec — неинтерактивный (headless) режим. Codex выполняет задачу без диалога и печатает результат в стандартный вывод (stdout). Это то, что нужно для скриптов и CI/CD: тот же самый агент, но встроенный в автоматизацию, а не в живую беседу. Например, прогнать проверку или сгенерировать отчёт по коду прямо в пайплайне.

Риски и ограничения

Честно о слабых местах — их важно знать до того, как дадите агенту волю.

  • Состав моделей быстро устаревает. Дефолт и названия моделей менялись не раз за 2026 год (на 16.07.2026 дефолт — gpt-5.6-sol/medium). Не запоминайте список — сверяйтесь через /model и документацию.
  • Full Access и danger-full-access снимают защиту. Включённые «на всякий случай», они дают агенту право трогать всю машину и сеть — а значит, и снести лишнее. По умолчанию держите Auto или Read Only, повышайте точечно.
  • Названия команд обновляются. В TUI больше сорока slash-команд, и набор меняется; команда из старого гайда может называться иначе. Проверяйте через /.
  • На Windows песочница помечена как экспериментальная. Поведение изоляции может отличаться от macOS и Linux — на Windows будьте осторожнее с автоматическими режимами.

Обратная сторона рисков — плюс: сам рабочий цикл с одобрениями безопасен по устройству. В режимах с подтверждением без вашего явного «да» на diff или команду агент ничего не меняет, так что новичку сложно навредить случайно.

Что устареет первым

Быстрее всего в этом гайде устареют имена и состав моделей (дефолт, доступные варианты) и, во вторую очередь, точный набор slash-команд. Механика же — рабочий цикл «запрос → план → одобрение → запуск → результат», разделение песочницы и одобрений, клавиши steer/queue — держится стабильно. Если увидели расхождение, источник истины один: команда /model и / в самой сессии плюс официальная документация Codex CLI.

FAQ

Как выйти из Codex CLI? Нажмите Ctrl+C или введите команду /quit. Клавиша Esc из этого не выведет — она только прерывает текущую задачу агента, оставляя вас в сессии.

Codex не пишет файлы — что проверить? Первым делом наберите /status: он покажет активную модель, уровень доступа и папки, куда разрешена запись. Чаще всего причина — режим Read Only или неверная рабочая папка. Переключите доступ командой /permissions на Auto.

Чем режим песочницы отличается от политики одобрений? Песочница (read-only / workspace-write / danger-full-access) задаёт, что агенту физически можно трогать. Политика одобрений (untrusted / on-failure / on-request / never) задаёт, когда он спрашивает разрешение. Пресеты /permissions — готовые комбинации этих двух настроек.

Как продолжить вчерашнюю работу, если я закрыл терминал? Команда codex resume переоткроет недавний диалог из этого репозитория. codex resume --last продолжит самую последнюю сессию, а codex resume <SESSION_ID> — конкретную по идентификатору.

Как перебить агента, пока он работает? Нажмите Enter, чтобы вбросить новую инструкцию прямо в текущий ход (агент сразу перенаправится), или Tab, чтобы поставить уточнение в очередь на следующий ход. Полностью остановить текущую задачу — Esc.

Как увидеть, что именно изменит агент, до применения? Codex показывает правки как diff — построчную разметку «было/стало» прямо в терминале, ещё до записи на диск. В режимах с одобрением вы просматриваете этот diff и подтверждаете изменения по одному, так что ни один файл не поменяется, пока вы не согласитесь.

Можно ли запускать Codex без интерактивного диалога? Да, для этого есть codex exec — неинтерактивный режим: агент выполняет задачу и печатает результат в stdout. Подходит для скриптов и CI/CD-пайплайнов.

Курс «OpenAI Codex: агентный кодинг» · модуль «Интерфейсы Codex». Полная программа и два маршрута обучения — на странице курса.

Следующий урок: Codex Cloud: задачи в облаке → pull request

Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.