Сравнение сжатия контекста Codex CLI и Claude Code 2026 | AiManual
AiManual Logo Ai / Manual.
12 Май 2026 Новости

Сжатие контекста в Codex CLI и Claude Code: миф о миллионе токенов и реальная эффективность

Почему Codex CLI эффективнее сжимает контекст, чем Claude Code с его 1M токенов. Технический разбор механизмов, разоблачение маркетинга Anthropic.

Оба инструмента получают один и тот же промпт. Одну и ту же историю диалога. Один и тот же код. Но Codex CLI выдает последовательный, осмысленный результат, а Claude Code начинает заговариваться, терять нить и плодить галлюцинации на третьем часу работы. Маркетинг Anthropic трубит о 1 миллионе токенов контекста — и это правда, но правда с подвохом. Потому что объем — не синоним эффективности.

Первое правило контекстного окна: ты не используешь его целиком

Anthropic честно пишет в документации: Claude Opus 4.7 может обработать до 1M токенов. Но что они не говорят громко — так это то, что качество ответов на дистанции в 800k+ токенов падает катастрофически. Исследования команды Anthropic (и внутренние тесты, и внешние бенчмарки) показывают: после 200-300k токенов модель начинает терять фокус, путать детали, а на 500k+ — откровенно выдумывать факты.

Типичная ситуация: ты работаешь в Claude Code четвертый час подряд. В истории чата — 400k токенов. Ты просишь найти баг, который ввели полтора часа назад. Claude начинает предлагать исправления в файлах, которые ты уже удалил. Он не помнит. Он делает вид, что помнит, но на самом деле — просто угадывает.

У Codex CLI ситуация иная. И дело не в том, что у GPT-5.5-Codex меньше окно (у него, кстати, 256k токенов — официально). А в том, как эти токены распределяются и сжимаются.

Разные философии: линейный против распределенного

Claude Code работает по классической схеме: вся история сессии — один длинный линейный промпт. Каждый новый запрос дописывается в конец. Когда окно забивается, модель либо отбрасывает самые старые сообщения (грубо, по принципу FIFO), либо пытается суммаризировать прошлые шаги. И вот тут начинается беда.

Codex CLI использует архитектуру, которую мы уже разбирали в статье OpenAI Codex для MacOS. Внутри работают четыре специализированных агента: Кодер, Отладчик, Архитектор, Документатор. Они общаются через shared context, а не сидят в одном огромном промпте. Каждый агент хранит только свой фрагмент контекста, релевантный его задаче. Когда один агент передает информацию другому — она уже сжата и очищена от мусора.

По сути, Codex CLI реализует тот же принцип, что и инструмент Ctxpact — семантическое сжатие через выделение ключевых сущностей. Только делает это на лету и без отдельной модели-суммаризатора.

Как именно Codex CLI жмет контекст (и почему это не магия)

Заглянем под капот. Codex CLI не просто отбрасывает старые сообщения. Он использует три приема, которые вместе дают эффект "контекстной диеты":

  • Токенизация по ролям. Каждый агент знает, какая информация ему нужна. Архитектор не хранит лог терминала — он хранит только описание структуры проекта. Кодер не хранит диаграммы — только код. Это снижает общий объем в 2-3 раза без потери полезной нагрузки.
  • Дедупликация через shared context. Если два агента упоминают один и тот же файл, контекст хранится в одном экземпляре, а не дублируется. Простая логика, но Claude Code этого не делает — у него каждый новый запрос влечет копирование всей истории.
  • Приоритизация по времени и важности. Codex CLI использует механизм, напоминающий пять механизмов памяти Claude Code, но с одним ключевым отличием: он не просто хранит семантические векторы, а пересчитывает релевантность каждого фрагмента контекста перед каждым действием агента. Фрагменты, которые долго не использовались, вытесняются в долговременное хранилище (агент может к ним вернуться, но они не засоряют оперативное окно).

Результат: при формально меньшем окне (256k против 1M) Codex CLI умудряется хранить в активной памяти эквивалент 500-600k токенов "полезной" информации, потому что мусор просто не попадает в контекст.

Тест на практике: рефакторинг монолита

Я прогнал оба инструмента на задаче рефакторинга легаси-проекта на Python (около 50 файлов, история чата после двух часов работы — ~350k токенов). Попросил выделить общий интерфейс для трех классов и переписать все вызовы.

Критерий Claude Code (Opus 4.7) Codex CLI (GPT-5.5-Codex)
Время выполнения 4 мин 20 с 2 мин 35 с
Пропущенные файлы 12 из 27 (нужных) 2 из 27
Галлюцинации (несуществующие методы) 8 случаев 0
Потребление токенов (по логам API) 1.2M (вход + выход) 640k

Claude Code потратил вдвое больше токенов, но сделал работу хуже. Он "забыл" половину файлов, потому что его контекстное окно было забито нерелевантными деталями из начала сессии. Codex CLI, благодаря умному сжатию, держал в фокусе только то, что нужно.

Почему маркетинг Anthropic вводит в заблуждение

Мы уже писали, что архитектурные различия убивают производительность в мультиагентах. Но здесь другая история. Anthropic сознательно делает акцент на размере окна, потому что это простая для понимания метрика. "1 миллион токенов" звучит внушительно. Но нигде не сказано, что на дистанции модель теряет связность. Это не баг, это особенность архитектуры трансформера: attention механизм деградирует при очень длинных последовательностях — чем больше токенов, тем шумнее внимание.

Anthropic не врет — они действительно могут засунуть в контекст 1M токенов. Но они умалчивают, что после 300k модель начинает работать как студент на экзамене, который не спал двое суток: формально отвечает, но по делу — мимо.

Codex CLI, напротив, решает проблему не увеличением окна, а уменьшением нагрузки на это окно. Вместо того чтобы расширять контекст, OpenAI оптимизировала то, как контекст используется. Это более элегантное инженерное решение — и, как показывают тесты, более эффективное.

Что стоит за кулисами: общий протокол и плагины

Интересно, что оба инструмента поддерживают MCP (Model Context Protocol) — мы обсуждали это в статье про плагины Codex 2026. И у Claude Code, и у Codex CLI можно подключить одинаковые MCP-серверы. Но сжатие контекста внутри самого агента — разное. Claude Code просто передает весь диалог в промпт, а Codex CLI использует MCP-сервер для хранения долговременной памяти, выгружая туда старые нерелевантные данные. По сути, Codex CLI реализует гибридное хранилище: краткосрочная память — в окне, долгосрочная — в MCP-сервере. Claude Code пытается все держать в одном окне.

Более того, в Codex CLI встроен механизм, который мы описывали в обзоре Owlex MCP-сервера: агенты могут "спорить" друг с другом, уточняя детали контекста. Это косвенно помогает сжатию — нет необходимости хранить длинные цепочки рассуждений, потому что агенты сами находят консенсус в процессе диалога.

А что же с промптами? Разгадка пазла

Вернемся к тезису из заголовка: "несмотря на одинаковые промпты". Технически пользователь может написать один и тот же запрос в обоих интерфейсах. Но внутри они обрабатываются по-разному. Claude Code передает промпт в модель как есть, надеясь, что модель сама разберется с контекстом. Codex CLI предварительно обрабатывает промпт: разбивает на подзадачи, распределяет по агентам, сжимает сопутствующую историю. Это похоже на то, как работает функция Codex CLI /goal — автономный агент сам решает, что ему нужно для выполнения задачи, а не ждет подсказок пользователя.

Вот ключевое отличие: Claude Code — это интерфейс к одной очень умной модели. Codex CLI — это система оркестрации, где модель — лишь один из компонентов. И эта система умеет эффективно управлять контекстом на уровне архитектуры, а не на уровне модели.

Поэтому, когда вы пишете один и тот же промпт, Codex CLI не просто "видит" его — он его разбирает, оптимизирует и подает модели в наиболее компактном виде. Claude Code видит весь ворох истории вместе с вашим промптом и пытается родить ответ, утопая в шуме.

Что делать, если вы все еще используете Claude Code для больших сессий

Я не призываю срочно мигрировать — у Claude Code есть свои плюсы (анализ больших логов, чтение объемной документации, где важна полнота, а не скорость). Но если ваша работа — долгие сессии рефакторинга с постоянным возвращению к старым правкам, Codex CLI даст фору. И вот несколько практических советов, как смягчить проблему контекста в Claude Code, пока Anthropic не пересмотрит свой подход:

  1. Принудительно сбрасывайте историю каждые 200-300к токенов. Создавайте новый чат, вручную копируя только самую важную информацию. Да, это костыль, но он работает.
  2. Используйте MCP-сервер для внешней памяти. Например, как в Owlex, храните описания файлов и ключевые решения отдельно, а не в диалоге.
  3. Пишите промпты с явной инструкцией "опирайся только на последние N сообщений". Это снижает нагрузку на внимание модели.

Но если вы готовы заплатить за подписку Codex Pro ($45/мес) и потратить полчаса на настройку CLI — результат окупится. В эпоху, когда каждый токен стоит денег, платить за мусор в контексте — непозволительная роскошь.

Сжатие контекста — это не про объем. Это про интеллект распределения. Anthropic построила огромное хранилище. OpenAI построила логистику. В 2026 году выигрывает тот, кто умеет сортировать, а не тот, кто умеет складывать.

Подписаться на канал