Содержание Разделов: 11
- Что сравнивать: продукт, среду или модель
- Матрица выбора по задаче
- Что означает выбор интерфейса в Codex и Claude Code
- Контекст проекта: общие правила вместо длинного вступления
- Разрешения: отделите намерение от технической границы
- Пример: форма ошибочно показывает успешную отправку
- Промпт для исследования и отдельное разрешение на правку
- Как проверить патч, не доверяя пересказу
- Несколько задач: worktree не равен отдельному серверу
- Когда нужны skills и второй агент для review
- Стоимость пилота и итоговое решение
Claude Code и Codex решают похожие агентные задачи, но отличаются поверхностями и экосистемой. Выбор начинается с вашего рабочего процесса, а не с громкого рейтинга.
Выбирать между Claude Code и Codex полезнее по устройству работы: где лежит репозиторий, как агент получает контекст, кто разрешает команды и как принимается патч. Если процесс уже построен вокруг Claude Code, начните с него. Если важны инструменты разработки OpenAI и привычен Codex, первым кандидатом будет он. Это сокращает переобучение, но не доказывает превосходство в программировании.
Это документальное сравнение по официальным страницам, проверенным 2 ноября 2026 года, а не авторский эмпирический тест. Здесь нет измеренных оценок скорости, качества, стоимости задачи или числа исправлений. Матрицы ниже — редакционные рекомендации для выбора и собственного безопасного пилота.
Что сравнивать: продукт, среду или модель
Название продукта недостаточно точно описывает эксперимент. Терминальный агент на локальном проекте и облачная задача с другим окружением получают разные инструменты. Даже при одинаковом запросе один может видеть установленные зависимости, другой — только загруженные файлы. Полученные различия нельзя целиком приписывать «интеллекту».
Обзор Claude Code подтверждает работу с кодом, файлами и командами через несколько интерфейсов. Документация Codex CLI описывает терминальную работу с локальным репозиторием. Поэтому для начала сравнивайте сопоставимые среды: CLI с CLI либо два визуальных процесса с одинаковыми требованиями к проверке.
Запишите не только бренд, но и выбранную модель, интерфейс, доступные инструменты и ограничения. Если модель не видна, так и укажите: «не отображается». Не подменяйте неизвестную конфигурацию предположением о самой новой версии.
Матрица выбора по задаче
| Ваша ситуация | С чего начать | Условие выбора | Проверка до принятия |
|---|---|---|---|
| Небольшой bugfix в существующем проекте | С уже освоенного агента | Он видит нужную папку и запускает штатные тесты | Регрессионный тест воспроизводит дефект |
| Работа в терминале и скриптах | Claude Code CLI или Codex CLI | Команда понимает shell и может ограничить доступ | Команды, код возврата и рабочая директория видны |
| Нужен визуальный контроль без постоянного терминала | С доступного desktop/IDE-интерфейса | Можно просмотреть полный diff, а не только итоговый ответ | Открываются изменённые файлы и результат |
| Две независимые задачи одновременно | С процесса с раздельными рабочими копиями | Задачи не меняют один контракт без координации | Каждая копия собирается отдельно |
| Действуют правила организации | С разрешённого продукта и окружения | Одобрены передача кода и доступы | Нет обращения к запрещённым сервисам |
| Нужно только объяснить ошибку | С режима исследования без правки | Не требуется доступ на запись | Объяснение ссылается на реальные участки кода |
Ни одна строка не назначает более сильную модель. Например, знакомый интерфейс может быть разумнее для срочного исправления именно потому, что вы уже умеете проверять его действия. Для смены всей среды нужен другой масштаб решения, чем для одного бага.
Что означает выбор интерфейса в Codex и Claude Code
Старая формула «Claude Code — только терминал, Codex — отдельное приложение» вводит в заблуждение. У обоих есть разные способы взаимодействия. А текущая страница ChatGPT desktop app описывает общую desktop-среду, в которой можно выбрать Codex. Историческое название ссылки нельзя считать доказательством неизменности интерфейса.
Проверьте в своём аккаунте три действия: открыть нужную папку, увидеть планируемую команду, просмотреть изменения. Отсутствие удобного preview допустимо для библиотечного bugfix, но неудобно при правке страницы. И наоборот, красивое превью не заменяет лог тестов серверной функции.
Если локальная задача зависит от базы, браузера или системного пакета, сначала выясните, доступны ли они именно выбранной среде. Наличие функции в общем обзоре продукта не означает, что она включена на вашем плане и компьютере.
Контекст проекта: общие правила вместо длинного вступления
Claude Code документирует постоянные инструкции в CLAUDE.md, Codex — в AGENTS.md. Это способы передать рабочие соглашения, а не механизмы физического запрета. Просьба «не менять зависимости» полезна, но её исполнение всё равно проверяется по diff.
Хорошая инструкция отвечает на конкретные вопросы: где исходники, какие команды запускают тесты, какие каталоги генерируются автоматически, какой публичный контракт нельзя менять. Плохая содержит одновременно «исправляй всё найденное» и «меняй только один файл». Удалите противоречие до запуска агента.
Для парного пилота сформулируйте одинаковый смысл правил, даже если файлы называются по-разному. Не давайте одному инструменту накопленные архитектурные заметки, а второму — только короткий запрос. Иначе вы проверите не инструменты, а неравный доступ к знаниям.
Разрешения: отделите намерение от технической границы
У Claude Code есть правила permissions, у OpenAI отдельно описаны sandbox и подтверждения. Важное различие: изоляция определяет доступные ресурсы, подтверждение — порядок допуска конкретного действия. Изменение способа подтверждения само по себе не расширяет границы sandbox.
До первой правки выясните, что разрешено читать, куда можно писать и есть ли сеть. Не снимайте ограничения только потому, что агенту удобнее скачать пакет. Сначала спросите, можно ли решить задачу установленными средствами.
В учебном репозитории не должно быть production-ключей, клиентских выгрузок и подключений к настоящим платежам. Отдельная ветка помогает просмотреть изменения, но не изолирует доступ к файлам или внешним системам. Для опасного окружения нужна техническая изоляция, а не только обещание в промпте.
Пример: форма ошибочно показывает успешную отправку
Представим учебный сайт: после сетевой ошибки форма показывает посетителю сообщение «заявка отправлена». Это вымышленная постановка для тренировки, не описание выполненного автором кейса. Такой дефект удобен для выбора агента, потому что критерий понятен независимо от бренда.
Нужны исходный обработчик, формат ответа сервера и тестовый способ воспроизвести отказ. Не просите одновременно обновить дизайн, переписать транспорт и внедрить новую аналитику. Минимальная задача — различить подтверждённый успех и ошибку, сохранив остальное поведение.
Перед реализацией попросите найти цепочку: событие формы → запрос → обработка ответа → сообщение посетителю. Если агент предлагает патч, не прочитав серверный контракт, остановитесь: он может исправить текст, оставив неверную логику. Это полезный критерий приёмки любого инструмента, но не заявленный недостаток конкретного продукта.
Промпт для исследования и отдельное разрешение на правку
Передайте обоим кандидатам один бриф, заменив путь на папку безопасной копии проекта:
Исследуй ошибку: при сетевом отказе форма показывает успех.
Пока ничего не меняй. Прочитай обработчик формы, серверный контракт
и относящиеся к ним тесты. Укажи найденные файлы и вероятную причину.
Предложи минимальный план и проверки: успех, отказ, неполный ответ.
Не устанавливай пакеты, не отправляй настоящие заявки,
не меняй аналитику и не выполняй деплой.
Если контракта или тестовой среды нет, сообщи об этом.
После проверки плана разрешите узкое изменение отдельным сообщением. Уточните, что считается успехом сервера, какие ответы ошибочны и какие файлы разрешено менять. Так вы сможете отличить качество исследования от качества реализации, а не оценивать один большой непрозрачный ответ.
В финале запросите список файлов, фактически выполненные команды и непроверенные сценарии. Формулировка «тесты должны проходить» не равна «запущена такая-то команда, получен такой-то результат».
Как проверить патч, не доверяя пересказу
Откройте diff и найдите точку, где выбирается успешное состояние. Проверьте, что оно не возникает из-за любого HTTP-ответа, пустого объекта или отсутствия исключения. Конкретное условие должно соответствовать реальному контракту проекта, а не универсальному совету из статьи.
Затем проверьте отрицательные сценарии: отказ сети, ответ без обязательных полей, повторный клик во время запроса. Если проект использует тестовый адаптер, прогоните через него. Если таких средств нет, не отправляйте запросы в production «для проверки» — сначала подготовьте безопасную замену.
Посмотрите и на ненужные изменения: переименование классов, новый пакет, другой formatter, массовая перезапись тестов. Зелёный запуск не оправдывает расширенный diff. Он также ничего не доказывает, если проверки ослаблены или запускаются не в том пакете репозитория.
Несколько задач: worktree не равен отдельному серверу
Worktrees в Codex дают отдельные рабочие каталоги Git для параллельных задач. Практический смысл — не позволять двум исполнителям одновременно перезаписывать одни файлы. Это не доказательство ускорения любой разработки.
Пусть одна задача касается текстов формы, другая — серверного ответа. До разделения зафиксируйте общий контракт. Иначе два независимых патча могут успешно пройти свои локальные проверки, но оказаться несовместимыми после объединения.
Учитывайте и общие ресурсы: разные папки могут обращаться к одной тестовой базе или занимать один порт. Приёмка объединённого результата обязательна. Начинающему часто проще закончить один небольшой патч последовательно, чем сразу строить параллельную систему.
Когда нужны skills и второй агент для review
Skills позволяют упаковать повторяемую процедуру с инструкциями и ресурсами. Для команды это полезно после нескольких похожих задач: например, единый порядок проверки форм. Для разового bugfix сначала достаточно ясного брифа.
Не переносите в skill секреты и временные обходы. В процедуре должны быть входы, критерии успеха, стоп-условия и требуемые доказательства. Если нужный тестовый стенд недоступен, корректный итог — указание ограничения, а не имитация проверки.
Второму агенту можно дать исходный бриф и diff, попросив искать нарушения контракта без изменений. Не сообщайте ему «первый уже всё проверил»: это создаёт ненужное ожидание согласия. Совпадение двух AI-ответов не заменяет воспроизведение дефекта и человеческое решение о merge.
Стоимость пилота и итоговое решение
Таблица тарифов здесь намеренно отсутствует: статья не утверждает, что один продукт дешевле, бесплатнее или доступен в конкретной стране. Перед оплатой проверьте официальные условия именно своего способа использования, включённые возможности и поведение после лимита. Наличие подписки не следует автоматически переносить на любой API или интеграцию.
Для собственного сравнения сохраните один исходный commit, одинаковый бриф и журнал всех попыток. Считайте не только ожидание первого патча, но и время объяснений, проверки и исправлений. Если один кандидат не удалось настроить, запишите проблему доступа отдельно: это не проигрыш в качестве кода.
Итоговая рекомендация проста: выбирайте процесс, в котором вы понимаете контекст, контролируете действие и можете доказать работоспособность результата. Для старта доступны разделы Codex и AI-агенты. Если нужен учебный маршрут от брифа к безопасному пилоту — практический интенсив.
Проверка
Источники и дата проверки
- Claude Code overview Проверено 2 ноября 2026
- Claude Code permissions Проверено 2 ноября 2026
- Claude Code memory Проверено 2 ноября 2026
- Codex CLI Проверено 2 ноября 2026
- ChatGPT desktop app Проверено 2 ноября 2026
- Permissions Проверено 2 ноября 2026
- Custom instructions with AGENTS.md Проверено 2 ноября 2026
- Worktrees Проверено 2 ноября 2026
- Build skills Проверено 2 ноября 2026