OpenAI продолжает делать ChatGPT полезным для разработчиков.

Несколько дней назад они добавили поддержку подключения репозиториев на GitHub для глубокого исследования и возможности задавать вопросы на основе собственного кода.

Сегодня компания запустила предварительную исследовательскую версию Codex в ChatGPT, своего самого способного ИИ-агента для программирования. Он может писать код, исправлять ошибки, запускать тесты и одновременно управлять несколькими задачами по программированию, и все это - в безопасной облачной среде.

Давайте разберемся в деталях анонса Codex.

Что такое Codex?

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

Вы можете параллельно выполнять множество задач.

Codex построен на codex-1, варианте модели o3 от OpenAI, специально оптимизированной для разработки программного обеспечения. Она была натренирована с помощью обучения с подкреплением на реальных задачах по написанию кода в различных средах, что позволило ей создавать код, который отражает стиль человека, точно следует инструкциям и многократно выполняет тесты до их прохождения.

Codex - это предварительная исследовательская версия, поэтому возможности, функциональность и особенности могут измениться в любой момент.

Как работает Codex

Вы найдете Codex в боковой панели ChatGPT. Когда он включен, вы можете напрямую назначать ему задания. Просто введите то, что вы хотите, чтобы он сделал, и нажмите кнопку с надписью «Код». Если у вас есть вопрос о вашей кодовой базе, вы можете нажать кнопку «Спросить» и получить соответствующий ответ.

Он способен читать и редактировать файлы. На выполнение задачи обычно уходит от 1 до 30 минут, в зависимости от сложности, и вы можете отслеживать ее ход в режиме реального времени.

Как только Codex завершает задачу, он фиксирует изменения в своей среде. Эти обновления отслеживаются и сохраняются автоматически.

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

Ознакомившись с результатами, вы можете выбрать, что делать дальше. Вы можете запросить дополнительные изменения, отправить запрос на GitHub или интегрировать модификации непосредственно в локальную среду.

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

Посмотрите на этот пример промпта:

Please fix the following issue in the astropy/astropy repository. Please resolve the issue in the problem below by editing and testing code files in your current code execution session. The repository is cloned in the /testbed folder. You must fully solve the problem for your answer to be considered correct.

Problem statement:Modeling's `separability_matrix` does not compute separability correctly for nested CompoundModels
Consider the following model:

```python
from astropy.modeling import models as m
from astropy.modeling.separable import separability_matrix

cm = m.Linear1D(10) & m.Linear1D(5)
```

It's separability matrix as you might expect is a diagonal:

```python
>>> separability_matrix(cm)
array([[ True, False],
       [False,  True]])
```

If I make the model more complex:
```python
>>> separability_matrix(m.Pix2Sky_TAN() & m.Linear1D(10) & m.Linear1D(5))
array([[ True,  True, False, False],
       [ True,  True, False, False],
       [False, False,  True, False],
       [False, False, False,  True]])
```

The output matrix is again, as expected, the outputs and inputs to the linear models are separable and independent of each other.

If however, I nest these compound models:
```python
>>> separability_matrix(m.Pix2Sky_TAN() & cm)
array([[ True,  True, False, False],
       [ True,  True, False, False],
       [False, False,  True,  True],
       [False, False,  True,  True]])
```
Suddenly the inputs and outputs are no longer separable?

This feels like a bug to me, but I might be missing something?

Вот наглядное сравнение Codex и сгенерированных кодов моделью o3:

По сравнению с OpenAI o3, Codex-1 постоянно выдает более качественные исправления, готовые к немедленному рассмотрению человеком и интеграции в стандартные рабочие процессы.

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

Контрольные показатели производительности Codex

OpenAI проводила оценку Codex-1, используя сочетание внутренних бенчмарков и внешних тестов кодирования.

Для бенчмарка SWE-Bench Verified компания OpenAI исключила 23 образца, которые не могли быть запущены на внутренней инфраструктуре. Это позволило убедиться, что все оцениваемые задачи действительно пригодны для тестирования и измерения. Codex-1 оценивался с максимальной длиной контекста в 192 000 токенов, с использованием средних настроек «усилия рассуждения».

Это та же настройка, которая сейчас доступна в продуктовой версии Codex.

«Усилие рассуждения (reasoning effort)» означает, сколько шагов разрешается сделать модели при обдумывании и выполнении задания. Среднее усилие - это баланс между скоростью и глубиной рассуждений.

В дополнение к SWE-Bench, OpenAI использует внутренний эталон задач программной инженерии (SWE), который включает в себя набор реальных инженерных задач, разработанных внутри компании.

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

Codex - для профессионалов

Если вы привыкли к таким инструментам, как Cursor, Lovable или даже Bolt, где можно одной командой создать целое рабочее приложение, вы можете быть разочарованы.

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

У Codex нет доступа к Интернету

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

Агент не может получить доступ к внешним веб-сайтам, API или другим сервисам.

Первые пользователи не в восторге от этого.

Например, пользователь X Йоко выразил свое разочарование тем, что Codex даже не может правильно настроить окружение, потому что у него нет доступа в интернет.

Как он должен работать, если у него нет доступа к интернету? Например, я не могу установить пакеты npm или обновить что-то в моем проекте.

Инженер OpenAI Доминик Кундель ответил на это сообщение, сообщив, что пользователям необходимо вручную добавить пользовательский скрипт для настройки среды.

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

Это неудобный обходной путь, особенно если вы платите 200 долларов в месяц за подписку Pro.

Пока что все работает именно так. Я надеюсь, что это ограничение будет устранено или хотя бы лучше реализовано в будущих обновлениях.

Как получить доступ к Codex

Codex сейчас доступен для пользователей ChatGPT Pro, Enterprise и Team, а позже будет доступен для пользователей Plus и Edu.

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

Я также надеюсь, что OpenAI со временем откроет доступ к API. Возможность интегрировать Codex в конвейеры CI, инструменты разработчика или внутренние рабочие процессы GitHub может сделать его невероятно полезным.

Я считаю, что у Codex есть серьезный потенциал. Мы приближаемся к будущему, в котором разработчики смогут переложить самые скучные или повторяющиеся задачи на ИИ-помощника. И речь не идет о замене инженеров. Скорее, речь идет о том, чтобы наконец-то иметь надежного младшего разработчика, который никогда не устает и всегда выполняет инструкции.

Тем не менее, я все еще не могу найти оправдания стоимости 200 долларов в месяц. Я с нетерпением жду возможности попробовать его, как только он станет доступен для пользователей Plus.

Если OpenAI в итоге предложит доступ к API или позволит нам использовать Codex в режиме headless, это может стать началом совершенно нового способа создания программного обеспечения.

Станет ли 2025 год годом ИИ-агентов для программирования?

Грег Брокман, президент и соучредитель OpenAI, сказал, что 2025 год станет годом ИИ-агентов.

Если это окажется правдой, нас ждут большие перемены в работе инженерных команд.

На данный момент в этом году более 22 000 работников стали жертвами сокращений в технологической отрасли, причем только в феврале произошло 16 084 ошеломляющих сокращения.

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

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