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

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

Како функционира Codex

Денес можеш да пристапиш до Codex преку страничната лента во ChatGPT и да му доделиш нови задачи за кодирање со внесување промпт и кликнување на „Код“. Ако сакаш да му поставиш прашање на Codex за твојата база на кодови, кликни на „Прашај“. Секоја задача се обработува независно во посебна, изолирана средина претходно вчитана со твојата кодна база. Codex може да чита и уредува датотеки, како и да извршува команди, вклучувајќи тест хернеси, линтери и проверувачи на типови. Завршувањето на задачата обично трае помеѓу 1 и 30 минути, во зависност од сложеноста, и можеш да го следиш напредокот на Codex во реално време.

Откако Codex ќе заврши задача, ги зачувува промените во својата околина. Codex обезбедува проверливи докази за своите дејства преку цитати од логови на терминали и резултати од тестови, овозможувајќи ти да го следиш секој чекор преземен за време на завршувањето на задачата. Потоа можеш да ги прегледаш резултатите, да побараш понатамошни ревизии, да отвориш GitHub pull request или директно да ги интегрираш промените во твојата локална средина. Во производот, можеш да ја конфигурираш околината на Codex за да одговара што е можно поблиску на твојата вистинска развојна околина.

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

На проценките за кодирање и внатрешните одредници codex-1 покажува силни перформанси дури и без AGENTS.md датотеки или сопствено скеле.

23 потврдени примероци од SWE-Bench Verified кои не можеа да се извршат на твојата внатрешна инфраструктура беа исклучени. codex-1 беше тестиран со максимална должина на контекст од 192k tokenи и среден „напор за расудување“, што е поставката што ќе биде достапна во производот денес. За детали за евалуации на 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 со тоа што ја оценува за случаи на употреба во реалниот свет низ нивното портфолио на производи и обезбедува повратни информации до Team на 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 token, сега можеш да се најавиш со твојата 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 за 1M токени за внесување и $6 за 1M токени за резултат, со 75% попуст за кеширање на промпт.

Codex сè уште е во рана фаза на развој. Како истражувачки прегледај, моментално му недостасуваат карактеристики како внесувања на слики за работа со фронтенд и можност за корекција на агентот додека работи. Дополнително, делегирањето на далечински агент трае подолго од интерактивното уредување, на што може да се навикнеш. Со текот на времето, интеракцијата со агентите на Codex сè повеќе ќе наликува на асинхрона соработка со колеги. Како што напредуваат можностите на моделите, очекуваме агентите да се справуваат со посложени задачи во подолги временски периоди.

Што е следно

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

Спарувањето со алатки за вештачка интелигенција како Codex CLI и други брзо стана индустриска норма, помагајќи им на развивачите на софтвер да кодираат побрзо. Но, веруваме дека асинхрониот, мултиагентски работен процес воведен од Codex во ChatGPT ќе стане де факто начин на кој инженерите произведуваат висококвалитетен код.

На крајот, гледаме како овие два начина на интеракција - спарување во реално време и делегирање на задачи - се спојуваат. Развивачи на софтвер ќе соработуваат со AI агенти преку нивните IDE и секојдневни алатки за да поставуваат прашања, добиваат предлози и префрлаат подолги задачи, сето тоа во унифициран работен тек.

Гледајќи напред, планираме да воведеме поинтерактивни и флексибилни работни текови за агентите. Развивачи на софтвер наскоро ќе можат да даваат насоки среде задача, да соработуваат на стратегии за имплементација и да добиваат проактивни ажурирања за напредокот. Исто така, замислуваме подлабоки интеграции со алатките што веќе ги користиш: денес Codex се поврзува со GitHub, и наскоро ќе можеш да доделуваш задачи од Codex CLI, ChatGPT Desktop, па дури и алатки како твојот issue tracker или 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