Для команды, которая внедряет CLI-агента в рабочий процесс, выбор обычно стоит между Codex CLI от OpenAI и Claude Code от Anthropic. Внешне они делают одно и то же: читают codebase, правят файлы, выполняют shell-команды. Но философия у них разная, и это определяет, каким репозиторием с ними безопасно работать.
Codex CLI тяготеет к автономности. В режиме --full-auto он читает файлы, меняет код и запускает команды без вопросов — расчёт на то, что вы уже описали задачу достаточно чётко и не хотите прерывать процесс. Claude Code, наоборот, по умолчанию спрашивает перед каждым действием с последствиями. Можно добавить команды в whitelist, но базовая модель — показать, что будет сделано, прежде чем делать.
Ключевая разница: автономность против контроля
Это не просто деталь интерфейса. От выбранной парадигмы зависит, насколько серьёзные задачи можно доверить агенту в общем репозитории. Если в CI/CD или на проде недосказанность задачи приводит к поломке, подход «сначала спроси» спасает от многих бед.
Режимы разрешений: три у Codex, один явный у Claude
У Codex CLI три режима. --approval-mode suggest только показывает изменения, не применяя их. auto-edit правит файлы сам, но спрашивает перед выполнением команд. full-auto делает и то, и другое без вопросов — для безопасности сетевые вызовы уходят в sandbox, чтобы случайно не запустить нежелательный запрос наружу. Быстро, но рискованно: неверная команда может отработать раньше, чем вы её увидите.
У Claude Code по умолчанию всё явно: на каждое действие с последствиями он спрашивает [y/n/always/never]. Для команд, которым вы доверяете, можно выдать постоянное разрешение через claude config add-allowed-command .... Это осознанное доверие к конкретному действию, а не общий тумблер на всё.
Контекст: временный против постоянного
Codex CLI использует историю git и файлы, которые вы явно передадите в команде. Контекст живёт только в рамках сессии. Claude Code берёт контекст из CLAUDE.md — файла с описанием стека, ключевых файлов и ограничений проекта. Он автоматически подгружается в каждую сессию. Это удобно для большой долгой работы над одним репозиторием: не нужно каждый раз напоминать агенту, где лежит что и почему.
Что умеет каждый
- Codex CLI: открытый код под MIT (можно аудировать, форкать, хостить у себя), безостановочный full-auto, сетевой sandbox, поддержка «глубоких» моделей вроде o3, растущее комьюнити расширений.
- Claude Code: Plan Mode (агент сначала показывает план, вы корректируете, потом он пишет код), параллельные субагенты для нескольких задач, hooks, иерархия CLAUDE.md для global/project/subdirectory, Ultrathink для сложных задач, headless mode для CI.
| Критерий | Codex CLI | Claude Code |
|---|---|---|
| Философия | Автономность | Контроль |
| Разрешения по умолчанию | Зависят от режима (suggest/auto-edit/full-auto) | Явный запрос [y/n/always/never] |
| Контекст | Только в рамках сессии | Постоянный через CLAUDE.md |
| Открытый код | Да, MIT | Нет (проприетарный) |
| Hooks | Нет | Есть, включая PreToolUse |
| Plan Mode | Нет | Есть |
| Сетевой sandbox | Есть | Нет |
| Субагенты | Нет | Есть (параллельные) |
| Для кого | Тех, кто хочет open source и максимальную скорость | Тех, кто работает с продакшн-репозиториями |
Hooks: жёсткий уровень контроля, а не совет
Очень показательная разница — система hooks в Claude Code. Правила в CLAUDE.md остаются рекомендацией для модели; hook — это программа, которую вы привязываете к событию (до или после вызова инструмента, при завершении сессии). Она выполняется вне модели, получает вызов инструмента в JSON через stdin, и её решение жёстко применяется средой — модель не может уговорить её сработать иначе.
Пример настройки с matcher для Read, Grep, Bash — обвязка для Python-скрипта-стража — показывает, как это выглядит в .claude/settings.json. Скрипт может блокировать чтение .env или защищать от rm -rf вне разрешённых путей. У Codex CLI такого слоя нет: сетевой sandbox режет трафик, а hooks перехватывают сам вызов инструмента. Последнее точнее и гибче.
Как выбрать: что подойдёт именно вам
Codex CLI — вариант, если:
- нужен полностью открытый исходный код;
- вы готовы к full-auto в уже проверенном окружении;
- важна конкретная модель (например, GPT-4o или o3);
- хочется самому расширять агента.
Claude Code — если:
- у вас уже есть Claude Max, тогда агент не требует отдельной оплаты за задачи;
- Plan Mode спасает от многофайловых ошибок в самом начале;
- нужны субагенты для больших codebase;
- hooks-система совпадает с вашими потребностями в автоматизации.
Эти инструменты не обязательно выбирать один раз и навсегда. Можно держать Codex CLI для быстрых черновых правок в доверенной среде, а Claude Code — для чувствительных продакшн-задач, где важен контроль. Решение определяется не абстрактным «лучше», а тем, сколько контроля нужно для конкретного типа работы.
Типичные ошибки
Запустить full-auto в репозитории, где вы не настроили sandbox — рискованно. Доверять CLAUDE.md как защите от опасных команд — тоже: это инструкция, а не правило. И наоборот, включать постоянные подтверждения на каждую мелочь — убивает всю пользу агента.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.