Как я понимаю Codex

Как я понимаю Codex

@ai_longreads

Габриель Чуа из OpenAI объясняет свою ментальную модель Codex: модель + обвязка + поверхности — и как эти слои помогают разобраться в том, что именно меняется с каждым обновлением.

Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.


Как я понимаю Codex

How I Think About Codex Автор: Gabriel Chua Оригинальный текст:

Когда люди говорят «Codex», они не всегда имеют в виду одно и то же. Иногда — модель. Иногда — приложение. Иногда — агента.

Это действительно может сбивать с толку.

Простыми словами, Codex — это агент (агентный ИИ) для разработки программного обеспечения от OpenAI, доступный через множество интерфейсов. Агент — это модель плюс инструкции и инструменты, обёрнутые в среду выполнения, которая может выполнять задачи от вашего имени.

Большинству разработчиков не нужно вникать во внутреннее устройство. Выберите интерфейс, который подходит под ваш рабочий процесс, и начинайте строить — часто через quickstart. Если вы новичок в агентном (agentic) программировании, автономное приложение Codex — самый простой способ начать.

Но если вы оцениваете Codex для команды — или пытаетесь разобраться в онлайн-дискуссиях, документации и частых релизах — различия имеют значение. «Codex» может относиться к разным слоям системы.

Этот пост предназначен для разработчиков и представляет мою личную (и совершенно неофициальную) ментальную модель, которую я использую, чтобы понимать, что именно меняется при выходе очередного обновления.

Моя ментальная модель: Codex = Модель + Обвязка + Поверхности

На верхнем уровне я вижу Codex как три части, работающие вместе:

Codex = Модель + Обвязка + Поверхности

где:

  • Модель обеспечивает интеллект.
  • Обвязка (harness — набор инструкций и инструментов) превращает этот интеллект в нечто, способное безопасно работать в реальной среде разработки.
  • Поверхности — это среда выполнения и интерфейсы, через которые вы используете агента.

Если точнее:

  • Модель + Обвязка = Агент
  • Поверхности = способ взаимодействия с Агентом

Как только вы разделите эти слои, всё остальное становится гораздо понятнее.

Модель: интеллект, оптимизированный для разработки ПО

В основе Codex лежат большие языковые модели (LLM), оптимизированные специально для разработки программного обеспечения.

На базовом уровне LLM предсказывает следующий токен (token), а код — это текст. Но варианты с reasoning (рассуждение, цепочка мыслей) выходят за рамки автодополнения. Перед тем как выдать ответ, модель может выполнять структурированное внутреннее рассуждение: декомпозировать задачу, оценивать варианты, планировать многошаговые правки. Именно поэтому Codex не всегда отвечает мгновенно — он рассуждает.

Но реальная разработка программного обеспечения — это не просто генерация строк кода. Она включает:

  • Чтение и понимание репозиториев
  • Формирование многошаговых планов
  • Редактирование множества файлов
  • Запуск инструментов и интерпретацию результатов
  • Реакцию на ошибки
  • Итерации до тех пор, пока что-то действительно не заработает

Сегодня флагманские модели OpenAI:

  • GPT-5.3-Codex — разработана для сложных, длительных агентных (agentic) задач кодирования
  • GPT-5.3-Codex-Spark — меньший и более быстрый вариант, оптимизированный для взаимодействия с кодом в реальном времени

Эти же модели могут использоваться в других средах программирования в зависимости от продукта и выбора интеграции. Например, их можно использовать в таких инструментах, как Cursor или GitHub Copilot. Через подписку ChatGPT к ним можно получить доступ в OpenCode. Они также доступны через Responses API, хотя релизы API могут отставать от собственных продуктов для обеспечения безопасности deployment (деплоймент, развёртывание).

Ключевой момент: модель — это интеллект. Но интеллект сам по себе не делает агента.

Обвязка: что превращает модель в агента

Модель может генерировать код, предлагать правки и рассуждать о diff. Чего она не может делать самостоятельно — это работать внутри реального репозитория. Она не может просматривать файловую систему, запускать тесты, выполнять сборку или вызывать инструменты, на которые инженеры полагаются каждый день.

Для этого и нужна обвязка (harness).

Обвязка — это система, которая соединяет модель с рабочей средой разработки. Она обеспечивает контролируемый доступ к файлам и репозиториям, возможность безопасного выполнения команд и структурированный способ передачи информации в модель и обратно, чтобы она могла браться за крупные задачи, не теряя контекст. Обвязка позволяет модели подтягивать дополнительный контекст и использовать инструменты для выполнения работы — например, через MCP-серверы или Skills.

На практике обвязка позволяет агенту читать, планировать, выполнять, проверять и итерировать до получения рабочего результата.

Без обвязки у вас есть предложения.

С обвязкой у вас есть исполнение.

Примечательно, что обвязка Codex имеет открытый исходный код. Вы можете изучить, как она работает, и понять, как устроено выполнение. Например, для длительных задач система использует compaction (уплотнение контекста). Вместо того чтобы нести вперёд постоянно растущую историю диалога, она сжимает предыдущий контекст в сводку, сохраняющую состояние, необходимое для продолжения. Цель — непрерывность без раздувания контекста.

Если вам интересно узнать больше об обвязке Codex, можно обратиться к инженерному блог-посту.

Модель, обученная для обвязки

Модель и обвязка — это не отдельные части, собранные позже, — они спроектированы совместно.

Модели Codex обучаются в присутствии обвязки. Использование инструментов, циклы выполнения, compaction и итеративная верификация — это не прикрученные сверху поведения, а часть того, как модель учится работать. Обвязка, в свою очередь, формируется вокруг того, как модель планирует, вызывает инструменты и восстанавливается после ошибок.

Представьте это как спортсмена и его ракетку. Профессионал тренируется с конкретным снаряжением годами. Вы не станете менять его накануне соревнования и ожидать той же результативности.

Поведение Codex рождается из этой пары. Измените одно — и вы измените агента.

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

Когда у вас есть модель и обвязка, у вас есть агент. Остаётся вопрос — как вы хотите его использовать. Здесь на сцену выходят продуктовые поверхности.

Вы можете использовать агента Codex по-разному в зависимости от задачи. Иногда вы хотите контролировать несколько длительных потоков параллельно. Иногда нужна плотная итерация прямо в редакторе. Иногда — возможность компоновки из терминала. Иногда — лёгкая точка входа для удалённой или асинхронной работы.

Codex существует на множестве поверхностей, потому что разные этапы жизненного цикла разработки требуют разных паттернов взаимодействия.

  • Приложение Codex оптимизировано для оркестрации параллельной работы: множество агентов, множество потоков и длительные задачи, контролируемые из одного места. Оно также предоставляет единое представление для управления автоматизациями и skills, особенно по мере их роста со временем и в команде.
  • CLI создан для рабочих процессов, ориентированных на терминал, где важны явный контроль и компонуемость. Он естественно интегрируется в скрипты и CI-pipeline (пайплайн, конвейер обработки), а также предоставляет TypeScript SDK для построения программных рабочих процессов поверх той же агентной инфраструктуры.
  • Расширение для VS Code делает акцент на быстром редактировании в контексте — просмотре diff, принятии изменений и итерациях прямо там, где вы пишете код. Также доступны нативные интеграции для JetBrains IDE и Xcode.
  • Веб-интерфейс предлагает лёгкий способ запускать и контролировать асинхронные задачи в удалённой среде.

Под капотом многие из этих интерфейсов работают на Codex App Server. Сервер приложений управляет аутентификацией, историей диалогов, одобрениями и потоковыми событиями агента, позволяя расширенным клиентам — таким как IDE-расширения или встроенные интеграции — взаимодействовать с одной и той же базовой агентной системой. Это позволяет встраивать Codex в другие продукты, сохраняя единую модель выполнения. Сервер приложений также имеет открытый исходный код, поэтому команды могут изучить его или строить решения на его основе. Подробнее о сервере приложений можно узнать в этом посте.

Codex также спроектирован для работы внутри коллаборативных процессов. В GitHub его можно использовать для код-ревью и запуска асинхронных веб-задач в pull request'ах. В таких инструментах, как Slack или Linear, он может работать там, где команды планируют и координируют работу, запуская задачи и связывая выполнение с общими системами планирования.

Взгляд вперёд

В заключение: мышление о Codex в терминах модели, обвязки и продуктовых поверхностей помогает мне понимать, что именно меняется при выходе очередного обновления.

При этом со временем эти различия должны становиться менее значимыми в повседневном использовании. Вы просто будете обращаться к Codex там, где это имеет смысл для текущей задачи, и он должен ощущаться как единый согласованный инструментарий — одинаковое поведение, одинаковые границы безопасности, одинаковые ожидания — независимо от того, откуда вы его вызываете.

Если вы новичок в агентном программировании, лучший следующий шаг — не вникать в архитектуру. А попробовать реальную задачу от начала до конца. Выберите поверхность (приложение Codex — обычно самый простой стартовый вариант) и посмотрите, как оно работает на чём-то, что важно для вас.


Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!

Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot

Report Page