
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, расскажите мне в комментариях. Я хочу узнать, для каких задач вы его используете и соответствует ли он вашим ожиданиям.
Друзья, буду рад, если вы подпишетесь на мой телеграм-канал про нейросети, чтобы не пропускать анонсы статей, и на канал с гайдами и советами по работе с нейросетями - я стараюсь делиться только полезной информацией.