Пређите на главни садржај
OpenAI

Представљамо Codex

Agent за софтверско инжењерство у облаку који може паралелно да ради на многим задацима, покретан моделом 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 може да обавља задатке за вас као што су писање функција, одговарање на питања о вашој кодној бази, исправљање грешака и предлагање захтева за преглед измена; сваки задатак се извршава у сопственом cloud sandbox окружењу, унапред учитаном вашим депоом.

Codex покреће codex-1, верзија модела OpenAI o3 оптимизована за софтверско инжењерство. Обучен је помоћу подстицајног учења на стварним задацима кодирања у различитим окружењима како би генерисао код који верно одражава људски стил и PR преференције, прецизно се придржава инструкција и може итеративно да покреће тестове док не добије пролазан резултат. Данас почињемо да уводимо Codex за кориснике ChatGPT Pro, Enterprise и Business, а подршка за Plus и Edu стиже ускоро.

Како Codex ради

Од данас можете приступити Codex-у преко бочне траке у ChatGPT‑у и доделити му нове задатке кодирања тако што ћете унети инструкцију и кликнути на „Code“. Ако желите да поставите Codex-у питање о својој кодној бази, кликните на „Ask“. Сваки задатак се обрађује независно у засебном, изолованом окружењу у које је унапред учитана ваша кодна база. Codex може да чита и уређује датотеке, као и да покреће команде, укључујући тест harness-е, linter-е и провераваче типова. Завршетак задатка обично траје између 1 и 30 минута, у зависности од сложености, а напредак Codex-а можете пратити у реалном времену.

Када Codex заврши задатак, он чува своје измене у свом окружењу. Codex пружа проверљиве доказе својих радњи кроз цитате из терминалских евиденција и излаза тестова, што вам омогућава да испратите сваки корак током извршавања задатка. Затим можете да прегледате резултате, затражите додатне ревизије, отворите GitHub захтев за преглед измена или директно интегришете измене у своје локално окружење. У производу можете да подесите Codex окружење тако да што верније одговара вашем стварном развојном окружењу.

Codex се може усмеравати помоћу AGENTS.md датотека смештених унутар вашег депоа. То су текстуалне датотеке, сличне README.md-у, у којима можете да обавестите Codex како да се креће кроз вашу кодну базу, које команде да покрене за тестирање и како да се најбоље придржава стандардних пракси вашег пројекта. Као и људски програмери, Codex агенти раде најбоље када им се обезбеде подешена развојна окружења, поуздана тестна подешавања и јасна документација. 

На евалуацијама кодирања и интерним реперима, codex-1 показује добре перформансе чак и без AGENTS.md датотека или прилагођеног scaffolding-а.

23 SWE-Bench Verified узорка која није било могуће покренути на нашој интерној инфраструктури су искључена. codex-1 је тестиран са максималном дужином контекста од 192k токена и средњим „напором резоновања“, што је подешавање које ће данас бити доступно у производу. За детаље о o3 евалуацијама, погледајте овде.

Наш интерни репер за SWE задатке је курирани скуп стварних интерних SWE задатака у OpenAI-ју.

Изградња безбедних и поузданих агената

Објављујемо Codex као истраживачки преглед, у складу са нашом стратегијом итеративног увођења. При дизајнирању Codex-а дали смо приоритет безбедности и транспарентности како би корисници могли да провере његове излазе — заштитну меру која постаје све важнија како AI модели самостално обављају сложеније задатке кодирања и како се безбедносна разматрања развијају. Корисници могу да провере рад 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

Спречавање злоупотребе

Заштита од злонамерних примена софтверског инжењерства вођеног AI-јем, као што је развој malware-а, постаје све критичнија. Истовремено, важно је да заштитне мере не отежавају неоправдано легитимне и корисне примене које могу укључивати технике које се понекад користе и за развој malware-а, као што је нисконивоовско инжењерство кернела.

Да бисмо избалансирали безбедност и корисност, 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, лагани agent отвореног кода који ради у вашем терминалу. Он доноси моћ модела као што су o3 и o4-mini у ваш локални ток рада, па је лако удружити се с њима да бисте брже завршили задатке. 

Данас такође објављујемо мању верзију модела codex-1, варијанту o4-mini посебно дизајнирану за употребу у Codex CLI-ју. Овај нови модел подржава брже токове рада у CLI-ју и оптимизован је за Q&A о коду и уређивање са малом латенцијом, уз задржавање истих предности у праћењу инструкција и стилу. Доступан је одмах као подразумевани модел у Codex CLI-ју и у API-ју као codex-mini-latest. Основни snapshot ће се редовно ажурирати док настављамо да унапређујемо модел 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 USD по 1M улазних токена и 6 USD по 1M излазних токена, уз попуст од 75% за кеширање инструкција.

Codex је још увек у раној фази развоја. Као истраживачки преглед, тренутно му недостају функције као што су улази у виду слика за frontend рад и могућност да се агент коригује док ради. Поред тога, делегирање удаљеном агенту траје дуже од интерактивног уређивања, на шта је потребно мало времена да се човек навикне. Временом ће интеракција са Codex агентима све више личити на асинхрону сарадњу са колегама. Како могућности модела напредују, очекујемо да ће агенти обрађивати сложеније задатке током дужих временских периода.

Шта следи

Замишљамо будућност у којој програмери воде посао који желе да задрже у свом домену, а остало делегирају агентима — крећући се брже и будући продуктивнији уз AI. Да бисмо то постигли, градимо пакет Codex алата који подржава и сарадњу у реалном времену и асинхроно делегирање. 

Удруживање са AI алатима као што је Codex CLI и другима брзо је постало индустријска норма, помажући програмерима да се крећу брже док кодирају. Али верујемо да ће асинхрони ток рада са више агената који Codex уводи у ChatGPT постати de facto начин на који инжењери производе висококвалитетан код.

На крају, видимо да се ова два начина интеракције — удруживање у реалном времену и делегирање задатака — спајају. Програмери ће сарађивати са AI агентима кроз своје IDE-ове и свакодневне алате како би постављали питања, добијали предлоге и препуштали дуже задатке, све у јединственом току рада.

Гледајући унапред, планирамо да уведемо интерактивније и флексибилније токове рада агената. Програмери ће ускоро моћи да дају смернице усред задатка, сарађују на стратегијама имплементације и добијају проактивна ажурирања напретка. Такође замишљамо дубље интеграције кроз алате које већ користите: данас се Codex повезује са GitHub-ом, а ускоро ћете моћи да додељујете задатке из Codex CLI-ја, ChatGPT Desktop-а или чак из алата као што су ваш issue tracker или CI систем.

Софтверско инжењерство је једна од првих индустрија која доживљава значајне добитке у продуктивности вођене AI-јем, отварајући нове могућности за појединце и мале тимове. Иако смо оптимистични у погледу ових добитака, такође сарађујемо са партнерима како бисмо боље разумели импликације широког усвајања агената на токове рада програмера, развој вештина међу људима, различите нивое вештина и географије. 

Ово је тек почетак — и узбуђени смо да видимо шта ћете изградити уз 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