Снёс Codex. Claude Code дал ×2 скорости

Снёс Codex. Claude Code дал ×2 скорости

В апреле я подсел на идею связки. Все вокруг писали, что в 2026 один ИИ-агент уже не вывозит: Claude Code думает, Codex проламывается, держи оба, переключайся по сценарию. Я честно отработал 3 канонических паттерна Towards Data Science - Claude пишет, Codex ревьюит; Codex набрасывает, Claude причёсывает; Codex на инфре, Claude на бизнес-логике. Месяц, три проекта на проде, по 5-7 фич каждый.

На 31-й день я снёс npm uninstall -g @openai/codex и удалил AGENTS.md. Скорость от идеи до прода выросла в 2 раза. Bash-команды перестали падать на полпути. Контекст внутри одной сессии Claude Code держится теперь час-полтора без обрыва.

Это не «Codex плохой». Codex отличный - на своих задачах. Но в связке с Claude Code в 2026 он чаще мешает, чем помогает. Сейчас расскажу где именно и что я оставил вместо него.

Что у меня было: 3 паттерна за 30 дней

Месяц я работал по канонической схеме «три паттерна совместной работы Claude Code и Codex», которую к 2026 описали Towards Data Science, Composio и Daniel Vaughan. Короткий пересказ - кто из агентов что закрывал у меня:

  • Паттерн 1 (CC + Codex Review): Claude Code пишет фичу в Plan Mode, я открываю PR, Codex в cloud-режиме ревьюит за 5-15 минут, я возвращаюсь в Claude и применяю комменты. На бумаге - мечта.
  • Паттерн 2 (Codex Draft + CC Polish): грубый черновик за 12 минут от Codex, потом Claude часом причёсывает архитектуру, типы, имена. Использовал на одном новом сервисе - реально быстрее, чем Claude в одиночку.
  • Паттерн 3 (Codex Infra + CC Business): Codex отвечает за CI-пайплайны, миграции БД и скрипты деплоя; Claude - за бизнес-логику и UI-слой. Граница в репо явная.

Месяц я считал, что нашёл идеальное разделение. Фичи летели быстрее, тесты появлялись сами. И где-то к 18-му дню начало проскальзывать одно ощущение:

«Я не работаю, я синхронизирую двух джунов».

К концу месяца я выделил 3 грабли, на которые упёрся системно - каждая убивает выигрыш связки. Дальше - как они выглядят на практике. И сразу, чтобы было что украсть прямо отсюда - вот как я разрулил то же самое уже без Codex, одним Claude Code:

# Старая связка (30 дней) # Новая схема (без Codex) ───────────────────────────────────── ───────────────────────────────── Архитектура → Claude Code (Plan Mode) → Claude Code (Plan Mode) [не изменилось] PR-ревью → Codex cloud, async → Subagent внутри Claude Code [/spawn review <PR>] Инфра/тесты → Codex CLI, отдельный CTX → Skill `infra-generator` [внутри той же сессии] Безопасность → ручной чек → Hooks в .claude/hooks.json [pre-commit, без агента]

Подробный разбор каждой строки правой колонки - дальше в H2 «Что я оставил». Сейчас - граблями назад.

Грабля №1: контекст течёт через AGENTS.md, и его никто не моет

У Claude Code есть CLAUDE.md - там разговорные предпочтения, hooks, MCP-серверы, settings layers. У Codex - AGENTS.md - операционный runbook: команды тестов, lint, запреты папок, формат коммитов. Открытый стандарт, его читают Cursor, Aider, Continue ещё 25 агентов.

Внутри claude code и codex вместе живёт ловушка: один и тот же запрет надо держать в двух местах. «Не трогай миграции без подтверждения» в CLAUDE.md Claude Code услышит. Codex его не увидит - он смотрит в AGENTS.md. Если ты обновил только один файл - второй агент будет работать по устаревшим правилам.

Канонический ответ сообщества - синхронизировать через RuleSync: один исходник в /context/, генерация двух файлов скриптом, pre-commit hook падает если правишь файлы инструментов напрямую. Я честно поставил, настроил, отработал две недели.

Проблемы три. Во-первых, любая мелочь - новый запрет, новая команда - это PR, прогон CI и синхронизация двух агентов. Во-вторых, синтаксис CLAUDE.md и AGENTS.md пересекается на 60%, а различается на 40%. Скрипт всё равно требует ручной правки в исходнике под каждый агент. В-третьих, между сессиями Claude и Codex теряется живой контекст: то, что я объяснил Claude в чате - Codex не услышит, и наоборот. Sync через файл работает только для статических правил.

К концу третьей недели я обнаружил, что половину времени с Codex трачу на объяснение того, что Claude уже знает. Это не «синергия» - это двойной вход в один и тот же контекст.

Грабля №2: Codex закрывает PR с галочкой, баг летит в прод

Самый дорогой случай за месяц. Я делал нетривиальное изменение схемы БД на одном из боевых проектов - менял тип колонки на более строгий. Claude Code написал миграцию, тесты прошли, я открыл PR с тегом @codex review this PR for edge cases.

Codex прокрутил тесты, проверил линтер, оставил аккуратный комментарий: «миграция выглядит корректно, тесты покрывают новый тип, утвердить». Я доверился - PR смёржил, накатил на прод.

🖼 Скрин: comment от Codex в PR «approved, ready to merge» + рядом алерт мониторинга через 6 часов с красным графиком ошибок.

Через несколько часов вылез баг в проде. Я забыл про существующие записи в БД, которые не подпадают под новый ограниченный тип. Codex это не поймал - он смотрел только на код PR, не залезал в реальные данные. Claude Code в плане у меня этот шаг увидел бы - он привык переспрашивать «а что со старыми записями?». Но я отдал решение Codex, потому что он «ревью».

Это конкретный риск, который Pasquale Pillitteri (pasqualepillitteri.it, заметки после 30 дней на связке) описывает как «orchestration-centric vs session-centric». Codex прорывается через миграции, не задавая вопросов. Claude Code задаёт вопросы и тормозит. Когда ты ставишь Codex ревью к работе Claude - ты теряешь главное оружие Claude (вопросы) и не получаешь главного оружия Codex (автономность). Получается одна большая полу-мера.

После этого случая я перестал доверять авто-ревью Codex на чём-то, что трогает прод. Это означало, что половина «выгоды от связки» испарилась. PR-ревью я всё равно делал руками - потому что не доверял.

Грабля №3: два агента крадут контекст друг у друга

Третья проблема - самая тонкая. У меня была фича, которую я разбил на 3 PR. Первый делал Claude Code (модель + миграция), второй Codex (тесты + CI), третий Claude (UI + интеграция).

К моменту третьего PR Claude Code уже не помнил, что Codex сделал во втором - потому что я работал в Codex CLI отдельным процессом, без общей памяти. Я сел писать UI и Claude начал делать вид, что тестов не существует. Пришлось копировать диффы из второго PR и скармливать Claude вручную.

Это базовая проблема двух агентов с разными памятями. Codex живёт в ~/.codex/config.toml и видит свою сессию. Claude Code держит CLAUDE.md, hooks и live-чат. Между ними нет shared memory - только статичные файлы инструкций.

Можно ли через AGENTS.md положить туда «контекст последних 3 PR»? Можно, но это превращает AGENTS.md в журнал сессий, который ты должен сам обновлять. Через неделю он раздувается до 2000 строк, оба агента начинают тонуть в шуме, и ты возвращаешься к тому, что и так всё помнит - голове.

Связка из двух агентов без shared memory работает только если у тебя задачи полностью независимые. Как только нужна последовательность из 3+ PR с общим контекстом - комбо валится. У меня таких задач 80%.

Что я оставил вместо комбо: Claude Code + Skills + Subagents

После того как я снёс Codex, надо было что-то поставить на его место. Claude Code в одиночку точно не вывозит - Codex закрывал реальные задачи (массовая инфра, тесты, шаблонный код).

Ответ оказался под носом - Skills и Subagents внутри Claude Code. Skills вышли в октябре 2025 и за полгода превратились из эксперимента в основную ткань вайб-кодинга. К июню 2026 в Anthropic-marketplace и community-репах больше 10 тысяч готовых скиллов. У меня сейчас крутится 27 - каждый под конкретный класс задач.

Вот мой текущий workflow, который заменил все 3 паттерна связки:

# 1. Архитектура / диалог / новый функционал → Claude Code в Plan Mode (главная сессия) # 2. Шаблонная инфра (миграции, CI, тесты, конфиги) → Skill `infra-generator` внутри Claude Code → принимает 1 промпт «нужен Github Action для X» → генерит .github/workflows/x.yml + тест + README за 30 сек # 3. Тяжёлые параллельные задачи (ревью большого PR, # рефакторинг 20+ файлов, генерация тестов на модуль) → Subagent внутри Claude Code (вложенный) → командой `/spawn refactor "<твой-модуль>/"` → крутится в фоне, рапортует в основной чат # 4. Безопасность / линт / стили → Hooks в .claude/hooks.json → срабатывают на pre-commit, не требуют отдельного агента

Главное отличие от связки с Codex - один процесс, одна память, один файл инструкций (CLAUDE.md). Нет синхронизации, нет двух runbook'ов, нет «а что там Codex решил». Subagent внутри Claude Code наследует контекст основной сессии - никакого AGENTS.md.

В цифрах (личный замер по журналу 12 фич, май-июнь 2026): на связке Codex+CC среднее «идея → прод» = 4 часа на фичу. На одном Claude Code + Skills тот же замер = 2 часа. В полтора быстрее, чем «голый» Claude Code до Skills (~3 часа). Замер примитивный - таймер в начале и в конце сессии, без вычета пауз; твой профиль покажет другие числа.

🖼 Скрин: мой excel-журнал с двумя колонками «дата фичи» и «часы от идеи до прода» - 12 строк за май-июнь, среднее по двум сетапам.

Скиллы - отдельная история. Их 10 тысяч, ставить подряд - путь в кашу. Я выбирал по простому правилу: один класс задач - один скилл. Подробно про выбор писал в инструкции как выбрать Claude Code skills из 10 000 - там разбор 27 моих рабочих скиллов с обоснованием каждого.

Когда комбо реально оправдано - и почему не у меня

Чтобы было честно: я не топлю за «удалите Codex все и сразу». Есть 3 ситуации, где связка реально работает.

Первая - большая команда с разделением по людям. Если у тебя 5 разработчиков, и трое любят Claude, двое любят Codex - ставь обоих, RuleSync синхронит правила, никто не дерётся. У меня команды нет, я работаю один.

Вторая - массовая параллельная фоновка. Если у тебя 30 одинаковых PR на одну задачу (например, обновить версию зависимости в 30 репах), Codex в cloud-режиме закрывает это за час. Claude Code тут не предназначен - он держит одну сессию. У меня таких задач не бывает.

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

Во всех 3 случаях главная выгода - разделение труда по людям или объёму. Если ты один человек и задачи последовательные - связка теряет смысл.

Что я бы сделал на твоём месте - выводы

  • Если ты уже на связке и она работает - не трогай. Но если за месяц не появилось 2-3 истории «Codex закрыл PR, который я бы не закрыл» - значит, Codex значимости не добавил. Сними.
  • Если ты только подумываешь добавить Codex - сначала упрись в реальные лимиты Claude Code в одиночку (3-5 часов работы в день без обрыва, 20+ файлов в одной сессии без потери контекста, своя инфра-папка без шаблонных скриптов). Пока не упёрся - связка избыточна.
  • Если у тебя задачи последовательные с общим контекстом - комбо мешает. Один Claude Code + Skills + Subagents покрывает то же самое одним процессом без синхронизации.
  • Если решил добавить - не копируй CLAUDE.md в AGENTS.md напрямую. Codex воспримет разговорные предпочтения как команды и сломает что-нибудь. AGENTS.md - runbook, не stylebook.
  • Тест на 30 дней. Поставь Codex, веди простой журнал «когда комбо реально спасло» vs «когда я тратил время на синхронизацию». Через 30 дней посчитай. Если первая колонка длиннее - оставляй. У меня вторая длиннее в 4 раза - этого хватило, чтобы вырубить.
🖼 Скрин: мой 30-дневный журнал с двумя колонками - 7 строк в «спасло», 28 строк в «потратил». Картинка-доказательство, что я не на словах.

Главная мем-фраза, которую я запомнил из этого месяца: «Связка из двух агентов = синхронизация двух джунов». Лучше один Claude Code, который слушает.

И главный мой вывод: связка двух агентов в 2026 - это не «прогресс», это компенсация слабости каждого по отдельности. Codex закрывал то, что Claude Code не мог сделать в начале года. К июню Claude Code догнал - через Skills, Subagents, hooks. У меня связка перестала окупать накладные расходы.

Если всё-таки хочешь связку - смотри как связать Codex и Claude Agent через ACP. Это новый протокол, который пытается решить проблему shared memory между разными агентами через явный bridge. Я не пробовал - пока хватает Claude Code + Skills.

А ты кого вырубил из своей связки за последний месяц?