Преминаване към основното съдържание
OpenAI

Представяме 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, оптимизирана за софтуерно инженерство. Той е обучен чрез подсилващо обучение върху реални задачи по програмиране в различни среди, за да генерира код, който точно отразява човешкия стил и предпочитанията за pull заявки, стриктно следва инструкциите и може итеративно да изпълнява тестове, докато получи успешен резултат. Днес започваме да внедряваме Codex за потребителите на ChatGPT Pro, Enterprise и Business, като скоро ще има и поддръжка за Plus, и Edu.

Как работи Codex

Днес можете да получите достъп до Codex през страничната лента в ChatGPT и да му възлагате нови задачи за кодиране, като напишете подкана и натиснете „Код“. Ако искате да зададете въпрос на Codex относно Вашата кодова база, кликнете върху „Попитай“. Всяка задача се обработва независимо в отделна, изолирана среда, предварително заредена с Вашата кодова база. Codex може да чете и редактира файлове, както и да изпълнява команди, включително тестови снопове, линтери и програми за проверка на типа. Изпълнението на задачите обикновено отнема между 1 и 30 минути в зависимост от сложността и Вие можете да следите напредъка на Codex в реално време.

След като Codex завърши задача, той записва промените си в своята среда. Codex предоставя проверими доказателства за своите действия чрез цитати от терминални регистри и тестови резултати, което Ви позволява да проследите всяка стъпка, предприета по време на изпълнението на задачата. След това можете да прегледате резултатите, да поискате допълнителни редакции, да отворите заявка за извличане в 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 System Card, за да отразим тези оценки.

Сигурно изпълнение

Агентът 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, също могат да започнат да осребряват съответно $5 и $50 в безплатни API кредити по-късно днес за следващите 30 дни.

Наличност, ценообразуване и ограничения на Codex

От днес започваме да внедряваме Codex за потребителите на ChatGPT Pro, Enterprise и Business по целия свят, като скоро ще бъде налична поддръжка и за Plus и Edu. Потребителите ще имат щедър достъп без допълнителни разходи през следващите седмици, за да могат да разгледат какво може да прави Codex, след което ще въведем ограничен достъп и гъвкави опции за ценообразуване, които Ви позволяват да закупите допълнително използване при поискване. Планираме скоро да разширим достъпа за потребителите на Plus и Edu.

За разработчиците, които изграждат с codex-mini-latest, моделът е достъпен в Responses API и е на цена от $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