Переход к основному контенту
OpenAI

16 мая 2025 г.

РелизТовар

Представляем Codex

Облачный агент по разработке программного обеспечения, способный выполнять множество задач параллельно, работающий на Codex-1. Доступно сегодня для пользователей ChatGPT Pro, Business и Enterprise, а для пользователей Plus — в ближайшее время.

Dashboard asking ‘What should we code next?’ with a prompt box, repo/branch selectors, and a task list on a pastel code-themed backdrop.
Загрузка…

Обновление от 3 июня 2025 года: Codex теперь доступен пользователям ChatGPT Plus. Мы также предоставляем пользователям возможность подключать Codex к интернету во время выполнения задач. Пожалуйста, обратитесь к журналу изменений(открывается в новом окне) и документации(открывается в новом окне) для получения более подробной информации.


Сегодня мы запускаем предварительный ознакомительный доступ (research preview) к Codex: облачного агента по разработке программного обеспечения, который может выполнять множество задач параллельно. Codex может выполнять задачи для вас, такие как написание функций, ответы на вопросы о вашей кодовой базе, исправление ошибок и предложение pull-request'ов для проверки; каждая задача выполняется в собственной облачной песочнице, предварительно загруженной вашим репозиторием.

Codex работает на codex-1, версии OpenAI o3, оптимизированной для разработки программного обеспечения. Модель обучалась с использованием обучения с подкреплением на реальных задачах программирования в различных средах, чтобы формировать код, который точно отражает человеческий стиль и предпочтения PR, строго следует инструкциям и может итеративно запускать тесты до получения положительного результата. Сегодня мы начинаем внедрение Codex для пользователей ChatGPT Pro, Enterprise и Business, а вскоре будет добавлена поддержка для Plus и Edu.

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

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

Как только Codex завершает задачу, он фиксирует изменения в своей среде. Codex предоставляет проверяемые доказательства своих действий через ссылки на журналы терминала и результаты тестов, что позволяет вам отслеживать каждый шаг, выполненный в процессе выполнения задачи. Затем вы можете просмотреть результаты, запросить дальнейшие правки, открыть pull request на GitHub или напрямую интегрировать изменения в локальную среду. Вы можете настроить среду Codex так, чтобы она максимально соответствовала вашей реальной среде разработки.

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

В бенчмарках по задачам программирования и внутренних тестах codex-1 демонстрирует высокую производительность даже без файлов AGENTS.md или пользовательских каркасов.

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

Наш внутренний бенчмарк задач SWE — это тщательно отобранный набор реальных внутренних задач SWE в OpenAI.

Создание безопасных и надежных агентов

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

Code-review screenshot with a test-file overlay verifying quoted filenames, plus summary and passing tests on a blue backdrop.
Code-review screenshot with a black terminal overlay showing one passing test for quoted filenames; summary and diff of the ‘Fix /diff error with special characters’ change visible on a blue-pastel background.

Согласование с человеческими предпочтениями

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

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
OpenAI o3

Предотвращение злоупотреблений

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

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

Безопасное выполнение

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

Первые сценарии использования

Технические команды в OpenAI начали использовать Codex как часть своего ежедневного инструментария. Чаще всего он используется инженерами OpenAI для выполнения повторяющихся, четко определённых задач, таких как рефакторинг, переименование и написание тестов, которые в противном случае могли бы сбить фокус. Он одинаково полезен для создания новых функций, подключения компонентов, исправления ошибок и написания документации. Команды вырабатывают новые привычки: сортировка дежурных задач, планирование задач в начале дня и разгрузка фоновой работы, чтобы продолжать движение. Уменьшая количество переключений контекста и выявляя забытые задачи, Codex помогает инженерам быстрее выпускать продукты и сосредотачиваться на самом важном.

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

  • Cisco(открывается в новом окне) изучает, как Codex может помочь инженерным командам быстрее воплощать их амбициозные идеи в жизнь. Как один из первых партнёров по проектированию, компания Cisco помогает формировать будущее Codex, оценивая его в реальных сценариях использования по всему своему продуктовому портфелю и делясь обратной связью с командой OpenAI.
  • Temporal(открывается в новом окне) использует Codex для ускорения разработки функций, отлаживания проблем, написания и выполнения тестов, а также рефакторинга больших кодовых баз. Это также помогает им сохранять концентрацию, выполняя сложные задачи в фоновом режиме, поддерживая поток работы инженеров и ускоряя итерации.
  • Superhuman(открывается в новом окне) использует Codex для ускорения небольших, но повторяющихся задач, таких как улучшение тестового покрытия и исправление сбоев интеграции. Это также помогает быстрее выпускать продукты, позволяя менеджерам продукта вносить небольшие изменения в код без привлечения инженера, за исключением проверки кода.
  • Kodiak(открывается в новом окне) использует Codex для создания инструментов отладки, улучшения тестового покрытия и рефакторинга кода, ускоряя разработку Kodiak Driver — своей технологии автономного вождения. Codex также стал ценным справочным инструментом, помогающим инженерам понять незнакомые части стека, предоставляя соответствующий контекст и информацию о прошлых изменениях.

На основе опыта первых тестировщиков мы рекомендуем назначать четко определённые задачи нескольким агентам одновременно и экспериментировать с различными типами задач и промптов, чтобы эффективно изучать возможности модели.

Обновления Codex CLI

В прошлом месяце мы запустили Codex CLI — легковесный агент программирования с открытым исходным кодом, который работает в вашем терминале. Это привносит мощь таких моделей, как o3 и o4-mini, в ваш локальный рабочий процесс, помогая быстрее выполнять задачи. 

Сегодня мы также выпускаем уменьшенную версию codex-1 — версию o4-mini, специально разработанную для использования в Codex CLI. Эта новая модель поддерживает более быстрые рабочие процессы в CLI и оптимизирована для быстрого (с низкой задержкой) режима вопросов и ответов по коду и редактирования, при этом она сохраняет сильные стороны в следовании инструкциям и стиле. Теперь она доступна в качестве модели по умолчанию в Codex CLI и в API как codex-mini-latest. Текущий снимок модели Codex-mini будет регулярно обновляться по мере её улучшения.

Мы также значительно упростили подключение вашей учетной записи разработчика к Codex CLI. Вместо ручного формирования и настройки токена API, теперь вы можете войти в систему через свою учетную запись ChatGPT и выбрать ту организацию в API, которую хотите использовать. Мы автоматически сформируем и настроим для вас API-ключ. Пользователи Plus и Pro, которые войдут в систему Codex CLI с помощью ChatGPT, смогут начать получать бесплатные API-кредиты на сумму 5 и 50 долларов США соответственно, начиная с сегодняшнего дня и в течение следующих 30 дней.

Доступность, цены и ограничения Codex

Начиная с сегодняшнего дня, мы внедряем Codex для пользователей ChatGPT Pro, Enterprise и Business по всему миру, а поддержка для Plus и Edu появится в ближайшее время. Пользователи получат щедрый доступ без дополнительной оплаты в ближайшие недели, чтобы изучать возможности Codex, после чего мы внедрим ограниченный доступ и гибкие ценовые варианты, позволяющие приобретать дополнительное использование по запросу. Мы планируем вскоре расширить доступ для пользователей Plus и Edu.

Для разработчиков, использующих codex-mini-latest, модель доступна в Responses API по цене 1,50 доллара США за 1 млн входных токенов и 6 долларов США за 1 млн выходных токенов, со скидкой 75 % на кэширование промптов.

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

Следующие шаги

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

Использование инструментов ИИ, таких как Codex CLI и другие, быстро стало отраслевой нормой, помогая разработчикам быстрее писать код. Но мы считаем, что асинхронный, многоагентный рабочий процесс, представленный Codex в ChatGPT, станет стандартным способом, которым инженеры будут создавать высококачественный код.

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

В будущем мы планируем внедрить более интерактивные и гибкие процессы с задействованием агентов. Разработчики вскоре смогут предоставлять рекомендации в процессе выполнения задач, сотрудничать в разработке стратегий внедрения и получать своевременные обновления о ходе выполнения. Мы также предполагаем более глубокую интеграцию с инструментами, которые вы уже используете: сегодня Codex подключается к GitHub, и вскоре вы сможете назначать задачи из Codex CLI, ChatGPT Desktop или даже таких инструментов, как ваш трекер задач или система CI.

Разработка программного обеспечения — одна из первых отраслей, которая испытала значительный рост производительности благодаря использованию искусственного интеллекта, открывая новые возможности для отдельных лиц и небольших команд. Хотя мы оптимистично оцениваем эти достижения, мы также сотрудничаем с партнёрами, чтобы лучше понять последствия широкого внедрения агентов в рабочие процессы разработчиков, и развитие навыков у людей с разным уровнем квалификации в разных регионах мира. 

Это только начало — и нам не терпится увидеть, что вы создадите с Codex.

Повтор трансляции в прямом эфире

Приложение

Системное сообщение

Мы делимся системным сообщением codex-1, чтобы помочь разработчикам понять поведение модели по умолчанию и адаптировать Codex для эффективной работы в пользовательских рабочих процессах. Например, системное сообщение codex-1 побуждает Codex выполнять все тесты, указанные в файле AGENTS.md, но если у вас мало времени, вы можете попросить Codex пропустить эти тесты.

Простой текст

1
# Instructions
2
- The user will provide a task.
3
- The task involves working with Git repositories in your current working directory.
4
- Wait for all terminal commands to be completed (or terminate them) before finishing.
5

6
# Git instructions
7
If completing the user's task requires writing or modifying files:
8
- Do not create new branches.
9
- Use git to commit your changes.
10
- If pre-commit fails, fix issues and retry.
11
- Check git status to confirm your commit. You must leave your worktree in a clean state.
12
- Only committed code will be evaluated.
13
- Do not modify or amend existing commits.
14

15
# AGENTS.md spec
16
- Containers often contain AGENTS.md files. These files can appear anywhere in the container's filesystem. Typical locations include `/`, `~`, and in various places inside of Git repos.
17
- These files are a way for humans to give you (the agent) instructions or tips for working within the container.
18
- Some examples might be: coding conventions, info about how code is organized, or instructions for how to run or test code.
19
- AGENTS.md files may provide instructions about PR messages (messages attached to a GitHub Pull Request produced by the agent, describing the PR). These instructions should be respected.
20
- Instructions in AGENTS.md files:
21
- The scope of an AGENTS.md file is the entire directory tree rooted at the folder that contains it.
22
- For every file you touch in the final patch, you must obey instructions in any AGENTS.md file whose scope includes that file.
23
- Instructions about code style, structure, naming, etc. apply only to code within the AGENTS.md file's scope, unless the file states otherwise.
24
- More-deeply-nested AGENTS.md files take precedence in the case of conflicting instructions.
25
- Direct system/developer/user instructions (as part of a prompt) take precedence over AGENTS.md instructions.
26
- AGENTS.md files need not live only in Git repos. For example, you may find one in your home directory.
27
- If the AGENTS.md includes programmatic checks to verify your work, you MUST run all of them and make a best effort to validate that the checks pass AFTER all code changes have been made.
28
- This applies even for changes that appear simple, i.e. documentation. You still must run all of the programmatic checks.
29

30
# Citations instructions
31
- If you browsed files or used terminal commands, you must add citations to the final response (not the body of the PR message) where relevant. Citations reference file paths and terminal outputs with the following formats:
32
1) `【F:<file_path>†L<line_start>(-L<line_end>)?】`
33
- File path citations must start with `F:`. `file_path` is the exact file path of the file relative to the root of the repository that contains the relevant text.
34
- `line_start` is the 1-indexed start line number of the relevant output within that file.
35
2) `【<chunk_id>†L<line_start>(-L<line_end>)?】`
36
- Where `chunk_id` is the chunk_id of the terminal output, `line_start` and `line_end` are the 1-indexed start and end line numbers of the relevant output within that chunk.
37
- Line ends are optional, and if not provided, line end is the same as line start, so only 1 line is cited.
38
- Ensure that the line numbers are correct, and that the cited file paths or terminal outputs are directly relevant to the word or clause before the citation.
39
- Do not cite completely empty lines inside the chunk, only cite lines that have content.
40
- Only cite from file paths and terminal outputs, DO NOT cite from previous pr diffs and comments, nor cite git hashes as chunk ids.
41
- Use file path citations that reference any code changes, documentation or files, and use terminal citations only for relevant terminal output.
42
- Prefer file citations over terminal citations unless the terminal output is directly relevant to the clauses before the citation, i.e. clauses on test results.
43
- For PR creation tasks, use file citations when referring to code changes in the summary section of your final response, and terminal citations in the testing section.
44
- For question-answering tasks, you should only use terminal citations if you need to programmatically verify an answer (i.e. counting lines of code). Otherwise, use file citations.

Автор

OpenAI