Спор окончен: Claude Code против Codex — кто лучший ИИ для кодинга?
AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00Долгое время основной моделью для написания кода считалась Claude.
00:00:03Не только из-за высокой производительности, но и потому, что в этом сегменте просто не было других вариантов.
00:00:07Затем модели GPT подтянулись и сократили разрыв, особенно с выходом GPT 5.5, которая
00:00:12практически свела его на нет.
00:00:14Чтобы сравнить их, нам нужно было поместить их в среду, разработанную специально для них,
00:00:18то есть в их собственные CLI.
00:00:19Итак, мы тестируем Opus 4.7 и GPT 5.5, чтобы увидеть, как они проявят себя в сравнении
00:00:25друг с другом.
00:00:26Мы проверим их в 9 категориях, чтобы выяснить, кто на самом деле окажется лучшим,
00:00:29и к концу видео вы поймете, какая модель заслуживает места в вашем рабочем процессе.
00:00:33Юзабилити — это то, на чем Claude Code начинает спотыкаться.
00:00:36Мы использовали ее для большинства задач, связанных и не связанных с кодом, и все было хорошо
00:00:40вплоть до обновления 2.1.0.
00:00:43После этого у Claude Code все пошло под откос.
00:00:46Пользовательский интерфейс — самая раздражающая часть, так как он сильнее всего влияет на впечатления.
00:00:50Терминал глючит, рендеринг ломается, и многое из того, что раньше казалось отточенным, теперь работает
00:00:55неправильно.
00:00:56Раньше это был один из лучших TUI, но только до тех пор, пока его не начали «кодить по наитию».
00:00:59Теперь в нем куча багов: проблемы с рендерингом, утечки кэша —
00:01:03на это жалуемся не только мы.
00:01:05Более серьезная проблема в том, что они убрали режим пропуска разрешений и заменили
00:01:09его на автоматический режим по умолчанию.
00:01:11Раньше мы запускали режим без подтверждений для большинства задач, настроив исключения
00:01:15для файлов, которые Claude не должен был трогать.
00:01:17Теперь он запрашивает разрешения даже в этом режиме: когда мы дали Claude задачу создать навык,
00:01:22переключились на другую сессию Claude, а позже обнаружили, что создание навыка
00:01:27было заблокировано запросом на запись в папку .claude все это время.
00:01:32Мы вернулись, ожидая, что навыки уже созданы, а процесс просто стоял на месте.
00:01:36Codex справляется с этим лучше, потому что его режим «YOLO» не запрашивает разрешений так,
00:01:40как это делает авто-режим Claude Code.
00:01:42CLI построен на Rust, поэтому интерфейс намного плавнее, чем у Claude Code на React,
00:01:47и даже после долгой сессии ничего не ломается.
00:01:49Настройка личности — еще один момент, где Codex вырывается вперед.
00:01:53Мы можем настроить поведение на более прямолинейный и лаконичный стиль.
00:01:56Дело в том, что GPT 5.5 значительно более услужлива и соглашается с каждым запросом
00:02:02чаще, чем Opus 4.7.
00:02:04Поэтому изменение настроек личности в Codex предотвращает такое поведение модели по умолчанию.
00:02:08Чтобы сделать Opus 4.7 прямолинейным, нам приходится полагаться на инструкции в claude.md,
00:02:14в то время как Codex делает это простым изменением настройки.
00:02:16Предустановленные навыки — еще одно отличие.
00:02:18В Codex встроено много навыков, которых нет в Claude Code, включая агентский браузер.
00:02:22Это важно для разработчиков приложений, потому что в Codex нам не нужно явно подключать
00:02:26MCP для проверки в браузере.
00:02:29Он делает это автоматически после внедрения любой функции.
00:02:31Также есть встроенный конструктор навыков: когда нам нужен новый навык, он создает
00:02:35готовый вариант с правильной структурой и справочными файлами.
00:02:38В Claude нам пришлось бы устанавливать конструктор навыков отдельно, чтобы получить
00:02:42правильно структурированный навык.
00:02:43В противном случае он просто создаст MD-файл.
00:02:45Тем не менее, есть две вещи, которые Claude Code делает лучше.
00:02:47В Codex нет функции перемотки (rewinding), которую мы используем чаще всего, так что ее отсутствие —
00:02:51серьезный минус.
00:02:52Claude Code также позволяет видеть процесс мышления, развернув его через Ctrl+O, с чем Codex
00:02:57справляется плохо.
00:02:58Просмотр рассуждений полезен, так как мы можем скорректировать подход в середине задачи,
00:03:02вместо того чтобы ждать завершения реализации и все переделывать.
00:03:05Учитывая, как UX в Claude Code деградирует с каждым обновлением, Codex получает
00:03:10балл за удобство использования.
00:03:11Что касается стоимости, Claude Code — гораздо более дорогой инструмент.
00:03:15Не в плане цен, а в плане отдачи за те же деньги.
00:03:19Claude Code вообще недоступен на бесплатном уровне и предлагается только
00:03:23в планах Pro и Max.
00:03:24Цены на эти планы почти идентичны.
00:03:26План Pro практически бесполезен для серьезных приложений, так как лимиты
00:03:30исчерпываются всего за несколько задач.
00:03:32Мы даже не можем полноценно использовать Opus 4.7 для значимых задач на Pro.
00:03:36Лимиты тают очень быстро даже на плане Max, который мы используем.
00:03:39Codex изначально находится в более выигрышном положении.
00:03:41Он доступен даже в бесплатном плане с ограниченным использованием.
00:03:44Оба используют похожий механизм 5-часового окна, поэтому, чтобы проверить продуктивность,
00:03:49мы запустили их на задачах одинакового масштаба.
00:03:51В Claude Code есть команда context, которая показывает количество использованных токенов,
00:03:56но в Codex нет встроенного аналога, поэтому нам пришлось искать обходной путь.
00:04:00Оба инструмента хранят сессии в виде JSON-файлов, просто организованных по-разному.
00:04:04Мы создали небольшую утилиту, которая считывает их и подсчитывает токены в каждой сессии.
00:04:08На одном и том же приложении при схожем уровне отладки Opus 4.7 сжег 173 000 токенов,
00:04:15в то время как GPT 5.5 использовал всего 82 000.
00:04:18Это потому, что GPT 5.5 выполняет работу за меньшее количество токенов и гораздо быстрее.
00:04:23В итоге Codex проработал значительно дольше и оказался гораздо выгоднее при том же объеме работ.
00:04:28Но прежде чем продолжить, пара слов о нашем спонсоре — Stream.
00:04:32Вы строите приложение, и вашим пользователям нужно общаться, стримить и взаимодействовать.
00:04:35Вы пытаетесь сделать это сами, и спустя 3 месяца все еще возитесь с багами вместо релиза.
00:04:39Stream позволяет пропустить этот этап.
00:04:40Stream дает все необходимое «из коробки»: от чатов и видеозвонков внутри приложения до
00:04:44ленты активности и AI-модерации, чтобы вы выпускали функции, а не строили инфраструктуру с нуля.
00:04:49Мы говорим о мессенджерах как в WhatsApp, видеозвонках как в Zoom и лентах как в Instagram.
00:04:55Что действительно выделяется, так это новый запуск Stream — Vision Agents.
00:04:58Вы можете создавать умных ИИ-агентов, которые видят, слышат и реагируют на живое видео и аудио,
00:05:02и все это на Python всего несколькими строками кода.
00:05:05Все работает в глобальной пограничной сети для минимальной задержки в любой точке мира.
00:05:08От стартапов до крупных приложений — ведущие платформы в соцсетях, фитнесе и сообществах
00:05:13полагаются на Stream для обслуживания более миллиарда пользователей.
00:05:16Если вы разработчик следующего хита, Stream будет масштабироваться вместе с вами с первого дня.
00:05:20Начните бесплатно на getstream.io, ссылки в закрепленном комментарии.
00:05:24Настоящая проверка для этих моделей — это то, как они создают продукты.
00:05:27Как мы говорили, GPT 5.5 быстрее и ест меньше токенов, поэтому выдает рабочие приложения быстрее.
00:05:33Opus 4.7 тратит больше токенов на раздумья, планирует глубже и прорабатывает все аспекты
00:05:38приложения одновременно.
00:05:40Планирование было первым, что мы хотели протестировать.
00:05:42Мы давно используем режим планирования в Claude Code.
00:05:45Он покрывает почти все, имеет свои недостатки, но вполне пригоден для работы.
00:05:48Мы хотели увидеть, как GPT 5.5 справляется с планированием, ведь OpenAI заявляет, что
00:05:53она лучше планирует и выполняет задачи.
00:05:55Мы включили режим планирования в папке, где уже был бэкенд для приложения —
00:06:00API на FastAPI — и попросили ее создать фронтенд.
00:06:04Она тщательно изучила проект и задала несколько вопросов, но они были довольно
00:06:08простыми.
00:06:09Она могла бы глубже вникнуть в то, каким мы хотим видеть интерфейс, так как для фронтенда
00:06:13это важно.
00:06:14План, который она выдала, был очень простым.
00:06:16Он включал описание основного потока, ключевые изменения, страницы, которые нужно добавить, и способы
00:06:20их тестирования.
00:06:21Что она сделала хорошо, так это четко выделила свои предположения, так что мы знали,
00:06:25что именно она принимает как данность.
00:06:26Мы дали команду продолжать, и она закончила примерно за 8 минут.
00:06:28Та же задача в Claude Code заняла 24 минуты.
00:06:31Но план Opus 4.7 был гораздо детальнее, учитывал больше нюансов приложения
00:06:36и даже задействовал Shadcn UI для улучшения пользовательского опыта.
00:06:39Так что в плане планирования Opus 4.7 впереди.
00:06:42Затем мы протестировали их на создании приложения с нуля.
00:06:45Мы дали им одинаковый промпт: создать монорепозиторий с бэкендом на Python Flask и
00:06:50фронтендом на Next.js, а также описали полный конвейер и ключевые требования к работе
00:06:55приложения.
00:06:56Claude сама перешла в режим планирования благодаря своей архитектуре.
00:06:59Codex не стал переходить в режим планирования и сразу начал реализацию.
00:07:04Он закончил намного быстрее, чем Claude Code, которой потребовалось около 16 минут
00:07:08из-за этапа планирования.
00:07:09Версия приложения от GPT 5.5 имела гораздо более простой интерфейс и была сосредоточена на том,
00:07:14чтобы все работало.
00:07:15Сначала оно работало не идеально, поэтому мы исправляли ошибки итерациями.
00:07:17Мы заметили, что промпты для интервью были жестко закодированы, так как мы не предоставили
00:07:22API-ключ.
00:07:23В задании указывалось использование Gemini API, но так как ключа не было,
00:07:27модель внедрила резервный механизм, чтобы приложение не падало окончательно.
00:07:30Codex на самом деле использовал локальные уточняющие вопросы без явных указаний.
00:07:35Нам это понравилось, так как подобные резервные механизмы полезны в продакшене,
00:07:39поскольку предотвращают сбои.
00:07:40После нескольких итераций и добавления API-ключа все заработало как надо, хотя
00:07:44интерфейс остался простым.
00:07:46Таким образом, GPT 5.5 учла граничные случаи и внедрила механизмы для их обработки.
00:07:51Opus 4.7, напротив, попросил нас предоставить API-ключ перед началом работы
00:07:57и выстроил все приложение вокруг этого.
00:07:59В отличие от GPT 5.5, Opus 4.7 не подготовил запасных вариантов и требовал, чтобы все
00:08:05было доступно сразу.
00:08:06Из-за этого, когда API не оказался под рукой, приложение просто выдало ошибку.
00:08:10Claude Code фокусируется и на UX, и на функциональности одновременно, поэтому ее вариант
00:08:15выглядел более реалистично.
00:08:16Здесь проявилось превосходство Opus 4.7 в работе с интерфейсом, о чем мы говорили в прошлом видео,
00:08:21но и в ее реализации были проблемы.
00:08:26Когда мы попросили ее отладить код, она не стала напрямую проверять реализацию, как это сделал Codex.
00:08:31Вместо этого она начала задавать нам вопросы о возможных причинах проблемы и полагалась
00:08:35на наше тестирование.
00:08:36Она добавила точки отладки, индикаторы в интерфейсе и логи в консоли, попросив нас
00:08:41проверить состояния и сообщить результат.
00:08:42После серии уточнений она все же исправила проблему, и функция интервью заработала.
00:08:46Нам больше понравилось, как Codex использовал агентский браузер для самостоятельной отладки.
00:08:49Так что в плане автономности реализация Codex была лучше, а в плане
00:08:53пользовательского опыта Claude Code справилась намного успешнее.
00:08:56Мы также хотели проверить, как обе модели справляются с командой init.
00:08:59Инициализация в Claude Code запускается без расширения промпта.
00:09:02Она создает простой файл claude.md примерно на 90 строк, включая архитектуру, логику,
00:09:08структуру фронтенда и бэкенда, а также команды для запуска.
00:09:12Многое из этого избыточно и не приносит пользы агенту,
00:09:15поэтому хранить абсолютно все данные не всегда необходимо.
00:09:18Настройка Codex оказалась более продуманной.
00:09:20Она включала правила для коммитов, пул-реквестов и инструкции по безопасности,
00:09:24при этом раздел со структурой проекта оставался кратким и не перегруженным деталями.
00:09:28Ни один вариант не был идеальным, но Codex справился с agents.md лучше.
00:09:32Также мы решили протестировать их в обзоре кода (code review).
00:09:35В нем все замечания были упорядочены по приоритету, включая компоненты и точные фрагменты кода
00:09:40попросив их задокументировать результаты в отдельных файлах, работая с одной кодовой базой.
00:09:44Когда отчеты были готовы, мы открыли новую сессию и попросили Claude вывести
00:09:48разницу (diff) между двумя файлами, сравнив выводы.
00:09:51Обзор от Claude был гораздо более детальным.
00:09:53Она организовала каждую находку по приоритетности, указала компоненты и привела
00:09:57фрагменты кода, вызвавшие вопросы.
00:09:59В отчете Codex упоминались номера строк, но не было самих фрагментов кода.
00:10:03Оба отчета были тщательными: они нашли много общих проблем, но при этом каждый заметил то,
00:10:07что упустил другой.
00:10:08Claude Code также сообщила о проблемах безопасности, таких как утечка API-ключа и уязвимость.
00:10:12Хотя задачей был обзор надежности, и эти вопросы выходили за рамки запроса.
00:10:17Claude Code докладывала о каждой встреченной проблеме, в то время как Codex строго
00:10:21придерживался темы надежности.
00:10:22Отчет Codex больше соответствовал изначальному запросу, а отчет Claude Code был шире,
00:10:27но менее сфокусирован на конкретной задаче.
00:10:29Если описывать их в терминах разработки, GPT 5.5 больше похожа на бэкенд-инженера,
00:10:34сосредоточенного прежде всего на правильной доставке функционала,
00:10:40а Opus 4.7 — на фулстек-разработчика, который балансирует между логикой и удобством для пользователя.
00:10:45В управлении контекстом Codex показал себя намного лучше, чем Claude Code.
00:10:48У Claude Code есть редактирование контекста внутри сессии, которое удаляет вызовы инструментов и рассуждения,
00:10:53которые больше не важны для разговора.
00:10:55Она очищает лишнюю информацию из сессии, чтобы избежать раздувания.
00:10:58Сжатие не идеально, но по крайней мере она не оставляет ненужные части в контексте
00:11:02при сворачивании.
00:11:03Codex не редактирует свой контекст.
00:11:05Он сжимает весь разговор целиком, именно так, как он происходил.
00:11:08Но что он делает лучше, так это сохраняет последние 20 000 токенов в памяти без сжатия.
00:11:13Это помогает предотвратить падение производительности Codex после сжатия,
00:11:14чтобы диалог продолжался плавно от следующего промпта и далее.
00:11:18Мы протестировали это, и Codex после сжатия работал лучше, чем Claude Code.
00:11:21Мы протестировали их производительность, и Codex показал себя после сжатия лучше, чем Claude Code.
00:11:25Так что, хотя Claude Code использует более детальный многоэтапный процесс сжатия, сохранение
00:11:30конца истории в Codex делает агент более полезным на практике.
00:11:33Память у них работает по-разному.
00:11:35Оболочка Claude Code в основном не сохраняет состояние между сессиями, то есть каждая сессия начинается
00:11:39без какого-либо контекста из предыдущей.
00:11:41Теперь у него появилась функция памяти, которая может хранить постоянные предпочтения или инструкции.
00:11:46Так что, если мы скажем ему не делать что-то определенным образом, он запомнит это и применит
00:11:50позже в рамках того же проекта.
00:11:52Это помогает при повторной работе над одним и тем же проектом.
00:11:54Но память ограничена рамками проекта, поэтому при смене проектов это сохраненное поведение теряется.
00:11:58Codex идет противоположным путем.
00:12:00Он со временем объединяет информацию из нескольких сессий и выстраивает глобальную память
00:12:05взаимодействий, позволяя сохранять паттерны за пределами одного проекта.
00:12:08Это может помочь соблюдать последовательность в различных задачах.
00:12:11Короче говоря, Claude Code держит память внутри проекта, в то время как Codex использует
00:12:15подход с сохранением данных между сессиями и проектами, что меняет то, как каждый из них адаптируется
00:12:19со временем.
00:12:20Поскольку Claude Code существует дольше и постоянно развивается для улучшения
00:12:24опыта разработчиков, он может предложить больше по сравнению с Codex.
00:12:27У Claude Code есть система хуков, которая позволяет нам запускать собственные скрипты в определенные моменты
00:12:32жизненного цикла агента, например, до или после запуска инструмента, а также в других точках для таких задач,
00:12:36как блокировка небезопасных команд, запуск форматировщиков и прочего.
00:12:39Мы также можем запускать субагентов в отдельном рабочем дереве, чтобы их производительность не влияла
00:12:43друг на друга.
00:12:44Мы можем контролировать уровень усилий моделей и даже использовать ключевые слова типа "ultra-think",
00:12:48чтобы довести рассуждения до максимума в конкретной задаче.
00:12:51Ничему из этого сейчас нет эквивалента в Codex.
00:12:54Экосистема — еще одна очевидная победа Claude Code.
00:12:56Мы можем проводить сессии через десктопное приложение Claude и делегировать задачи из мобильного приложения.
00:13:01С учетом Claude Code, десктопного приложения, веб-версии и браузерных расширений, охват гораздо
00:13:06шире, чем у Codex, который в основном состоит из веб-приложения и десктопного приложения, которое вышло
00:13:11недавно и на момент нашего тестирования казалось не таким сильным.
00:13:14Сессии также легче перемещаются между средами в Claude Code, что делает его
00:13:18более удобным для работы через разные интерфейсы.
00:13:20У Codex тоже есть много интересных функций.
00:13:22В облаке у него есть флаг попыток, который запускает одну и ту же задачу n раз.
00:13:26Он создает несколько реализаций и выбирает лучшую.
00:13:29Claude Code может делать нечто подобное, но только через конфигурации и инструкции, а не
00:13:33через флаг.
00:13:34Другая особенность, доступная только в Codex и выделяющая его среди остальных, — это интеграция с
00:13:38моделями изображений OpenAI.
00:13:39Он может использовать их напрямую в CLI для генерации изображений для сайтов, над которыми работает.
00:13:44Claude в плане визуала полагается в основном на генерацию на базе SVG, которая даже не может конкурировать
00:13:49по качеству, так как у них пока нет модели для работы с изображениями.
00:13:52Если мы создаем интерфейс, которому нужны реальные изображения, Codex — единственный из двух, кто
00:13:56делает это, даже без явных указаний.
00:13:58Также, если вам нравится наш контент, не забудьте нажать на кнопку хайпа, так как это помогает нам
00:14:03создавать больше таких материалов и охватывать больше людей.
00:14:06Оба сервиса используют субагентов, хотя саму концепцию первым представил Claude.
00:14:10Поскольку в Claude Code это появилось раньше, интеграция там более зрелая, так как он ориентирован на агентов
00:14:15и сфокусирован на процессе написания кода гораздо дольше, чем OpenAI.
00:14:19Он поддерживает агентов, которыми можно управлять через удаленные сессии, в то время как Codex в основном
00:14:23поддерживает многоагентные рабочие процессы внутри среды терминала.
00:14:27Самая большая разница заключается в том, как каждый из них вызывает субагентов.
00:14:29Claude Code может порождать агентов без явного вызова, в то время как Codex создает агента
00:14:35только если мы прямо попросим об этом в промпте.
00:14:37Когда Codex создает агентов, он дает им имена и передает соответствующий промпт.
00:14:41В плане написания кода они довольно похожи, но дизайнерские решения, стоящие за ними, различаются.
00:14:46Субагенты Claude Code используют явный белый список, то есть родительский агент точно определяет,
00:14:51к каким инструментам субагент имеет доступ, в то время как субагенты Codex наследуют доступ к инструментам
00:14:55от родителя по умолчанию.
00:14:57Claude Code также предоставляет каждому субагенту совершенно чистое окно контекста.
00:15:01Субагент не имеет доступа к истории разговора и видит только промпт от родителя,
00:15:06плюс системный промпт и глобальные правила, потому что Claude фокусируется на изоляции контекста.
00:15:10Codex CLI делает наоборот.
00:15:12Он копирует всю историю в сессию субагента, накладывая сверху промпт родителя.
00:15:17Агенты Codex сохраняют больше контекста о том, что уже обсуждалось, что действительно помогает улучшить
00:15:22их производительность.
00:15:23На практике строгая изоляция Claude Code помешала нашим субагентам для исследований.
00:15:27Когда мы их использовали, результаты были недостаточно хорошими, так как они видели только текущий
00:15:30промпт и не имели никакого предварительного контекста.
00:15:33Агенты Codex получают всю историю, могут итерировать более эффективно и лучше справляются с задачами,
00:15:38где важна преемственность.
00:15:39На этом мы подошли к концу видео.
00:15:41Если вы хотите поддержать канал и помочь нам продолжать делать такие ролики, вы можете
00:15:45сделать это с помощью кнопки "супер-спасибо" ниже.
00:15:48Как всегда, спасибо за просмотр, и увидимся в следующем видео.