Przejdź do treści głównej
OpenAI

16 maja 2025

WersjaProdukt

Przedstawiamy agenta Codex

Oparty na chmurze agent inżynierii oprogramowania, który może jednocześnie pracować nad wieloma zadaniami – rozwiązanie korzystające z modelu codex-1. Już dzisiaj dostępny dla użytkowników korzystających z planów ChatGPT Pro, Team i Enterprise – wkrótce również dla użytkowników planu Plus.

Panel z pytaniem „Co chcesz dzisiaj stworzyć, programując?” z polem poleceń, przyciskami wyboru repozytorium/gałęzi oraz listą zadań na pastelowym tle z motywem kodu.
Ładowanie…

Aktualizacja, 3 maja 2025 r.: Agent Codex jest teraz dostępny dla użytkowników korzystających z ChatGPT Plus. Umożliwiamy również użytkownikom zapewnienie agentowi Codex dostępu do Internetu podczas wykonywania zadań. Więcej informacji zawiera dziennik zmian(otwiera nowe okno) i dokumentacja(otwiera nowe okno).


Dzisiaj udostępniamy wersję podglądową Codex: opartego na chmurze agenta inżynierii oprogramowania, który może jednocześnie pracować nad wieloma zadaniami. Codex jest w stanie wykonywać dla Ciebie takie zadania, jak tworzenie funkcji, odpowiadanie na pytania na temat bazy kodu, naprawianie błędów i proponowanie żądań typu pull request do przeglądu; każde z zadań jest realizowane w środowisku własnej piaskownicy, wczytywanej wraz z repozytorium.

Codex wykorzystuje model codex-1 – wersję OpenAI o3 zoptymalizowaną pod kątem inżynierii oprogramowania. Model był trenowany z wykorzystaniem uczenia przez wzmacnianie na rzeczywistych zadaniach wymagających kodowania w różnorodnych środowiskach, w kierunku generowania kodu jak najbliżej odpowiadającego ludzkiemu stylowi i preferencjom PR, dokładnego wykonywania instrukcji oraz iteracyjnego testowania kodu do momentu uzyskania zadowalającego wyniku. Zaczynamy udostępnianie agenta Codex użytkownikom korzystającym z planu ChatGPT Pro, Enterprise i Team, a wkrótce również z planów Plus i Edu.

Jak działa Codex

Możesz już uzyskać dostęp do narzędzia Codex z poziomu paska bocznego ChatGPT i przypisywać mu zadania związane z kodowaniem, wpisując polecenie i klikając „Koduj”. Jeżeli chcesz zadać agentowi Codex pytanie na temat swojej bazy kodu, kliknij „Zapytaj”. Każde zadanie jest przetwarzane niezależnie w oddzielnym, izolowanym środowisku wczytywanym wraz z Twoją bazą kodu. Codex potrafi odczytywać i edytować pliki, a także uruchamiać polecenia, w tym środowiska testowe, lintery i narzędzia do sprawdzania typów. Wykonanie zadania zajmuje zazwyczaj od 1 do 30 minut, zależnie od stopnia trudności, a użytkownik ma możliwość monitorowania postępów agenta Codex w czasie rzeczywistym.

Po ukończeniu zadania Codex zatwierdza swoje zmiany w swoim środowisku. Codex przedstawia łatwą do weryfikacji dokumentację swoich działań w formie cytowań z dzienników terminala i wyników testów, umożliwiając prześledzenie krok po kroku działań podejmowanych w procesie realizacji zadania. Możesz przeanalizować wyniki, zlecić dodatkową weryfikację, utworzyć żądanie typu pull request na GitHub lub bezpośrednio zintegrować zmiany w swoim środowisku lokalnym. Na poziomie produktu możesz skonfigurować środowisko Codex w taki sposób, aby w maksymalnym stopniu odpowiadało Twojemu rzeczywistemu środowisku programistycznemu.

Działanie Codex może być ukierunkowywane z użyciem plików AGENTS.md umieszczanych w repozytorium. Są to pliki tekstowe podobne do README.md, które wskazują narzędziu Codex, jak poruszać się w ramach Twojej bazy kodu, które polecenia uruchamiać w czasie testów i jak zapewnić najlepszą zgodność z Twoimi standardowymi praktykami projektowymi. Podobnie jak w przypadku ludzkich programistów agent Codex osiąga najlepsze wyniki, pracując w odpowiednio skonfigurowanych środowiskach, z niezawodnymi systemami testowania i jasną dokumentacją. 

W ocenach jakości programowania i naszych wewnętrznych testach porównawczych model codex-1 osiąga wysokie wyniki nawet bez plików AGENTS.md czy dedykowanych struktur.

Próbki zweryfikowane w 23 SWE-Bench, niemożliwe do uruchomienia w ramach naszej struktury wewnętrznej, zostały wyłączone. codex-1 był testowany przy maksymalnej długości kontekstu wynoszącej 192 tys. tokenów oraz średnim „wysiłku związanym z rozumowaniem”, tj. ustawieniu, które jest obecnie dostępne w naszym produkcie. Więcej szczegółów ocen o3 znajdziesz tutaj.

Nasz wewnętrzny benchmark dla zadań SWE obejmuje starannie dobrany zestaw rzeczywistych, wewnętrznych zadań SWE związanych z OpenAI.

Tworzenie bezpiecznych i niezawodnych agentów

Narzędzie Codex jest obecnie udostępniane jako badawcza wersja poglądowa, zgodnie z przyjętą przez nas iteracyjną strategią wdrożeniową. W pracach nad Codex naszym najwyższym priorytetem było zapewnienie bezpieczeństwa i transparentności, aby użytkownicy mogli weryfikować dane wyjściowe generowane przez model. Jest to ważne zabezpieczenie, szczególnie w kontekście coraz większej złożoności zadań wykonywanych niezależnie przez modele AI, co prowadzi do nasilających się obaw związanych z bezpieczeństwem. Użytkownicy mogą sprawdzać pracę Codex na podstawie cytowań, dzienników terminala i wyników testów. W przypadku wątpliwości lub niemożliwości zaliczenia testu agent Codex jednoznacznie informuje użytkownika o tych problemach, umożliwiając mu podjęcie świadomej decyzji na temat kolejnych kroków. Manualne sprawdzanie i weryfikacja każdego kodu wygenerowanego przez agenta przed jego integracją i uruchomieniem ma nadal kluczowe znaczenie.

Zrzut z ekranu z nakładką pliku testowego potwierdzającą cytowane nazwy plików oraz podsumowaniem i wynikiem testów na niebieskim tle.
Zrzut z ekranu z czarną nakładką terminala ukazującą test cytowanych nazw plików; podsumowanie i zestawienie zmian w kodzie dla zmiany „Błąd rozwiązania / zestawienia zmian w kodzie ze znakami specjalnymi” widoczne na niebieskim, pastelowym tle.

Zgodność z ludzkimi preferencjami

Podstawowym celem w czasie treningu codex-1 było zapewnienie maksymalnej zgodności z ludzkimi preferencjami i normami w zakresie kodowania. W porównaniu do modelu OpenAI o3 codex-1 niezmiennie generuje przejrzystsze poprawki gotowe do natychmiastowej weryfikacji przez człowieka i integracji w standardowych przepływach pracy.

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

Zapobieganie nadużyciom

Odpowiednie zabezpieczenie przed złośliwym wykorzystaniem opartych na AI narzędzi do inżynierii programowej, np. do tworzenia złośliwego oprogramowania, nabiera coraz większego znaczenia. Jednocześnie jednak ważne jest, aby tego rodzaju zabezpieczenia nie utrudniały nadmiernie w pełni uzasadnionych i korzystnych zastosowań, które mogą niekiedy wykorzystywać techniki używane również przy tworzeniu złośliwego oprogramowania, takie jak inżynieria na poziomie jądra systemu.

W poszukiwaniu równowagi pomiędzy bezpieczeństwem a użytecznością Codex był trenowany w rozpoznawaniu i odmowie wykonania poleceń nakierowanych na tworzenie złośliwego oprogramowania, a jednocześnie odróżnianiu i wykonywaniu dozwolonych zadań. Rozszerzyliśmy również zapisy naszego regulaminu i wdrożyliśmy rygorystyczne oceny bezpieczeństwa w celu skutecznego egzekwowania wprowadzonych tam ograniczeń. Opublikowaliśmy uzupełnienie Karty systemowej o3 z informacjami na temat tych ocen.

Bezpieczne wykonanie

Agent Codex działa wyłącznie w ramach bezpiecznej, odizolowanej przestrzeni w chmurze. W czasie wykonywania zadania wyłączany jest dostęp do Internetu, co ogranicza interakcje agenta wyłącznie do kodu dostarczonego za pośrednictwem repozytoriów GitHub oraz preinstalowanych zależności skonfigurowanych przez użytkownika z poziomu skryptu ustawień. Agent nie ma dostępu do zewnętrznych stron internetowych, interfejsu API ani innych usług.

Przykłady wczesnego użycia

Zespoły techniczne OpenAI zaczęły wykorzystywać Codex jako element używanego na co dzień zestawu narzędzi. Najczęściej wykorzystywany jest przez inżynierów OpenAI do wykonywania powtarzalnych, dobrze zdefiniowanych zadań, takich jak refaktoryzacja, zmiana nazw czy pisanie testów, czyli czynności odciągających ich od ważniejszych zadań. Narzędzie jest równie przydatne w kontekście tworzenia ram nowych funkcji, pisania elementów, naprawiania błędów i przygotowywania wersji roboczych dokumentów. Zespoły wypracowują obecnie nowe schematy działania z użyciem narzędzia, obejmujące ocenianie priorytetu napływających problemów, planowanie zadań na cały dzień i zlecenie zadań w tle agentowi. Redukując liczbę zakłócających kontekst i zapomnianych punktów na liście kontrolnej, Codex pomaga inżynierom w zwiększeniu wydajności pracy i osiągnięciu lepszej koncentracji na najważniejszych zadaniach.

W okresie poprzedzającym premierę współpracowaliśmy również z niewielką grupą testerów zewnętrznych, aby lepiej zrozumieć działanie Codex w kontekście różnorodnych baz kodu, procesów rozwojowych i zespołów.

  • Cisco(otwiera nowe okno) sprawdza, w jaki sposób Codex może wspierać zespoły inżynieryjne w szybszej realizacji najbardziej ambitnych projektów. Cisco – jeden z naszych wczesnych partnerów – pomaga nam kształtować przyszłość agenta Codex, oceniając jego wydajność w kontekście rzeczywistych zastosowań w ramach całego portfela produktów i przekazując swoje obserwacje zespołowi OpenAI.
  • Temporal(otwiera nowe okno) wykorzystuje Codex do przyspieszenia procesów opracowywania funkcji, naprawiania błędów, pisania i przeprowadzania testów oraz refaktoryzacji dużych baz kodu. Narzędzie pomaga im również w zwiększeniu wydajności dzięki wykonywaniu złożonych zadań w tle, co pozwala inżynierom skoncentrować się na kluczowych zadaniach i przyspieszyć kolejne iteracje.
  • Superhuman(otwiera nowe okno) wykorzystuje Codex do przyspieszenia niewielkich, powtarzalnych zadań, takich jak rozszerzenie zakresu testów czy poprawa integracji funkcji. Narzędzie pomaga im również w przyspieszeniu procesów, umożliwiając kierownikom produktów wprowadzanie drobnych zmian w kodzie bez konieczności angażowania inżyniera (nie dotyczy przeglądu kodu).
  • Kodiak(otwiera nowe okno) wykorzystuje Codex do tworzenia narzędzi debugujących, rozszerzenia zakresu testów i refaktoryzacji kodu – co przekłada się na przyspieszenie prac nad Kodiak Driver, opracowywaną przez tę firmę technologią automatycznego kierowania pojazdem. Codex stał się również wartościowym narzędziem referencyjnym, pomagając inżynierom w lepszym zrozumieniu nieznanych elementów stosu dzięki możliwości przywołania istotnego kontekstu i wcześniejszych zmian.

Na podstawie wiedzy uzyskanej od wczesnych testerów zalecamy przypisywanie dobrze zdefiniowanych zadań wielu agentom jednocześnie i eksperymentowanie z różnymi rodzajami zadań i poleceń, co pozwoli lepiej poznać faktyczne możliwości modelu.

Aktualizacje narzędzia Codex CLI

W zeszłym miesiącu udostępniliśmy Codex CLI, niewielkiego agenta kodującego open-source aktywnego w Twoim terminalu. Pozwala on na wykorzystanie możliwości takich modeli jak o3 i o4-mini w Twoim lokalnym przepływie pracy, ułatwiając współpracę z nimi i szybsze wykonywanie zadań. 

Dzisiaj udostępniamy również mniejszą wersję codex-1, wersję o4-mini przeznaczoną do wykorzystania w Codex CLI. Ten nowy model obsługuje szybsze przepływy pracy w CLI i został zoptymalizowany pod kątem niskiej latencji, kodowania w trybie pytanie-odpowiedź i edycji, zachowując jednocześnie te same zdolności w zakresie wykonywania instrukcji i stylu. Narzędzie jest teraz dostępne jako model domyślny w Codex CLI oraz w interfejsie API jako codex-mini-lastest. Wersja bazowa będzie regularnie aktualizowana wraz z rozwojem modelu Codex-mini.

Uprościliśmy również łączenie konta programisty z Codex CLI. Zamiast manualnego generowania i konfigurowania tokena API, możesz teraz zalogować się przy użyciu konta ChatGPT i wybrać organizację API, z której chcesz korzystać. Automatycznie wygenerujemy i skonfigurujemy Twój klucz API. Użytkownicy planów Plus i Pro, którzy zalogują się do Codex CLI z ChatGPT, mogą również zacząć korzystać z bezpłatnych kredytów API o wartości odpowiednio 5 i 50 USD – od dzisiaj i przez kolejne 30 dni.

Dostępność, cena i ograniczenia agenta Codex

Od dzisiaj narzędzie Codex jest dostępne dla użytkowników ChatGPT Pro, Enterprise i Team na całym świecie. Wkrótce zostanie też udostępnione w planach Plus i Edu. W nadchodzących tygodniach użytkownicy będą mogli korzystać z szerokiego dostępu do narzędzia bez dodatkowych kosztów, co pozwoli na lepsze poznanie jego możliwości. Po zakończeniu okresu wstępnego wprowadzimy ograniczenie dostępności oraz elastyczne opcje cenowe pozwalające na wykupienie dodatkowego dostępu na żądanie. W najbliższym czasie planujemy rozszerzyć dostęp do narzędzia również dla użytkowników planów Plus i Edu.

Dla programistów pracujących na codex-mini-latest model jest dostępny w ramach Responses API w cenie 1,50 USD za 1 mln tokenów wejściowych i 6 USD za 1 mln tokenów wyjściowych, z 75-procentową zniżką przy powtarzalnych poleceniach.

Codex jest wciąż we wczesnej fazie rozwoju. Jako wersja poglądowa nie obejmuje obecnie takich funkcji, jak obsługa obrazów wejściowych w pracy frontendowej czy możliwość korygowania kursu agenta w czasie pracy. Ponadto, delegowanie pracy do odległych agentów trwa dłużej niż interaktywna edycja, co może wymagać pewnej adaptacji. Wraz z upływem czasu interakcje z agentami Codex będą coraz bardziej przypominać asynchroniczną współpracę z innymi osobami. Wraz z rozwojem zdolności modelu oczekujemy, że agenci będą w stanie poradzić sobie z coraz bardziej złożonymi zadaniami w dłuższych okresach czasu.

Co dalej

Wyobrażamy sobie przyszłość, w której programiści zajmują się pracą, którą chcą się zajmować, delegując pozostałe zadania na agentów, co zwiększy szybkość i produktywność ich pracy dzięki AI. W tym celu opracowujemy obecnie zestaw narzędzi Codex zarówno do współpracy w czasie rzeczywistym, jak i asynchronicznego delegowania. 

Bezpośrednia współpraca z narzędziami AI takimi jak Codex CLI i inne szybko staje się standardem branżowym, pomagając programistom w szybszym kodowaniu. Uważamy jednak, że asynchroniczne przepływy pracy z udziałem wielu agentów wprowadzane przez Codex do środowiska ChatGPT staną się wkrótce faktycznym standardem w pracy programistów tworzących wysokiej jakości kod.

Przewidujemy, że oba te modele będą ostatecznie wykorzystywane wspólnie, łącząc współpracę w czasie rzeczywistym z możliwością delegowania zadań. Programiści będą współpracować z agentami AI w ramach swoich środowisk IDE, wykorzystując dostępne narzędzia, zadając pytania, uzyskując sugestie i delegując czasochłonne zadania – a wszystko to w ramach jednego, spójnego przepływu pracy.

W przyszłości planujemy wprowadzić bardziej interaktywne i elastyczne przepływy pracy agentów. Programiści wkrótce zyskają możliwość przekazywania sugestii podczas wykonywania zadania, współpracy w zakresie implementacji strategii i otrzymywania z wyprzedzeniem raportów z postępów. Spodziewamy się również głębszej integracji z już wykorzystywanymi narzędziami. Codex już dzisiaj łączy się z GitHub, a wkrótce będzie możliwe przypisywanie zadań z poziomu Codex CLI, Pulpitu ChatGPT, a nawet takich rozwiązań jak narzędzie do śledzenia błędów czy system CI.

Inżynieria oprogramowania jest jedną z pierwszych branż doświadczających znacznej poprawy produktywności dzięki wykorzystaniu AI, co otwiera nowe możliwości przed osobami pracującymi samodzielnie lub w małych zespołach. Patrzymy na te korzyści z dużą dozą optymizmu, lecz współpracujemy również z partnerami, którzy pomagają nam w lepszym zrozumieniu implikacji szerokiego wykorzystania agentów w kontekście ogólnej pracy programistów, osobistego rozwoju umiejętności, poziomów umiejętności czy poszczególnych rejonów geograficznych. 

To dopiero początek – jesteśmy bardzo ciekawi, co uda Wam się zbudować dzięki Codex.

Nagranie transmisji na żywo

Załącznik

Wiadomość systemowa

Udostępniamy wiadomość systemową codex-1, aby pomóc programistom w zrozumieniu domyślnych zachowań modelu i lepszym dostosowaniu jego możliwości do własnej pracy. Na przykład poniższa wiadomość systemowa codex-1 instruuje Codex, aby przeprowadził wszystkie testy wymienione w pliku AGENTS.md, lecz w przypadku braku czasu można poinstruować Codex, aby pominął te testy.

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.

Autor

OpenAI