Preskočite na glavno vsebino
OpenAI

16. maj 2025

IzdajaIzdelek

Predstavljamo Codex

Agent za inženiring programske opreme v oblaku, ki lahko vzporedno opravlja več nalog in ga poganja Codex-1. Danes je na voljo uporabnikom ChatGPT Pro, Business in Enterprise, kmalu pa tudi uporabnikom 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.
Nalaganje …

Posodobitev 3. junija 2025: Codex je zdaj na voljo uporabnikom ChatGPT Plus. Prav tako uporabnikom omogočamo, da Codexu med izvajanjem nalog omogočijo dostop do interneta. Za več podrobnosti si oglejte dnevnik sprememb(odpre se v novem oknu) in dokumentacijo(odpre se v novem oknu).


Danes predstavljamo raziskovalni predogled Codexa: agenta za programsko inženirstvo v oblaku, ki lahko hkrati opravlja več nalog. Codex lahko opravlja naloge za vas, kot so pisanje funkcij, odgovarjanje na vprašanja o vaši kodi, odpravljanje napak in predlaganje zahtev za pridobivanje za pregled; vsaka naloga teče v svojem oblačnem peskovniku, prednaloženem z vašim repozitorijem.

Codex poganja codex-1, različica OpenAI o3, optimizirana za programsko inženirstvo. Usposobljen je bil z uporabo okrepljenega učenja na resničnih nalogah kodiranja v različnih okoljih za ustvarjanje kode, ki tesno posnema človeški slog in PR preference, natančno sledi navodilom in lahko iterativno izvaja teste, dokler ne doseže uspešnega rezultata. Danes začenjamo uvajati Codex za uporabnike ChatGPT Pro, Enterprise in Business, kmalu pa bomo podpirali tudi Plus in Edu.

Kako deluje Codex

Danes lahko do Codexa dostopate prek stranske vrstice v ChatGPT in mu dodelite nove programerske naloge tako, da vnesete poziv in kliknete »Code«. Če želite Codexu zastaviti vprašanje o svoji zbirki kode, kliknite »Vprašaj«. Vsaka naloga se obdela neodvisno v ločenem, izoliranem okolju, v katerega je predhodno naložena vaša zbirka kode. Codex lahko bere in ureja datoteke ter izvaja ukaze, vključno s testnimi ogrodji, čistilnimi orodji (linterji) in preverjevalniki tipov. Dokončanje naloge običajno traja od 1 do 30 minut, odvisno od zahtevnosti, napredek Codexa pa lahko spremljate v realnem času.

Ko Codex zaključi nalogo, potrdi svoje spremembe v svojem okolju. Codex zagotavlja preverljive dokaze o svojih dejanjih s citati terminalskih dnevnikov in rezultatov testov, kar vam omogoča sledenje vsakemu koraku med dokončanjem naloge. Nato lahko pregledate rezultate, zahtevate nadaljnje popravke, odprete zahtevo za pridobivanje GitHub ali neposredno integrirate spremembe v svoje lokalno okolje. V izdelku lahko konfigurirate okolje Codex tako, da se čim bolj ujema z vašim dejanskim razvojnim okoljem.

Codex lahko vodijo datoteke AGENTS.md, ki so nameščene v vašem repozitoriju. To so besedilne datoteke, podobne README.md, kjer lahko Codex obvestite, kako naj se orientira po vaši kodi, katere ukaze naj izvede za testiranje in kako najbolje slediti standardnim praksam vašega projekta. Tako kot človeški razvijalci tudi agenti Codex najbolje delujejo, ko imajo na voljo konfigurirana razvojna okolja, zanesljive testne nastavitve in jasno dokumentacijo. 

Pri ocenjevanju kodiranja in notranjih merilih uspešnosti, codex-1 kaže močno zmogljivost tudi brez datotek AGENTS.md ali prilagojenih ogrodij.

23 preverjenih vzorcev SWE-Bench, ki niso bili izvedljivi na naši notranji infrastrukturi, je bilo izključenih. Codex-1 je bil testiran z največjo dolžino sobesedila 192.000 tokenov in srednjim 'naporom za razmišljanje', kar je nastavitev, ki bo danes na voljo v produktu. Za več podrobnosti o ocenah o3 si oglejte tukaj.

Naš interni referenčni test za SWE je skrbno izbran nabor resničnih internih nalog SWE pri OpenAI.

Izdelava varnih in zaupanja vrednih agentov

Codex izdajamo kot raziskovalni predogled, v skladu z našo iterativno strategijo uvajanja. Pri načrtovanju Codexa smo dali prednost varnosti in preglednosti, da lahko uporabniki preverijo njegove rezultate – zaščitni ukrep, ki postaja vse pomembnejši, saj modeli umetne inteligence samostojno obravnavajo bolj kompleksne naloge kodiranja in se varnostni vidiki razvijajo. Uporabniki lahko preverijo delo Codexa s pomočjo navedkov, dnevnikov terminala in rezultatov testov. Kadar so negotovi ali se soočajo z neuspehi testov, agent Codex eksplicitno sporoči te težave, kar uporabnikom omogoča sprejemanje informiranih odločitev o nadaljnjih korakih. Še vedno ostaja bistveno, da uporabniki ročno pregledajo in preverijo vso kodo, ki jo ustvarijo agenti, pred integracijo in izvedbo.

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.

Usklajevanje s človeškimi preferencami

Primarni cilj med usposabljanjem codex-1 je bil, da bi rezultate tesno povezali s človeškimi preferencami in standardi kodiranja. V primerjavi z OpenAI o3 codex-1 dosledno proizvaja čistejše popravke, pripravljene za takojšnji človeški pregled in vključitev v standardne delovne procese.

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

Preprečevanje zlorab

Varovanje pred zlonamernimi aplikacijami programskega inženirstva, ki ga poganja umetna inteligenca, kot je razvoj zlonamerne programske opreme, postaja vse bolj ključno. Hkrati je pomembno, da zaščitni ukrepi ne ovirajo neupravičeno legitimnih in koristnih aplikacij, ki lahko vključujejo tehnike, ki se včasih uporabljajo tudi za razvoj zlonamerne programske opreme, kot je nizkonivojska tehnologija jedra.

Da bi uravnotežili varnost in uporabnost, je bil Codex usposobljen za prepoznavanje in natančno zavračanje zahtev, namenjenih razvoju zlonamerne programske opreme, hkrati pa za jasno prepoznavanje in podpiranje legitimnih nalog. Prav tako smo izboljšali naše okvire politik in vključili stroge varnostne ocene, da bi te omejitve učinkovito okrepili. Objavili smo dodatek k sistemski kartici o3 za razlago teh ocen.

Varno izvajanje

Agent Codex deluje povsem znotraj varnega, izoliranega vsebnika v oblaku. Med izvajanjem naloge je dostop do interneta onemogočen, kar omejuje interakcijo agenta izključno na kodo, ki jo eksplicitno zagotavljajo repozitoriji GitHub in vnaprej nameščene odvisnosti, ki jih uporabnik nastavi s skripto za namestitev. Agent ne more dostopati do zunanjih spletnih strani, API-jev ali drugih storitev.

Zgodnji primeri uporabe

Tehnične ekipe pri OpenAI so začele uporabljati Codex kot del svojega vsakodnevnega nabora orodij. Najpogosteje ga uporabljajo inženirji OpenAI za razbremenitev ponavljajočih se, dobro opredeljenih nalog, kot so refaktoriranje, preimenovanje in pisanje testov, ki bi sicer zmotili osredotočenost. Enako je uporaben za pripravo novih funkcij, povezovanje komponent, odpravljanje napak in pripravo dokumentacije. Ekipe si okoli tega gradijo nove navade: razvrščanje težav med dežurstvom, načrtovanje nalog na začetku dneva in prenos dela v ozadju, da bi lahko nadaljevali z delom. Z zmanjšanjem menjavanja konteksta in prikazovanjem pozabljenih opravil Codex inženirjem pomaga hitreje dostaviti rezultate in se osredotočiti na tisto, kar je najpomembnejše.

V času pred izdajo smo sodelovali tudi z majhno skupino zunanjih preizkuševalcev, da bi bolje razumeli, kako Codex deluje v različnih kodnih bazah, razvojnih procesih in ekipah.

  • Cisco(odpre se v novem oknu) raziskuje, kako lahko Codex pomaga njihovim inženirskim ekipam hitreje uresničiti ambiciozne ideje. Kot zgodnji oblikovalski partner Cisco pomaga oblikovati prihodnost Codexa z ocenjevanjem za resnične primere uporabe v svojem portfelju izdelkov in posredovanjem povratnih informacij ekipi OpenAI Team.
  • Temporal(odpre se v novem oknu) uporablja Codex za pospešitev razvoja funkcij, poišče in odpravi napake, pisanje in izvajanje testov ter preoblikovanje velikih zbirk kode. Prav tako jim pomaga ohranjati osredotočenost, saj v ozadju izvaja kompleksne naloge – inženirjem omogoča, da ostanejo v ustvarjalnem toku, hkrati pa pospešuje iteracije.
  • Superhuman(odpre se v novem oknu) uporablja Codex za pospešitev majhnih, a ponavljajočih se nalog, kot sta izboljšanje pokritosti s testi in odpravljanje napak v integraciji. Prav tako jim pomaga pri hitrejšem izdajanju, saj omogoča vodjem produktov, da prispevajo manjše spremembe kode brez vključevanja inženirja, razen za pregled kode.
  • Kodiak(odpre se v novem oknu) uporablja Codex za pomoč pri pisanju orodij za odpravljanje napak, izboljšanje pokritosti testov in refaktoriranje kode—s čimer pospešuje razvoj Kodiak Driver, njihove tehnologije za avtonomno vožnjo. Codex je postal tudi dragoceno referenčno orodje, ki inženirjem pomaga razumeti neznane dele sklada, tako da prikaže ustrezen kontekst in pretekle spremembe.

Na podlagi izkušenj zgodnjih preizkuševalcev priporočamo, da dobro opredeljene naloge dodelite več agentom hkrati in eksperimentirate z različnimi vrstami nalog in pozivov, da učinkovito raziščete zmogljivosti modela.

Posodobitve za Codex CLI

Prejšnji mesec smo lansirali Codex CLI, lahek odprtokodni programski agent, ki deluje v vašem terminalu. V vaš lokalni delovni tok vnaša moč modelov, kot sta o3 in o4-mini, kar omogoča enostavno povezovanje z njima za hitrejše opravljanje nalog. 

Danes izdajamo tudi manjšo različico codex-1, različico o4-mini, zasnovano posebej za uporabo v Codex CLI. Ta novi model podpira hitrejše delovne tokove v CLI in je optimiziran za vprašanja in odgovore ter urejanje kode z nizko zakasnitvijo, hkrati pa ohranja enake prednosti pri sledenju navodilom in slogu. Zdaj je na voljo kot privzeti model v Codex CLI in v API-ju kot codex-mini-latest. Osnovni posnetek bo redno posodobljen, ko bomo nadaljevali z izboljševanjem modela Codex-mini.

Prav tako vam precej olajšujemo povezavo vašega računa razvijalca z vmesnikom Codex CLI. Namesto ročnega ustvarjanja in konfiguriranja žetona API se lahko zdaj vpišete s svojim računom ChatGPT in izberete organizacijo API, ki jo želite uporabljati. Ključ API bomo samodejno ustvarili in konfigurirali za vas. Uporabniki Plus in Pro, ki se vpišejo v Codex CLI z aplikacijo ChatGPT, lahko že danes začnejo unovčevati 5 oziroma 50 dolarjev brezplačnih kreditov API za naslednjih 30 dni.

Razpoložljivost, cenik in omejitve Codexa

Od danes naprej uvajamo Codex za uporabnike ChatGPT Pro, Enterprise in Business po vsem svetu, Plus in Edu pa bomo kmalu podpirali. Uporabniki bodo imeli v prihodnjih tednih velikodušen dostop brez dodatnih stroškov, da boste lahko raziskali, kaj Codex omogoča, nato pa bomo uvedli omejen dostop in prilagodljive možnosti cen, ki vam bodo omogočile nakup dodatne uporabe na zahtevo. Kmalu nameravamo razširiti dostop za uporabnike Plus in Edu.

Za razvijalce, ki gradijo z različico codex-mini-latest, je model na voljo v Responses API in je cena 1,50 $ na 1M vnosnih žetonov in 6 $ na 1M izhodnih žetonov, s 75 % popustom na predpomnjenje pozivov.

Codex je še vedno v zgodnji fazi razvoja. Kot raziskovalni predogled trenutno nima funkcij, kot so vnos slik za delo na ospredju in možnost popravljanja smeri agenta med njegovim delom. Poleg tega delegiranje oddaljenemu agentu traja dlje kot interaktivno urejanje, na kar se je morda treba navaditi. Sčasoma bo interakcija z agenti Codex vse bolj podobna asinhronemu sodelovanju s kolegi. Z napredovanjem zmogljivosti modela pričakujemo, da bodo agenti obravnavali bolj kompleksne naloge skozi daljša obdobja.

Kaj naprej

Predstavljamo si prihodnost, v kateri razvijalci usmerjajo delo, ki ga želijo obdržati v svoji lasti, preostanek pa prenesejo na agente – s čimer bodo z umetno inteligenco hitreje napredovali in postali bolj produktivni. Da bi to dosegli, gradimo nabor orodij Codex, ki podpirajo tako sodelovanje v realnem času kot asinhrono delegiranje. 

Povezovanje z AI orodji, kot so Codex CLI in drugi, je hitro postalo industrijski standard, kar razvijalcem pomaga pri hitrejšem programiranju. Vendar verjamemo, da bo asinhroni, večagentni potek dela, ki ga je Codex uvedel v ChatGPT, postal privzeti način, s katerim bodo inženirji ustvarjali visokokakovostno kodo.

Navsezadnje vidimo, da se ta dva načina interakcije – sodelovanje v realnem času in delegiranje nalog – združujeta. Razvijalci bodo sodelovali z agenti umetne inteligence v svojih IDE-jih in vsakodnevnih orodjih s postavljanjem vprašanj, prejemanjem predlogov in prenašanjem daljših nalog, vse v enotnem delovnem toku.

V prihodnosti načrtujemo uvedbo bolj interaktivnih in prilagodljivih delovnih tokov agentov. Razvijalci bodo kmalu lahko nudili usmeritve med potekom naloge, sodelovali pri strategijah implementacije in prejemali proaktivne posodobitve o napredku. Prav tako si predstavljamo globlje integracije med orodji, ki jih že uporabljate: danes se Codex povezuje z GitHubom, kmalu pa boste lahko dodeljevali naloge iz Codex CLI, ChatGPT Desktop ali celo orodij, kot so vaš sledilnik težav ali CI sistem.

Programsko inženirstvo je ena prvih panog, ki doživlja znatne pridobitve produktivnosti, ki jih poganja umetna inteligenca, kar odpira nove možnosti za posameznike in majhne ekipe. Čeprav smo glede teh dosežkov optimistični, sodelujemo tudi s partnerji, da bi bolje razumeli posledice široke uporabe agentov na delovne procese razvijalcev, razvoj spretnosti med ljudmi, ravnmi znanja in geografskimi lokacijami. 

To je šele začetek – navdušeni smo in komaj čakamo, kaj boste ustvarili s Codexom.

Ponovitev prenosa v živo

Priloga

Sistemsko sporočilo

Delimo sistemsko sporočilo codex-1, da bi razvijalcem pomagali razumeti privzeto delovanje modela in prilagoditi Codex za učinkovito delovanje v prilagojenih delovnih tokovih. Na primer, sistemsko sporočilo codex-1 spodbuja Codex, da izvede vse teste, omenjene v datoteki AGENTS.md, če pa vam primanjkuje časa, lahko Codex prosite, naj te teste preskoči.

Navadno besedilo

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.

Avtor

OpenAI