Агенты18 минобновлено

Агент Codex: сколько он делает за тебя

Агент Codex: короткий ответ

Коротко: агент Codex - это программа, которая действует сама: читает файлы в указанной папке, правит их, запускает команды и проверяет результат. Внутри рабочей папки она делает это без единого вопроса. Вся разница с чатом умещается в один круг работы, и в этом круге есть три точки, где человека заменить нечем. Разбираю круг по шагам и показываю все три.

Про агента Codex обычно спрашивают после того, как где-то услышали: программа сама правит файлы на диске. Так и есть, безо всяких оговорок.

Дальше всё держится на одном: что происходит между твоей фразой и готовой правкой, сколько шагов агент делает без тебя и где он обязан остановиться.

Чего в тексте нет. Переключение режимов доступа, их флаги и содержимое файла правил - по шагам в первом запуске Codex. Выбор оболочки - в разборе про приложение Codex. Деньги и ключ - в разборе про доступ к Codex. Здесь только устройство работы.

Всё, что ниже, я снял с документации OpenAI 20 сентября 2026 года и сверил с исходниками репозитория. Машины с установленным Codex под рукой у меня не было, поэтому команды привожу так, как они записаны в справке, и за собственный прогон не выдаю. Имён моделей, цен и номеров версий тут нет намеренно: они меняются чаще, чем переписываются статьи.

Имя тут путает отдельно. Словом Codex OpenAI называла языковую модель, объявленную в 2021 году: она стала исходной моделью для GitHub Copilot и дописывала строки кода в редакторе. Это другой продукт другого поколения, и Wikipedia разводит их двумя отдельными страницами. Всё, что ниже, - про агента, запущенного в 2025 году. Определение самого термина лежит в словаре: что такое агент и что такое Codex.

Чем агент Codex отличается от чата в браузере?

Коротко: чат возвращает буквы, агент выполняет действия. Разницу видно по устройству защиты: вокруг агента Codex построены песочница и политика подтверждений. Чату ничего такого не нужно, потому что чату нечего ограничивать. Песочница появляется ровно там, где программа получила право что-то делать сама. Ниже цитата первоисточника и довод от обратного.

Репозиторий проекта описывает продукт одной строкой:

Codex CLI is a coding agent from OpenAI that runs locally on your computer.

«Codex CLI - это агент для работы с кодом от OpenAI, который работает локально на твоём компьютере.»

Два слова здесь несут всё: agent и runs locally. Программа выполняется у тебя, рядом с твоими файлами, и слово agent в этой строке описывает её роль: исполнитель.

Проще показать это от обратного. Открой документацию по безопасности Codex - и увидишь целую страницу про то, куда программе можно писать, когда она обязана остановиться и что делать с недоверенным содержимым. Теперь попробуй представить такую же страницу для чата в браузере. Её не существует: защита нужна тому, кто действует.

Перевод на бытовой язык такой: роль смещается. Из исполнителя ты переходишь в приёмку, и скорость тут вторична.

Что агент Codex делает за один круг?

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

Одной официальной картинки «вот цикл агента» у OpenAI не опубликовано. Шаги ниже собраны из разных страниц документации, каждый подтверждается своей.

Шаг Что происходит Откуда известно
1. Правила Собирает AGENTS.md от корня проекта к рабочей папке; файл ближе к ней перекрывает сказанное выше страница про файл правил
2. Чтение Открывает файлы, до которых у него есть доступ, без подтверждения страница про подтверждения
3. План Намечает порядок действий и выдаёт обновления плана отдельным типом событий страница про неинтерактивный режим
4. Правки Меняет файлы внутри рабочей папки сам страница про подтверждения
5. Команды Запускает команды внутри песочницы; сеть по умолчанию выключена страница про подтверждения
6. Проверка Прогоняет тесты и инструменты проверки результата анонс агента от 16 мая 2025
7. Эскалация Просит разрешение, если нужно выйти за границу песочницы страница про подтверждения

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

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

Что агент Codex успевает сделать до первого вопроса?

Коротко: внутри рабочей папки - почти весь круг. Чтение, правки и запуск команд идут без остановки, и до первого вопроса дело доходит только на границе этой папки. Значит, агент может закрыть задачу целиком раньше, чем ты хоть что-то подтвердишь. Дефолт, который это уравновешивает: доступ в сеть выключен. Границу привожу таблицей.

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

Уравновешивает это один дефолт:

By default, the agent runs with network access turned off.

«По умолчанию агент работает с выключенным доступом в сеть.»

Граница разложена по двум столбцам:

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

Таблица режимов доступа и команда, которая двигает эту границу, лежат в первом запуске. Для круга хватает одного: где граница стоит по умолчанию и что до неё агент Codex не останавливается.

Почему один круг стоит дороже того же вопроса в чате?

Коротко: потому что круг перечитывает контекст заново на каждом проходе. В чате модель получает твой вопрос, у агента - содержимое открытых файлов, историю разговора, описания инструментов и свои же рассуждения, и так на каждом шаге. Поэтому расход растёт от длины задачи, а не от длины твоей фразы. Объясняю, из чего складывается один проход.

Это место, где ожидание расходится с реальностью сильнее всего. Человек пишет три строки и ждёт, что заплатит за три строки.

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

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

Кто одобряет выход за границу: ты или второй агент?

Коротко: это уже настраивается. В документации есть режим, в котором запрос на выход за границу песочницы рассматривает не человек, а отдельный агент-ревьюер. Основной агент остаётся в тех же границах, а запрос на выход за них уходит второму агенту. Факт штатный и описанный в документации. Даю формулировку первоисточника и механику по шагам.

Формулировка первоисточника:

Auto-review replaces manual approval at the sandbox boundary with a separate reviewer agent. The main Codex agent still runs inside the same sandbox, with the same approval policy and the same network and filesystem limits. The difference is who reviews eligible escalation requests.

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

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

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

Режим работает только там, где подтверждения вообще интерактивные. Если подтверждения выключены совсем, рассматривать нечего - и проверять тоже некому.

И трезвая оговорка. Поведение подтверждений на разных поверхностях совпадает не всегда: в трекере висит обращение 5038 о том, что расширение редактора спрашивает подтверждение вопреки настройке «никогда». Настройка описана одна, а ведёт себя по-разному - это стоит проверить на своей поверхности, прежде чем полагаться на неё.

Почему задача может встать на паузу сама?

Коротко: за поведением модели следит отдельный слой наблюдения за безопасностью. Он работает асинхронно и умеет остановить задачу, если поведение выглядит небезопасным. Пауза приходит иногда уже после действия, которое её вызвало. В терминале и на телефоне продолжить такую задачу нельзя: она просто заканчивается. Что это значит для длинных задач - ниже.

Это второй сюжет, на котором ломается ожидание «задача идёт, пока я её не остановлю».

Документация описывает слой наблюдения, который работает параллельно задаче и умеет поставить её на паузу. Работает он независимо от того, какие права получил агент Codex: оценивается поведение модели во время задачи, а не границы песочницы. Там же сказано прямо, что наблюдение не заменяет ни песочницу, ни выданные разрешения, ни проверку результата человеком - это дополнительный слой поверх остальных.

Разобрать находки и продолжить работу можно не везде. В таблице поверхностей отдельной строкой стоит терминал и телефон, и напротив написано: полного разбора находок и продолжения нет, задача заканчивается.

Для работы в терминале это значит вот что: длинная задача может прерваться по решению слоя наблюдения, без твоей команды и без ошибки, и вернуться в ту же точку не получится. Страховка тут одна: короткие задачи и сохранённое состояние работы до того, как ты отдал её агенту.

Может ли агент Codex выполнить чужую инструкцию?

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

Разница между чатом и агентом проявляется тут в полную силу. Если чату подсунуть текст с чужой инструкцией, максимум, что случится, - он ответит не то. Если то же самое прочитает агент Codex, у которого есть право править файлы и запускать команды, результатом станет выполненное действие.

Документация формулирует риск в одну строку:

Prompt injection can cause the agent to fetch and follow untrusted instructions.

«Внедрение инструкции в запрос может привести к тому, что агент загрузит и выполнит недоверенные инструкции.»

Из этого следует неочевидный дефолт. Веб-поиск у агента по умолчанию идёт через поддерживаемый OpenAI индекс результатов, без прямой загрузки страниц - и документация поясняет, зачем: это снижает риск нарваться на инструкцию в произвольном содержимом из сети. Там же стоит оговорка, что относиться к результатам поиска всё равно нужно как к недоверенным. А в режиме полного доступа поиск переключается на прямую загрузку - то есть самый свободный режим одновременно и самый открытый для этого риска.

Прогони на своей сборке один сценарий: положи в рабочую папку файл, где строкой написано указание агенту, и посмотри, что он с ним сделает. Выполнил - сужай границы сейчас, пока такой файл не пришёл со стороны.

Чем облачный круг отличается от круга на твоей машине?

Коротко: местом выполнения и устройством доступа к сети. Облачная задача идёт в изолированном контейнере на стороне OpenAI и состоит из двух фаз: сначала подготовка окружения с доступом в сеть, потом сама работа агента - по умолчанию офлайн. Секреты доступны только на первой фазе и удаляются до старта агента. Покажу, почему из-за этого ломается проверка результата.

Поверхности запуска разобраны отдельно, здесь важна только механика круга. Круг на твоей машине проходит прямо в папке проекта. В облаке OpenAI поднимает контейнер с копией репозитория, а назад приходит сводка, набор изменений и, если всё устраивает, готовый запрос на слияние.

Фаз здесь две, и путают обычно вторую. Сначала выполняется подготовка окружения, и на этой фазе сеть доступна: ставятся зависимости, которые задаче понадобятся. Затем стартует фаза агента, и она по умолчанию идёт без интернета, пока доступ не включён для этого окружения отдельно. Секреты, заведённые для облачного окружения, доступны только на подготовке и удаляются до старта агента.

Участник форума OpenAI сформулировал следствие раньше, чем это стало очевидно из документации:

Whatever dependencies you need will have to be installed in the setup script. There is no internet connection from the container after the setup script runs.

«Все зависимости, которые тебе нужны, придётся поставить в скрипте подготовки. После его выполнения у контейнера нет соединения с интернетом.»

На круг это влияет так. Шестой шаг требует инструментов проверки. Если их не поставили на первой фазе, агент физически не может прогнать проверку и отдаёт работу непроверенной - а выглядит всё как обычный ответ «готово».

Где проходит граница между локальным и облачным выполнением и что это значит для твоих файлов - в разборе про локальный ИИ-агент.

Что меняется, когда за клавиатурой никого нет?

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

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

By default, codex exec runs in a read-only sandbox.

«По умолчанию codex exec работает в песочнице только для чтения.»

То есть без человека агент Codex по умолчанию не правит ничего. Право на правки выдаётся явно, отдельным ключом, и документация советует давать минимальные права, которых хватает задаче.

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

Агент Codex в песочнице: как посмотреть границы заранее?

Коротко: у Codex есть отдельная команда, которая выполняет произвольную команду под теми же ограничениями песочницы, но без самого агента. Так видно, что именно остановит граница, ещё до того, как задача отдана агенту. На macOS отдельный ключ показывает, какие именно обращения были отклонены.

Это самый практичный инструмент из всего разбора.

Команда существует в трёх вариантах - по одному на операционную систему, и принимает произвольную команду, которую надо выполнить внутри песочницы:

codex sandbox macos [--permissions-profile <name>] [--log-denials] [COMMAND]...
codex sandbox linux [--permissions-profile <name>] [COMMAND]...
codex sandbox windows [--permissions-profile <name>] [COMMAND]...

Ключ показа отклонений документация приводит только в строке для macOS - в строках для Linux и Windows его нет. Польза самой команды в том, что проверка отделена от задачи: вот эта команда пройдёт или будет отклонена. Ключ показа отклонений даёт список того, что было запрещено, и по нему видно, какая именно граница сработала.

Зачем это новичку. Обычная реакция на вопросы агента - искать ключ, который выключит их навсегда. Проверка границ отдельной командой даёт другой путь: понять, какая конкретно граница мешает, и подвинуть только её. Саму команду я упоминал в сравнении Codex или Claude Code, там же разложены логики доступа у обоих агентов.

Что остаётся тебе и как откатить неудачный круг?

Коротко: приёмка. Отчёт агента описывает его намерение, а что получилось на диске, видно только по списку изменённых файлов. Отката одной кнопкой у Codex нет, поэтому страховка делается до запуска: отдельная ветка, чистое состояние проекта перед передачей задачи и разбор изменений кусками. Разберу все три и дам таблицу расшифровки ответов.

Три вещи, которые документация советует сделать до того, как задача уйдёт агенту.

  1. Отдельная ветка. Работа в стороне от основной версии проекта позволяет выбросить результат целиком, если он не подошёл.
  2. Чистое состояние перед передачей. Если в проекте уже лежат твои несохранённые изменения, правки агента перемешаются с ними, и отделить одно от другого будет нечем. Документация советует передавать задачу на чистом состоянии - тогда всё изменённое заведомо сделано агентом.
  3. Разбор изменений кусками. Смотреть результат по частям надёжнее, чем принимать всё одним решением.

Дальше - таблица того, что ты видишь в ответе агента, и что это на самом деле значит.

Что видишь Что это значит
«Готово, задача выполнена» Агент дошёл до конца своего круга. Проверял ли он результат и прошла ли проверка - из этой фразы не следует
Список изменённых файлов Единственное, по чему видно результат круга. Читать построчно
Вопрос о разрешении Сработала граница. Стоит понять какая, прежде чем расширять права
Задача прервалась без ошибки Возможна остановка слоем наблюдения за безопасностью; в терминале продолжить её нельзя
Команда упала с ошибкой песочницы Сработала граница рабочей папки, а не поломка агента: в трекере это обращение 5925 про Operation not permitted

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

Что дальше

Коротко: если агент Codex в твоих задачах нужен, начинать стоит с самого узкого режима и короткой задачи, результат которой ты проверишь за минуту. Если не нужен - на этом можно и остановиться: там, где проверить результат нечем, он добавляет работы. Ниже порядок входа и один фильтр перед запуском.

Порядок входа, который обычно доводят до конца:

  1. Поставить агента.
  2. Запустить его в папке с не самым важным проектом.
  3. Дать задачу на чтение и объяснение, без правок.
  4. Разрешать правки только после этого.

Минимальный фильтр перед запуском: смогу ли я за минуту понять, что результат верный. Если ответа нет, круг не закроется - приёмку всё равно делать тебе, и уйдёт на неё больше времени, чем на саму задачу.

Дальше по теме: как установить Codex, первый запуск по шагам и чем платит агент.

Карта всей документации Codex лежит по адресу llms.txt - одним файлом, списком страниц. Эту ссылку я отдаю прямо агенту вместе с задачей свериться с первоисточником.

Разборы, готовые скиллы и разбор чужих ошибок собраны в базе знаний ClaudeBase, каталог скиллов - здесь.

Источники

Спрашивают

Пять вопросов по теме

Чем агент Codex отличается от обычного чата с нейросетью?

Ответ чата заканчивается буквами на экране, следующий шаг делает человек. Агент Codex получает задачу и выполняет её: открывает файлы в указанной папке, правит их, запускает команды и проверяет результат. Разницу видно по устройству защиты: вокруг агента построены песочница и политика подтверждений. Чату такая защита не нужна, потому что чат ничего не выполняет и только возвращает буквы на экран.

Что агент Codex делает без моего разрешения?

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

Может ли агент Codex выполнить инструкцию из чужого файла?

Такой риск документация называет прямо и своим именем: внедрение инструкции в запрос (prompt injection) может заставить агента загрузить и выполнить недоверенные инструкции. Поэтому веб-поиск у него по умолчанию работает через кэш OpenAI и не загружает страницы напрямую. Документация при этом всё равно советует относиться к результатам поиска как к недоверенным. В режиме полного доступа поиск переключается на прямую загрузку.

Правда ли, что одобрять действия агента может не человек?

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

Почему задача агента Codex может прерваться сама?

За работой модели следит отдельный слой наблюдения за безопасностью. Он работает асинхронно и умеет поставить задачу на паузу, если поведение выглядит небезопасным, причём пауза может прийти уже после действия, которое её вызвало. В терминале и на телефоне разбора находок и продолжения нет: задача на этом заканчивается. Наблюдение не отменяет ни песочницу, ни проверку результата человеком.

Источники