Pāriet uz galveno saturu
OpenAI

2025. gada 16. maijs

IzlaidumsProdukts

Iepazīstinām ar Codex

Mākoņbalstīts programmatūras inženierijas aģents, kas spēj vienlaicīgi strādāt pie daudziem uzdevumiem, ko darbina codex-1. Pieejams ChatGPT Pro, Business un Enterprise lietotājiem jau šodien, bet Plus lietotājiem drīzumā.

Dashboard asking ‘What should we code next?’ with a prompt box, repo/branch selectors, and a task list on a pastel code-themed backdrop.
Notiek ielāde…

Atjauninājums 2025. gada 3. jūnijā: Codex tagad ir pieejams ChatGPT Plus lietotājiem. Mēs arī ļaujam lietotājiem nodrošināt Codex piekļuvi internetam uzdevumu izpildes laikā. Lūdzu, skati izmaiņu žurnālu(atveras jaunā logā) un dokumentāciju(atveras jaunā logā), lai iegūtu sīkāku informāciju.


Šodien mēs uzsākam pētījuma priekšskatījumu Codex: mākoņbāzētam programmatūras inženierijas aģentam, kas var strādāt pie daudziem uzdevumiem vienlaicīgi. Codex var veikt uzdevumus tavā vietā, piemēram, rakstīt funkcijas, atbildēt uz jautājumiem par tavu kodu bāzi, novērst kļūdas un ierosināt pārskatīšanas pieprasījumus; katrs uzdevums tiek izpildīts savā mākoņa smilškastes vidē, kas iepriekš ielādēta tavā repozitorijā.

Codex darbina codex-1, OpenAI o3 versija, kas optimizēta programmatūras inženierijai. Tas tika apmācīts, izmantojot stimulētas mācīšanās metodes reālās pasaules kodēšanas uzdevumos dažādās vidēs, lai ģenerētu kodu, kas cieši atspoguļo cilvēka stilu un PR preferences, precīzi ievēro norādījumus un var atkārtoti veikt testus, līdz tiek saņemts pozitīvs rezultāts. Mēs šodien sākam ieviest Codex ChatGPT Pro, Enterprise un Business lietotājiem, un drīzumā būs pieejams atbalsts Plus un Edu lietotājiem.

Kā Codex darbojas

Šodien tu vari piekļūt Codex, izmantojot ChatGPT sānu joslu, un piešķirt tam jaunus kodēšanas uzdevumus, ierakstot uzvedni un noklikšķinot uz “Kods”. Ja tu vēlies uzdot Codex jautājumu par savu koda bāzi, noklikšķini uz “Jautāt”. Katrs uzdevums tiek apstrādāts neatkarīgi atsevišķā, izolētā vidē, kurā iepriekš ielādēta tava koda bāze. Codex var lasīt un rediģēt failus, kā arī palaist komandas, tostarp testa ietvarus, linterus un tipa pārbaudītājus. Uzdevuma izpilde parasti aizņem no 1 līdz 30 minūtēm atkarībā no sarežģītības, un tu vari uzraudzīt Codex progresu reāllaikā.

Kad Codex pabeidz uzdevumu, tas apstiprina izmaiņas savā vidē. Codex sniedz pārbaudāmus pierādījumus par savu rīcību, citējot termināla žurnālus un testa izvades, ļaujot tev sekot katram solim, kas veikts uzdevuma izpildes laikā. Pēc tam tu vari pārskatīt rezultātus, pieprasīt papildu labojumus, atvērt GitHub pieprasījumu vai tieši integrēt izmaiņas savā lokālajā vidē. Produktā tu vari konfigurēt Codex vidi, lai tā pēc iespējas precīzāk atbilstu tavai reālajai izstrādes videi.

Codex var vadīties pēc AGENTS.md failiem, kas ievietoti tavā repozitorijā. Tie ir teksta faili, līdzīgi README.md, kur tu vari informēt Codex, kā orientēties tavā koda bāzē, kuras komandas palaist testēšanai un kā vislabāk ievērot tava projekta standarta praksi. Tāpat kā cilvēku izstrādātāji, Codex aģenti darbojas vislabāk, ja tiem ir nodrošināta konfigurēta izstrādes vide, uzticami testēšanas iestatījumi un skaidra dokumentācija. 

Kodēšanas novērtējumos un iekšējos etalonos codex-1 uzrāda spēcīgu veiktspēju pat bez AGENTS.md failiem vai pielāgotām sastatnēm.

23 SWE-Bench verificētie paraugi, kas nebija darbināmi mūsu iekšējā infrastruktūrā, tika izslēgti. codex-1 tika testēts ar maksimālo konteksta garumu 192 tūkst. tokenu un vidēju "argumentācijas piepūli", kas ir iestatījums, kas šodien būs pieejams produktā. Lai iegūtu sīkāku informāciju par o3 novērtējumiem, skatieties šeit.

Mūsu iekšējais SWE uzdevumu etalons ir rūpīgi atlasīts reālās pasaules iekšējo SWE uzdevumu kopums OpenAI.

Drošu un uzticamu aģentu izveide

Mēs izlaižam Codex kā pētniecības priekšskatījumu, saskaņā ar mūsu iteratīvo izvietošanas stratēģiju. Mēs izvirzījām prioritāti drošībai un pārredzamībai, izstrādājot Codex, lai lietotāji varētu verificēt tā izvades - aizsardzība, kas kļūst arvien svarīgāka, jo MI modeļi patstāvīgi veic sarežģītākus kodēšanas uzdevumus un attīstās drošības apsvērumi. Lietotāji var pārbaudīt Codex darbu, izmantojot atsauces, termināļa žurnālus un testu rezultātus. Ja rodas neskaidrības vai testa kļūmes, Codex aģents skaidri paziņo par šīm problēmām, ļaujot lietotājiem pieņemt informētus lēmumus par to, kā rīkoties. Lietotājiem joprojām ir būtiski manuāli pārskatīt un apstiprināt visu aģenta ģenerēto kodu pirms integrācijas un izpildes.

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.

Saskaņošana ar cilvēka vēlmēm

Viens no galvenajiem mērķiem mācību laikā Codex-1 bija cieši saskaņot izvades ar cilvēku kodēšanas vēlmēm un standartiem. Salīdzinot ar OpenAI o3, codex-1 konsekventi veido tīrākus ielāpus, kas ir gatavi tūlītējai cilvēka pārskatīšanai un integrēšanai standarta darbplūsmās.

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

Ļaunprātīgas izmantošanas novēršana

Aizsardzība pret ļaunprātīgām MI vadītas programmatūras inženierijas lietotnēm, piemēram, ļaunprātīgas programmatūras izstrādi, kļūst arvien svarīgāka. Tajā pašā laikā ir svarīgi, lai aizsardzības pasākumi nepamatoti netraucētu likumīgām un izdevīgām lietotnēm, kas var ietvert metodes, kuras dažreiz tiek izmantotas arī ļaunprātīgas programmatūras izstrādei, piemēram, zema līmeņa kodola inženierija.

Lai līdzsvarotu drošību un lietderību, Codex tika apmācīts identificēt un precīzi noraidīt pieprasījumus, kuru mērķis ir izstrādāt ļaunprātīgu programmatūru, vienlaikus skaidri nošķirot un atbalstot likumīgus uzdevumus. Mēs esam arī uzlabojuši mūsu politikas ietvarus un iekļāvuši stingrus drošības novērtējumus, lai efektīvi nostiprinātu šīs robežas. Esam publicējuši pielikumu o3 sistēmas kartei, lai atspoguļotu šos novērtējumus.

Droša izpilde

Codex aģents pilnībā darbojas drošā, izolētā konteinerā mākonī. Uzdevuma izpildes laikā interneta piekļuve ir atspējota, ierobežojot aģenta mijiedarbību tikai ar kodu, kas skaidri norādīts GitHub krātuvēs un iepriekš instalētās atkarībās, ko lietotājs konfigurējis ar iestatīšanas skriptu. Aģents nevar piekļūt ārējām tīmekļa vietnēm, API vai citiem pakalpojumiem.

Agrīnie lietošanas gadījumi

OpenAI tehniskās komandas ir sākušas izmantot Codex kā daļu no ikdienas rīku komplekta. OpenAI inženieri to visbiežāk izmanto, lai atvieglotu atkārtotus, labi definētus uzdevumus, piemēram, refaktorēšanu, pārdēvēšanu un testu rakstīšanu, kas citādi pārtrauktu koncentrēšanos. Tas ir vienlīdz noderīgi jaunu funkciju izstrādei, komponentu savienošanai, kļūdu labošanai un dokumentācijas sagatavošanai. Komandas veido jaunus ieradumus: dežūru problēmu risināšana, uzdevumu plānošana dienas sākumā un fona darba atslogošana, lai turpinātu kustēties uz priekšu. Samazinot konteksta maiņu un izceļot aizmirstos uzdevumus, Codex palīdz inženieriem ātrāk izstrādāt un koncentrēties uz vissvarīgāko.

Gatavojoties izlaišanai, mēs sadarbojamies arī ar nelielu ārējo testētāju grupu, lai labāk izprastu, kā Codex darbojas dažādās koda bāzēs, izstrādes procesos un komandās.

  • Cisco(atveras jaunā logā) pēta, kā Codex var palīdzēt savām inženieru komandām ātrāk īstenot vērienīgas idejas. Kā agrīnie dizaina partneri Cisco palīdz veidot Codex nākotni, novērtējot to reāliem lietošanas gadījumiem visā savā produktu portfelī un sniedzot atsauksmi OpenAI Team.
  • Temporal(atveras jaunā logā) izmanto Codex, lai paātrinātu funkciju izstrādi, atkļūdotu, rakstītu un izpildītu testus, kā arī pārveidotu lielas kodu bāzes. Tas arī palīdz viņiem saglabāt koncentrēšanos, veicot sarežģītus uzdevumus fonā — saglabājot inženierus plūsmā, vienlaikus paātrinot iterāciju.
  • Superhuman(atveras jaunā logā) izmanto Codex, lai paātrinātu nelielus, bet atkārtotus uzdevumus, piemēram, testu pārklājuma uzlabošanu un integrācijas kļūmju novēršanu. Tas arī palīdz viņiem ātrāk piegādāt, ļaujot produktu vadītājiem veikt vieglas koda izmaiņas bez inženiera iesaistes, izņemot koda pārskatīšanu.
  • Kodiak(atveras jaunā logā) izmanto Codex, lai palīdzētu rakstīt atkļūdošanas rīkus, uzlabot testa pārklājumu un pārveidot kodu, paātrinot savas autonomās braukšanas tehnoloģijas Kodiak Driver izstrādi. Codex ir kļuvis arī par vērtīgu atsauces rīku, kas palīdz inženieriem izprast nepazīstamas tehnoloģiju kaudzes daļas, atklājot attiecīgo kontekstu un iepriekšējās izmaiņas.

Pamatojoties uz agrīno testētāju atziņām, mēs iesakām vienlaicīgi piešķirt labi definētus uzdevumus vairākiem aģentiem un eksperimentēt ar dažāda veida uzdevumiem un uzvednēm, lai efektīvi izpētītu modeļa iespējas.

Codex CLI atjauninājumi

Pagājušajā mēnesī mēs laidām klajā Codex CLI, vieglu atvērtā koda kodēšanas aģentu, kas darbojas tavā terminālī. Tas jūsu lokālajā darbplūsmā ienes tādu modeļu kā o3 un o4-mini jaudu, atvieglojot to savienošanu pārī, lai uzdevumus paveiktu ātrāk. 

Šodien mēs arī izlaižam mazāku codex-1 versiju - o4-mini versiju, kas īpaši izstrādāta lietošanai Codex CLI. Šis jaunais modelis atbalsta ātrākas darbplūsmas CLI un ir optimizēts zema latentuma koda jautājumu un atbilžu sesijām un rediģēšanai, vienlaikus saglabājot tās pašas stiprās puses instrukciju ievērošanā un stilā. Tagad tas ir pieejams kā noklusējuma modelis Codex CLI un API kā codex-mini-latest. Pamatā esošais momentuzņēmums tiks regulāri atjaunināts, turpinot uzlabot Codex-mini modeli.

Mēs arī ievērojami atvieglojam tava izstrādātāja konta savienošanu ar Codex CLI. Tā vietā, lai manuāli ģenerētu un konfigurētu API tokenu, tagad vari pierakstīties savā ChatGPT kontā un izvēlēties API organizāciju, kuru vēlies izmantot. Mēs automātiski ģenerēsim un konfigurēsim API atslēgu tev. Plus un Pro lietotāji, kuri pierakstās Codex CLI ar ChatGPT, var arī sākt izpirkt attiecīgi ASV dolāru un 50 ASV dolāru bezmaksas API kredītus vēlāk šodien un nākamās 30 dienas.

Codex pieejamība, izcenojums un ierobežojumi

Sākot ar šodienu, mēs izlaižam Codex visā pasaulē ChatGPT Pro, Enterprise un Business lietotājiem, un drīzumā būs pieejams atbalsts Plus un Edu. Lietotājiem tuvākajās nedēļās būs dāsna piekļuve bez papildu maksas, lai tu varētu izpētīt, ko Codex var darīt, un pēc tam mēs ieviesīsim ierobežotu piekļuvi un elastīgas izcenojuma iespējas, kas ļaus tev iegādāties papildu lietojumu pēc pieprasījuma. Mēs drīzumā plānojam paplašināt piekļuvi Plus un Edu lietotājiem.

Izstrādātājiem, kas veido ar codex-mini-latest, modelis ir pieejams Responses API, un tā cena ir 1,50 ASV dolāru par 1 miljonu ievades tekstvienībām un 6 ASV dolāru par 1 miljonu izvades tekstvienībām, ar 75% uzvednes kešatmiņas atlaidi.

Codex joprojām ir agrīnā izstrādes stadijā. Kā pētījuma priekšskatījumam pašlaik tam trūkst tādu funkciju kā attēlu Ievade priekšējā daļā un spējas koriģēt aģentu, kamēr tas darbojas. Turklāt, deleģējot uzdevumus attālajam aģentam, tas aizņem vairāk laika nekā interaktīvā rediģēšana, pie kuras var būt nepieciešams pierast. Laika gaitā mijiedarbība ar Codex aģentiem arvien vairāk līdzināsies asinhronai sadarbībai ar kolēģiem. Attīstoties modeļa iespējām, mēs paredzam, ka aģenti veiks sarežģītākus uzdevumus ilgākā laika posmā.

Kas būs tālāk?

Mēs iedomājamies nākotni, kurā izstrādātāji virza darbu, ko viņi vēlas paturēt, un pārējo deleģē aģentiem — virzoties ātrāk un kļūstot produktīvākiem ar mākslīgo intelektu. Lai to panāktu, mēs veidojam Codex rīku komplektu, kas atbalsta gan sadarbību reāllaikā, gan asinhrono deleģēšanu. 

MI rīku, piemēram, Codex CLI un citu, izmantošana ir ātri kļuvusi par nozares standartu, palīdzot izstrādātājiem ātrāk kodēt. Bet mēs uzskatām, ka asinhronā, vairāku aģentu darbplūsma, ko Codex ieviesa ChatGPT, kļūs par de facto veidu, kā inženieri izstrādā augstas kvalitātes kodu.

Galu galā mēs redzam, ka šie divi mijiedarbības veidi — reāllaika savienošana pārī un uzdevumu deleģēšana — saplūst. Izstrādātāji sadarbosies ar AI aģentiem savos IDE un ikdienas rīkos, lai uzdotu jautājumus, saņemtu ieteikumus un deleģētu garākus uzdevumus vienotā darbplūsmā.

Skatoties nākotnē, mēs plānojam ieviest interaktīvākas un elastīgākas aģentu darbplūsmas. Izstrādātāji drīz varēs sniegt norādījumus uzdevuma vidū, sadarboties pie ieviešanas stratēģijām un saņemt proaktīvus progresa atjauninājumus. Mēs arī paredzam dziļāku integrāciju starp jau izmantotajiem rīkiem: šodien Codex savienojas ar GitHub, un drīz tu varēsi piešķirt uzdevumus no Codex CLI, ChatGPT Desktop vai pat tādiem rīkiem kā problēmu izsekotājs vai CI sistēma.

Programmatūras inženierija ir viena no pirmajām nozarēm, kas novēro ievērojamu mākslīgā intelekta vadītu produktivitātes pieaugumu, paverot jaunas iespējas gan indivīdiem, gan mazām komandām. Lai gan mēs esam optimistiski par šiem ieguvumiem, mēs arī sadarbojamies ar partneriem, lai labāk izprastu plašas aģentu ieviešanas ietekmi uz izstrādātāju darbplūsmām, prasmju attīstību dažādos cilvēkos, prasmju līmeņos un ģeogrāfiskajos reģionos. 

Šis ir tikai sākums, un mēs ar nepacietību gaidām, ko tu radīsi ar Codex.

Tiešraides atkārtojums

Pielikums

Sistēmas ziņojums

Mēs dalāmies ar codex-1 sistēmas ziņojumu, lai palīdzētu izstrādātājiem izprast modeļa noklusējuma darbību un pielāgot Codex efektīvai darbībai pielāgotās darbplūsmās. Piemēram, codex-1 sistēmas ziņojums mudina Codex izpildīt visus AGENTS.md failā minētos testus, bet, ja tev trūkst laika, vari lūgt Codex izlaist šos testus.

Vienkāršs teksts

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.

Autors

OpenAI