Agentic coding — это не только просьба к модели написать функцию. Агент читает репозиторий, выбирает инструменты, меняет несколько файлов, запускает команды и готовит изменение, которому должны доверять человек или CI-система. Поэтому полезно сравнивать весь цикл управления: как инструмент запускается, узнаёт правила репозитория, получает доступ, проверяет поведение, показывает diff и доходит до pull request.
В статье сравниваются терминальные сценарии, описанные в документации OpenAI Codex CLI, Anthropic Claude Code и GitHub Copilot CLI. Срез документации сделан 28 августа 2026 года. Это не личный бенчмарк, не тест скорости и не отчёт о ручном запуске команд. Примеры команд взяты из документации продуктов и требуют адаптации к скриптам и политике конкретного репозитория. «Проверено» означает, что возможность описана поставщиком. «Практический вывод» — рекомендация, выведенная из этих задокументированных ограничений.
Одна задача и три плоскости управления
Для сравнения возьмём ограниченную задачу: «Добавь проверку просроченной сессии, обнови модульные тесты, запусти нужные проверки, покажи diff и подготовь pull request, не отправляя изменения в ветку по умолчанию». У задачи есть границы, наблюдаемая тестовая команда и артефакт для ревью. Одновременно она показывает, где каждый продукт ожидает решения человека.
| Плоскость | Codex CLI | Claude Code | GitHub Copilot CLI |
|---|---|---|---|
| Локальный запуск | codex или codex exec |
claude |
copilot или copilot -p |
| Инструкции репозитория | Иерархия AGENTS.md |
CLAUDE.md, импортирует AGENTS.md |
Инструкции Copilot, path rules, AGENTS.md |
| Разрешения | Sandbox и политика approval | Правила allow, ask, deny и режимы | Области tool, path, URL и sandbox |
| Цикл тестов | Команда репозитория | Найти, написать, запустить, исправить | Команды агента или hook после изменений |
| Ревью | /review, без изменения дерева |
Git review и автоматизация Actions | /review и review-агент |
| Pull request | Action для ревью, Git для локального PR | Git PR и @claude в Actions |
/pr, исправление CI и облачная делегация |
| Неинтерактивный режим | codex exec с sandbox-флагами |
claude -p и Actions |
-p, autopilot, Actions |
Это карта возможностей, а не таблица победителей. Подходящий вариант зависит от места хранения репозитория, доступных учётных данных и требуемого уровня подтверждения.
Установка и первый безопасный запуск
Документация Codex описывает установку отдельного CLI, переход в каталог проекта и вход при первом запуске. Начните в Git-репозитории, попросите кратко описать проект и проверьте разрешения командами /status и /permissions. Для автоматизации используется codex exec.
Обзор Claude Code описывает нативную установку для macOS, Linux, WSL и Windows PowerShell, затем запуск claude в каталоге проекта и авторизацию при первом использовании. Также описаны каналы Homebrew и WinGet. Первый запуск следует считать решением о доверии: после выдачи разрешений CLI может читать файлы, выполнять команды и менять их.
Copilot CLI устанавливается поддерживаемым пакетным или платформенным способом, после чего запускается командой copilot. В первой сессии он спрашивает, доверяете ли вы текущей папке. GitHub предупреждает, что CLI может читать, изменять и выполнять файлы в ней и ниже по дереву. Выполните /login и не сохраняйте папку как доверенную, пока не понятны её скрипты.
Для всех трёх инструментов безопасная последовательность одинакова: используйте отдельную ветку или worktree, запишите исходный результат теста, проверьте загруженные инструкции, разрешите только нужные команды и защитите ветку по умолчанию. Это рекомендация процесса, а не обещание автоматического enforcement со стороны продукта.
Инструкции репозитория — часть интерфейса
Codex читает AGENTS.md перед работой. В задокументированную цепочку входят глобальный файл и по одному файлу в каждом каталоге от корня проекта до текущего каталога. Внутри каталога AGENTS.override.md имеет приоритет, а более конкретные файлы идут после общих. Команды тестов и правила безопасности удобно держать в корне, а соглашения отдельного сервиса — ниже.
Claude Code читает CLAUDE.md и CLAUDE.local.md в иерархии каталогов. Он не читает AGENTS.md напрямую, но CLAUDE.md может импортировать его записью @AGENTS.md. Общие правила сборки, тестов и архитектуры храните в CLAUDE.md, личные предпочтения — в игнорируемом локальном файле, а path rules — в .claude/rules/.
Copilot CLI поддерживает .github/copilot-instructions.md, path-specific файлы .instructions.md и AGENTS.md. Команда copilot init помогает создать начальные правила. Эти файлы формируют prompt, но не являются границей разрешений. Фразу «не трогать production credentials» нужно подкрепить запретами на пути, настройками окружения и политикой CI.
Переносимый репозиторий может иметь короткий общий AGENTS.md, импорт для Claude и отдельные дополнения Copilot. Зафиксируйте команды package manager, минимальный тест, правила generated files, запрещённые пути, миграционную политику и обязательные доказательства для PR. Не превращайте инструкцию в справочник: длинный контекст расходует бюджет модели.
Sandbox и approvals — разные контроли
Codex ясно разделяет эти понятия. Sandbox определяет, к каким файлам и сетевым ресурсам команды имеют доступ, а approvals определяют, когда Codex остановится перед действием. Для локальной реализации обычным профилем служит workspace-write с approval on-request. read-only подходит для исследования или CI-ревью без правки. danger-full-access и псевдоним --yolo снимают границу безопасности и предназначены только для изолированной среды.
Для локальной работы контракт можно сделать явным:
codex --sandbox workspace-write --ask-for-approval on-request
В CI codex exec по документации работает в режиме только чтения. Добавляйте --sandbox workspace-write, лишь если job должна создать patch. --ask-for-approval never допустим только при контролируемых runner, checkout, списке команд и пути вывода. Не копируйте устаревший --full-auto в новые скрипты.
В Claude Code используется многоуровневая система разрешений. Чтение файлов и встроенные read-only shell-команды в Manual-режиме не требуют подтверждения. Изменение файлов, общий Bash, web fetch и поиск могут запрашивать approval. Правила allow, ask и deny проверяет клиент, а не модель. Есть режимы Manual, Plan, Auto и bypass для изолированного контейнера или виртуальной машины. Sandboxed Bash добавляет изоляцию файловой системы и сети через /sandbox.
Copilot CLI спрашивает перед инструментами, которые изменяют или выполняют файлы, а read-only поиск и чтение разрешает автоматически. Разрешения можно ограничить инструментами, путями и URL. Локальный sandbox — отдельная экспериментальная настройка команд и инструментов CLI. GitHub также описывает эфемерный облачный sandbox. Перед автономным запуском проверьте /sandbox policy и действующие разрешения.
Практическое правило для всех продуктов — выдавать возможности слоями: чтение репозитория, конкретные formatter и test-команды, затем запись в ветку или worktree. Сеть, установку пакетов, credentials, push и deploy держите отдельными подтверждениями. Sandbox ограничивает радиус действия, но не проверяет смысл изменения.
Инструменты, MCP и hooks автоматизации
Все три продукта используют shell, операции с файлами и поиск по репозиторию. Codex документирует skills, plugins, MCP и GitHub Action. Claude Code — MCP-серверы, skills, hooks и subagents. Copilot CLI — MCP, skills, plugins, custom agents, hooks и встроенный GitHub MCP-сервер.
Рассматривайте каждое расширение как код, работающий внутри процесса. Проверьте его исходники, ограничьте credentials и решите, нужен ли сервер исполнителю или отдельному ревьюеру. MCP, который создаёт тикеты или мержит PR, отличается от read-only сервера документации. Само подключение не делает его безопасным.
Hooks могут форматировать файл после правки или запускать быстрый тест в конце задачи. Делайте их детерминированными и короткими. Не прячьте deploy или разрушительную миграцию в hook, который агент не может объяснить в transcript.
Тесты — это цикл доказательств, а не фраза о готовности
Хороший prompt называет поведение, fixtures, команды и условия остановки. Попросите агента изучить тесты, добавить падающий сценарий просроченной сессии, внести минимальное исправление, запустить focused test и обязательные проверки. В отчёте нужны команда и exit status. Если focused test уже проходит, пусть агент объяснит причину, а не пишет второй вариант.
Документация common workflows Claude Code прямо описывает поиск непокрытого кода, scaffolding, edge cases, запуск тестов и исправление ошибок. Codex и Copilot CLI могут запускать команды репозитория, когда позволяют разрешения и инструменты. Сгенерированные тесты не доказывают полноту. Человек проверяет контракт, fixtures, integration paths и security cases.
По возможности используйте три уровня: быстрый focused test, suite пакета или сервиса для интеграционных эффектов и обязательные PR checks как merge gate. Ограничьте число попыток исправления и сохраняйте исходный вывод ошибки. Повторный запуск flaky-команды не создаёт новых доказательств.
Diff, review и pull requests
Ревью начинается до PR. Попросите список изменённых файлов, инварианты, выполненные тесты и пробелы. Сопоставьте ответ с задачей, затем сами прочитайте Git diff. Резюме агента — объяснение, а не источник истины.
Codex документирует /review для незакоммиченных изменений, коммита или сравнения веток. Reviewer сообщает приоритетные находки и не меняет рабочее дерево. В документации Codex GitHub Action есть workflow для ревью новых и обновлённых PR с публикацией результата. Для локального создания PR нужны обычные Git или GitHub-инструменты и их разрешения.
Claude Code документирует staging, коммиты, ветки и PR. Его GitHub Actions поддерживают @claude в issue или комментарии PR, задачу issue-to-PR и review workflow. Оставьте token и разрешения репозитория узкими и сохраните обычные CI-gates.
Copilot CLI документирует /review, /pr create и /pr fix feedback, а также исправление конфликтов и CI. /delegate передаёт работу cloud agent, который открывает draft PR и продолжает удалённо. Наличие этих команд не означает, что PR готов к merge.
Для любого инструмента отделяйте «подготовить» от «опубликовать». Пусть агент создаст ветку, patch, тесты и черновик описания. Push, labels, approval и merge оставьте человеку или защищённой identity. В PR укажите задачу, файлы, команды, результаты, риски и непроверенные области.
CI и повторяемость
Неинтерактивный режим Codex предназначен для pipelines. Он отделяет итоговый вывод от progress, выдаёт JSON Lines, записывает последнее сообщение и принимает output schema. Workflow всё равно должен безопасно обрабатывать authentication, logs и failures.
Claude Code запускается с -p и в GitHub Actions. Для недоверенных PR используйте read-only review job, а для разрешённых maintenance-задач — отдельный job с правом записи. Trigger- и token-правила остаются частью границы безопасности.
Copilot CLI предлагает -p, форматы вывода, autopilot и Actions. Флаг --max-autopilot-continues ограничивает продолжение. В Actions заранее выберите identity, оплачивающую модель, и token, которому разрешена запись. Ответ модели не является успешным CI, пока реальный test job не завершится без ошибок.
Безопасность и расходы
Prompt injection может попасть из issue, fixture, README, generated file или веб-страницы. Не выдавайте широкую сеть или production credentials только ради чтения исходников. Запрещайте пути секретов, не печатайте environment variables, отделяйте установку пакетов от тестов и проверяйте MCP-серверы и hooks как зависимости цепочки поставки.
Лимиты Codex и варианты credit зависят от плана и размера задачи. Claude Code различает API-биллинг и подписку, показывает /usage, а extended thinking и длинный контекст могут увеличивать расход. Copilot CLI использует GitHub AI Credits и документирует --max-ai-credits. Эти системы учёта нельзя напрямую сравнивать.
Задайте бюджет процесса. Для mapping используйте меньший effort, а для рискованного решения — более сильную модель. Ограничьте retries, параллельных агентов, autopilot и время cloud runtime. Между несвязанными задачами очищайте или сжимайте сессию. Считайте не только tokens, но и время человеческого ревью.
Рабочие схемы по контексту
Для локального изменения начните любой из трёх инструментов в plan или read-only режиме. Пусть агент изучит репозиторий, процитирует важные инструкции и предложит файлы и тесты. Разрешите минимальный набор, запустите focused и обязательные проверки, а затем прочитайте diff до команды PR.
Команде, ориентированной на GitHub и исправление PR или CI из терминала, подойдёт документированный цикл /pr Copilot CLI. Для работы по комментариям есть Actions Claude Code и review Action Codex. Для структурированного вывода локальной команды у Codex exec описаны JSONL и schemas. Это вывод о соответствии интерфейсов, а не рейтинг.
Для чувствительного кода выбирайте режим, который организация способна принудительно контролировать. Read-only reviewer в закрытом runner может быть безопаснее автономной локальной сессии. Политику помещайте в CI и настройки провайдера, а не только в prose. Полезны заметки AGENTS.md и coding agents, оценка AI-агентов и production AI-agent architecture.
Небольшой operating contract
До запуска определите репозиторий, ветку, разрешённые пути, test-команду, сетевые потребности, предел исправлений и владельца PR. Требуйте видимые вызовы инструментов, ограниченные approval и различие между фактами репозитория и догадками. В конце запросите diff, тестовые доказательства, риски и сигнал usage. Готовность определяют обычные reviewer и CI.
Использованная официальная документация
- OpenAI Codex CLI, инструкции AGENTS.md, sandboxing, approvals и security, неинтерактивный режим, code review и GitHub Action.
- Обзор Claude Code, memory и
CLAUDE.md, permissions, sandboxed Bash, common workflows, costs, MCP и GitHub Actions. - Быстрый старт GitHub Copilot CLI, использование Copilot CLI, разрешения инструментов, настройка, команды PR, code review, autopilot, делегация, local и cloud sandboxes и лимит AI credits.