Перейти до основного вмісту
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 доступом до Інтернету під час виконання завдань. Будь ласка, зверніться до журналу змін(відкривається у новому вікні) та документації(відкривається у новому вікні) для отримання додаткової інформації.


Сьогодні ми запускаємо попередній доступ до Codex — хмарного агента розробки програмного забезпечення, який може виконувати багато завдань одночасно. Codex може виконувати для вас такі завдання, як написання функцій, відповіді на запитання про вашу кодову базу, виправлення помилок і створення запитів на включення змін для перегляду; кожне завдання виконується у власному середовищі хмарної пісочниці, попередньо завантаженому з вашим репозиторієм.

Codex працює на codex-1 — версії OpenAI o3, оптимізованої для розробки програмного забезпечення. Його навчали за допомогою навчання з підкріпленням на реальних задачах із програмування в різних середовищах для створення коду; він ретельно відображає людський стиль і вподобання PR, точно дотримується інструкцій і може ітеративно виконувати тести до отримання позитивного результату. Відсьогодні ми починаємо впроваджувати Codex для користувачів ChatGPT Pro, Enterprise та Business; підтримка для Plus та Edu з'явиться незабаром.

Як працює Codex

Сьогодні ви можете отримати доступ до Codex через бічну панель у ChatGPT і призначити йому нові завдання для кодування, ввівши запит і натиснувши «Кодувати». Якщо ви хочете поставити 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 Verified, які не підлягають запуску на нашій внутрішній інфраструктурі. codex-1 тестували з максимальною довжиною контексту 192 тисячі токенів і середнім рівнем міркування — це ж налаштування відсьогодні буде доступне в продукті. Детальніше про оцінки o3 можна дізнатися тут.

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

Створення безпечних та надійних агентів

Ми випускаємо Codex як дослідницьку ознайомчу версію відповідно до нашої поступової стратегії впровадження. При розробці 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 та оптимізована таким чином, щоб гарантувати низьку затримку в Q&A та редагуванні коду, зберігаючи при цьому ті ж самі переваги в дотриманні інструкцій та стилю. Зараз вона доступна як модель за замовчуванням у Codex CLI та в API під назвою codex-mini-latest. Ми продовжуємо вдосконалювати модель Codex-mini, тож базовий знімок екрана буде регулярно оновлюватися.

Ми також значно спрощуємо підключення вашого облікового запису розробника до Codex CLI. Замість ручного створення та налаштування токена API тепер ви можете увійти за допомогою свого облікового запису ChatGPT та вибрати організацію API, яку хочете використовувати. Ми автоматично створимо та налаштуємо для вас ключ API. Користувачі Plus і Pro, які увійдуть у Codex CLI за допомогою ChatGPT, можуть на старті отримати $5 і $50 у безкоштовних кредитах API відповідно (пізніше відсьогодні й протягом наступних 30 днів).

Доступ, цінова політика та обмеження Codex

Відсьогодні ми розгортаємо Codex для користувачів ChatGPT Pro, Enterprise та Business по всьому світу; підтримка для Plus та Edu з'явиться найближчим часом. Для ознайомлення з можливостями Codex користувачі матимуть розширений доступ без додаткової оплати протягом наступних тижнів, після чого ми запровадимо обмежений доступ і гнучку цінову політику, яка дозволить вам купувати додаткове використання за потребою. Незабаром ми плануємо розширити доступ для користувачів Plus та Edu.

Для розробників, які працюють з codex-mini-latest, модель доступна в API Responses за ціною $1,50 за 1 млн вхідних токенів та $6 за 1 млн вихідних токенів, зі знижкою 75% на кешування запиту.

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