OpenAI Codex — современный агент программирования с интерфейсом командной строки, который читает файлы проекта, редактирует код и запускает локальные инструменты. Не путайте его с устаревшими моделями Codex. Claude Code — альтернативный агент от Anthropic с поддержкой навыков SKILL.md и собственным набором инструментов. Оба работают в терминале, но различаются подходом к разрешениям, выбору моделей и организации рабочего процесса.
Что такое OpenAI Codex CLI
Codex CLI читает и изменяет файлы в рабочем каталоге и может запускать локальные инструменты. Интерактивная работа начинается командой codex, для запуска из скрипта используется codex exec. Разрешения определяют, какие действия доступны агенту. Проверять изменения следует по фактическому diff и результатам тестов, а не по обещанию ассистента.
Для неинтерактивного выполнения используется команда codex exec с описанием задачи в параметрах. Это удобно для автоматизации или работы в CI/CD, когда нужно применить типовое изменение к нескольким репозиториям.
Codex CLI поддерживает выбор модели и настройку разрешений: можно ограничить доступ к файловой системе, сети или выполнению команд. Агент работает со skills — расширениями функциональности, которые добавляют специализированные возможности для фреймворков, языков или инструментов.
Подробная документация доступна на странице Codex CLI.
Как установить Codex CLI
Откройте официальную инструкцию Codex CLI и выберите способ установки для своей системы. Используйте предложенный продуктом способ входа. Наличие команды в терминале ещё не доказывает, что авторизация и доступ к выбранной модели настроены.
Для первого знакомства подготовьте отдельный учебный репозиторий. Сохраните исходное состояние в Git и убедитесь, что можете самостоятельно запустить тесты. Так ошибка установки или окружения не смешается с ошибкой в предложенном коде.
Проверьте запуск на простой задаче чтения: попросите найти точку входа и назвать файлы, подтверждающие ответ. Откройте эти файлы самостоятельно. Переходите к изменениям после того, как поняли, где работает агент и какой доступ ему выдан.
Первый запуск
Перейдите в каталог учебного проекта и запустите агент. Изучите выбранный режим разрешений: не стоит рассчитывать, что перед каждой записью обязательно появится отдельный вопрос. Для упражнения достаточно доступа к тестовому проекту и его инструментам.
Первый запрос лучше сформулировать так: «Найди функцию фильтрации по дате и относящиеся к ней тесты. Объясни поведение на нижней и верхней границе». Сверьте названные пути и примеры с кодом. Следующим запросом можно поручить конкретное исправление.
Skills и плагины в Codex
Skills и плагины помогают настроить повторяемую работу и подключения. В этой статье для учебного исправления дополнительный навык не нужен: команда запуска существующих тестов определяется проектом. Не устанавливайте случайный комплект расширений ради одного примера.
Если вы добавляете навык, прочитайте его инструкции и вспомогательные файлы. Сформулируйте, что он должен улучшить: например, соблюдать формат отчёта о проверке. Сравните результат на одинаковом задании с навыком и без него.
Плагины добавляют интеграцию с внешними сервисами: системами контроля версий, трекерами задач, облачными платформами. Настройка плагина может потребовать API-ключа или токена доступа.
Что такое Claude Code
Claude Code — агент программирования от Anthropic, который тоже работает в командной строке и редактирует код по текстовым инструкциям. Он поддерживает навыки в формате SKILL.md и набор встроенных инструментов для работы с файлами, тестами и версионным контролем.
Нельзя заранее приписывать одному агенту более качественное понимание репозитория. Это проверяется на одинаковом задании: найдены ли нужные модули, учтены ли вызывающие функции и обнаружены ли существующие тесты.
Для Claude Code используйте его собственную документацию по установке и доступу. В сравнительном упражнении важнее одинаковая исходная версия проекта и одна постановка задачи, чем внешнее сходство интерфейсов.
Сравнение рабочего процесса
Сравнивать агенты удобнее на конкретной задаче. Возьмём учебный сценарий: исправление бага в функции обработки данных. Функция должна фильтровать записи по дате, но пропускает граничные значения.
| Этап | Codex CLI | Claude Code |
|---|---|---|
| Постановка задачи | Описание бага в интерактивном режиме | Описание бага в интерактивном режиме |
| Чтение кода | Агент запрашивает нужные файлы | Проверка нужных модулей по задаче |
| Анализ | Предложение гипотез и мест для проверки | Предложение гипотез и мест для проверки |
| Изменения | Diff с возможностью редактирования | Diff с возможностью редактирования |
Постановка задачи
В обоих агентах задача описывается естественным языком. Пример: «В функции filter_by_date записи с датой, равной start_date, не попадают в результат. Нужно включить граничные значения».
Одинаково сообщите обоим агентам файл, ошибочный пример, ожидаемый результат и ограничения. Например, формат даты не меняется, а обе границы интервала должны включаться. Уточнения записывайте в отчёт: если одному агенту дали дополнительную подсказку, это влияет на сравнение.
Чтение и анализ кода
Начните с функции фильтрации, затем проверьте вызывающий код. Важно понять, приходят ли даты строками или объектами, где выполняется преобразование и есть ли часовой пояс. Попросите привести точные пути к файлам, которые подтверждают вывод.
Не считайте, что все зависимости автоматически прочитаны. Если исправление опирается на вспомогательную функцию, проверьте, что агент действительно её изучил. Для большого репозитория задайте рабочий каталог и исключите из исследования несвязанные компоненты.
Команду тестирования берите из документации проекта или его конфигурации. Отдельный навык тестового фреймворка не является обязательным условием запуска тестов. Запишите версию среды и результат исходного прогона до изменения кода.
Предложение изменений
После анализа агент показывает diff. В нашем учебном примере изменение может выглядеть так:
- if record.date > start_date and record.date < end_date:
+ if record.date >= start_date and record.date <= end_date:
Просмотрите изменения средствами Git или редактора. Убедитесь, что исправлены только нужные условия, не удалены тесты и не ослаблены проверки. Если агент изменил соседний код, попросите объяснить необходимость каждого такого изменения.
Проверка изменений и тесты
После изменения запустите тест, воспроизводящий исходную ошибку, затем связанные проверки. Зафиксируйте команду, код завершения и число выполненных тестов. Отдельно проверьте, что изменённый тест не стал слабее и действительно обнаруживал прежний дефект.
Если тесты падают, агент анализирует вывод и предлагает дополнительные исправления. Например, может оказаться, что граничные значения обрабатываются в другом месте кода или что тестовые данные требуют обновления.
Claude Code работает аналогично: запуск тестов, анализ ошибок, итеративное исправление. Разница в том, как агент интерпретирует stacktrace и какие части кода загружает для анализа.
Ревью изменений
Попросите обоих агентов одинаково описать причину ошибки, исправление и выполненные проверки. Сравните, есть ли в отчёте подтверждающие файлы и команды. Не приписывайте одному инструменту более подробные объяснения без проверки на одинаковом задании.
Полезно запросить у агента проверку edge cases: что будет, если start_date равна end_date? Что, если одна из дат null? Агент предложит дополнительные тесты или защитные проверки.
Чек-лист выбора агента для проекта
Выбор между Codex и Claude Code зависит от задач и предпочтений. Ни один агент не является безусловно лучшим — оба подходят для разных сценариев.
| Критерий | Важно для | Рекомендация |
|---|---|---|
| Размер проекта | Больших кодовых баз с множеством зависимостей | Попробуйте оба на реальной задаче |
| Контроль разрешений | Работы с чувствительными данными | Изучите настройки безопасности |
| Skills и интеграции | Специфических фреймворков | Проверьте поддержку нужных технологий |
| Скорость работы | Частого использования | Измерьте время на типовых задачах |
- Установите оба агента в тестовом окружении
- Выберите типовую задачу: рефакторинг функции, добавление теста, исправление бага
- Выполните задачу в обоих агентах и сравните процесс
- Оцените качество сгенерированного кода и удобство интерфейса
- Проверьте документацию на предмет поддержки ваших инструментов
Типичные ошибки при работе с агентами
Частая ошибка — слишком общая формулировка задачи. «Исправь баг» без контекста заставит агента тратить время на уточнения. Лучше сразу указать: в каком файле проблема, какое поведение ожидается, есть ли воспроизводящий тест.
Другая проблема — игнорирование предложенных изменений без проверки. Агент может ошибиться или предложить неоптимальное решение. Всегда просматривайте diff и запускайте тесты перед коммитом.
Не пытайтесь решить сложную задачу одной инструкцией. Разбейте на этапы: сначала найти место бага, потом написать тест, затем исправить код, наконец проверить граничные случаи. Итеративный подход даёт лучшие результаты.
Проблемы с контекстом
Агенты имеют ограничение на размер контекста. Если проект большой, загрузка всех файлов может превысить лимит. Указывайте только нужные модули или прямо перечислите границы задачи в запросе.
При работе с монорепозиторием явно укажите границы проекта. Иначе агент может попытаться загрузить весь репозиторий, включая непрелевантные части.
Интеграция в рабочий процесс
Codex и Claude Code можно использовать на разных этапах разработки. При создании нового модуля агент генерирует заготовку с типовой структурой, тестами и документацией. При рефакторинге — предлагает улучшения и проверяет, что функциональность не изменилась.
Для code review агент анализирует pull request и указывает на потенциальные проблемы: неоптимальную логику, отсутствие обработки ошибок, несоответствие стилю проекта. Это дополняет человеческое ревью, но не заменяет его.
В CI/CD агенты применяют типовые изменения к множеству репозиториев. Например, обновление версии зависимости, миграция на новый API или добавление проверки безопасности во все сервисы.
Команды для автоматизации
Неинтерактивный режим codex exec позволяет вызывать агента из скриптов. Пример: применить линтер ко всем файлам Python и исправить найденные замечания автоматически.
В автоматизации заранее определите критерий завершения, доступные команды и обработку неуспеха. Ненулевой код завершения, отсутствие отчёта или изменение лишних файлов должны останавливать дальнейшие шаги. Начните с подготовки черновика изменения, который можно проверить до слияния.
Ограничения и что учитывать
Агенты программирования не заменяют понимание кода. Они предлагают решения на основе паттернов, но не гарантируют корректность в специфических ситуациях. Всегда проверяйте сгенерированный код вручную, особенно в критических частях системы.
Не полагайтесь на агента в вопросах безопасности. Он может пропустить уязвимость или предложить небезопасный паттерн. Используйте специализированные инструменты для аудита безопасности.
Учитывайте стоимость API-запросов при активном использовании. Большие проекты и частые обращения могут привести к значительным расходам. Оптимизируйте размер контекста и переиспользуйте результаты, когда это возможно.
FAQ: частые вопросы
Можно ли использовать Codex без подключения к интернету?
Для этого упражнения используется обычный доступ к облачному сервису. Альтернативные конфигурации и совместимость с локальными моделями проверяйте отдельно в документации: инструкции из одной среды нельзя автоматически переносить в другую.
Какие языки программирования поддерживаются?
Проверяйте результат на языке и фреймворке вашего проекта. Хорошее решение простого примера на Python не подтверждает качество работы со сложной системой на другом языке. Добавьте в оценку реальные правила типизации, форматирования и сборки.
Как агент узнаёт о специфике проекта?
Агент читает конфигурационные файлы: package.json, pyproject.toml, Cargo.toml. Также анализирует структуру каталогов и наличие типовых файлов. Для передачи дополнительного контекста можно создать файл с описанием архитектуры и соглашений.
Сохраняется ли история взаимодействия?
Условия хранения истории и передачи данных зависят от продукта и настроек. Не считайте локально сохранённую историю доказательством того, что её содержимое не используется в сетевых запросах. Для учебного теста достаточно обезличенного проекта без клиентских данных.
Что делать, если агент предлагает неправильное решение?
Отклоните изменения и уточните задачу. Укажите, что именно не устраивает: логика, стиль, производительность. Агент предложит альтернативу. Если несколько попыток не дают результата, решите задачу вручную — иногда это быстрее.
Можно ли настроить стиль кода?
Агент обычно следует стилю существующего кода в проекте. Для явного указания стиля добавьте конфигурацию линтера или форматтера. Агент учтёт эти настройки при генерации кода.
Оба агента — Codex CLI и Claude Code — полезны для ускорения рутинных задач программирования. Выбор зависит от предпочтений в интерфейсе, требований к разрешениям и поддержки конкретных технологий. Попробуйте оба на реальных задачах вашего проекта, чтобы определить наиболее подходящий. Критерий успеха — не количество сгенерированных строк, а сокращение времени на типовые операции при сохранении качества кода.