OpenAI Codex: The Complete Beginner's Tutorial (2026)

2026-07-02 Leon van Zyl AI zagraniczne tutorial waga 4/5 14 min czytania

Kompletny, praktyczny tutorial po Codex (aplikacja desktopowa OpenAI) z przepływem plan→goal→implementacja; dobry punkt startowy dla programistów chcących wdrożyć agenta kodującego.

Robocza publikacja redakcyjna na podstawie publicznego transkryptu YouTube. Źródło: YouTube.

O czym jest ten film

  1. Codex to jeden z najsilniejszych obecnie agentów do kodowania, dostępny jako aplikacja desktopowa z wizualnym obszarem roboczym.
  2. Do korzystania potrzebne jest konto ChatGPT; jest plan darmowy, ale do poważnej pracy praktycznie konieczny jest plan płatny (limity co pięć godzin oraz limit tygodniowy).
  3. Aplikacja pozwala prowadzić wiele równoległych sesji w jednym oknie — w obrębie jednego projektu i między różnymi projektami.
  4. Codex potrafi samodzielnie testować własny kod, otwierając wbudowaną przeglądarkę, klikając w interfejsie i robiąc zrzuty ekranu.
  5. Dostępne są tryby zatwierdzania (pytanie o zgodę / pełny dostęp) oraz tryb planowania, w którym agent niczego nie zmienia.
  6. Ekosystem wtyczek (plugins) i umiejętności (skills) rozszerza możliwości agenta — m.in. generowanie obrazów, tworzenie plików czy skill „greenfield” wymuszający pytania doprecyzowujące.
  7. Autor pokazuje praktyczny przepływ pracy: plan → zapis planu w projekcie → podział na pliki funkcji → implementacja komendą /goal.
  8. Komenda /goal pozwala ustawić stan docelowy — agent pracuje aż spełni warunek (np. wszystkie funkcje zbudowane i przetestowane).
  9. Podział planu na osobne pliki funkcji chroni okno kontekstu agenta przed przeciążeniem i utrzymuje jakość pracy.
  10. Cały przykładowy projekt (aplikacja fitness z lokalnym modelem na Ollamie) powstał i został przetestowany przez agenta w ok. 20 minut.

Redakcyjne tłumaczenie

Czym jest Codex i po co go używać

OpenAI Codex to jeden z najpotężniejszych agentów do kodowania dostępnych obecnie. Dostajesz wizualny obszar roboczy, w którym widzisz wszystkie swoje projekty, możesz uruchamiać kilka agentów jednocześnie, a nawet obserwować, jak agent otwiera przeglądarkę i sam testuje wprowadzone przez siebie zmiany. Jeśli masz już subskrypcję ChatGPT albo szukasz alternatywy dla Claude Code, warto się temu przyjrzeć.

Żeby korzystać z Codeksa, potrzebujesz konta ChatGPT. Jest dostępny plan darmowy, więc możesz wypróbować Codeksa bez opłat — ale przy darmowym planie limity wyczerpują się bardzo szybko. Do jakiegokolwiek sensownego kodowania trzeba przejść na jeden z planów płatnych.

Następnie trzeba pobrać aplikację Codex. Wystarczy wejść na openai.com/codex i z tej strony pobrać wersję dla systemu macOS lub Windows. W chwili nagrywania Linux prawdopodobnie nie jest wspierany, ale pod Linuksem można nadal korzystać z narzędzia CLI — mam mu poświęcony osobny film. Ja pracuję na Windowsie, więc klikam pobieranie dla Windows, potwierdzam w wyskakującym oknie i po instalacji otwieram aplikację.

Pierwsze uruchomienie i widok obszarów roboczych

Ja korzystam z Codeksa już od jakiegoś czasu, więc mam sporo projektów. U Ciebie, jeśli otwierasz aplikację po raz pierwszy, nie będzie zaznaczonego żadnego folderu. Po rozwinięciu bocznego panelu zobaczysz widok wszystkich swoich obszarów roboczych (workspaces), czyli projektów — jeśli jeszcze żadnego nie utworzyłeś, będzie po prostu pusty.

Osobiście lubię ten widok — to świetny sposób, żeby mieć wszystkie projekty w jednym miejscu. Dla każdego projektu możesz uruchamiać wiele sesji naraz. Dla porównania: w wersji CLI musiałbyś ręcznie tworzyć kolejne sesje i przeskakiwać między nimi, a i tak byłyby przypisane tylko do jednego konkretnego projektu. W aplikacji Codex uruchamiasz wiele sesji jednocześnie dla tego samego projektu i swobodnie przeskakujesz między różnymi projektami — wszystko w jednym widoku.

Ustawienia: wygląd, limity, integracje

Zanim utworzymy projekt, warto zajrzeć w ustawienia (klikamy swoje imię na dole). Możemy tu dostosować wygląd aplikacji, w tym motyw. Jest też zabawna funkcja — „pet”, czyli mały awatar-postać; wybieram wersję ognistej kuli, pokażę ją później. Można też zmieniać skróty klawiszowe.

Szczególnie ważna jest zakładka zużycia i rozliczeń — będziesz do niej zaglądać dość często, zwłaszcza do sekcji ogólnych limitów. Codex — podobnie jak inne platformy, na przykład Claude Code — w ramach subskrypcji przydziela pewną pulę zużycia co pięć godzin. Po jej wyczerpaniu trzeba poczekać na reset. Jest też limit tygodniowy, o którym trzeba pamiętać: przy nadmiernym korzystaniu można go wyczerpać i wtedy nie da się używać Codeksa aż do jego odnowienia (w moim przypadku do 6 lipca). Warto więc mieć limity na oku.

W zakładce integracji znajdziesz serwery MCP — z tej strony łatwo dodasz nowy serwer oraz włączysz lub wyłączysz te, których już nie potrzebujesz.

(Informacja dodatkowa: MCP, czyli Model Context Protocol, to standard, dzięki któremu agent AI może łączyć się z zewnętrznymi narzędziami i źródłami danych).

Przeglądarka i sterowanie komputerem

W zakładce przeglądarki można włączyć opcję pozwalającą Codeksowi sterować wbudowaną przeglądarką — bardzo to lubię. Dzięki temu agent potrafi sam testować własny kod: otwiera okno przeglądarki, klika, korzysta z interfejsu i robi zrzuty ekranu. Są też ustawienia bardziej zaawansowane: menedżer haseł (czy agent może wstępnie wypełniać hasła) oraz „computer use” — możliwość udostępnienia agentowi przeglądarki Chrome i sterowania aplikacjami na komputerze. Jeśli nie chcesz, żeby Codex sterował komputerem lub korzystał z Chrome, po prostu wyłącz te funkcje.

W zakładce kodowania jest przydatna funkcja połączeń — możesz sterować Codeksem ze swojego telefonu, np. z Androida. Wystarczy zainstalować na telefonie aplikację Codex lub ChatGPT, w aplikacji desktopowej kliknąć „Dodaj” i przejść przez proces łączenia telefonu z komputerem. Dzięki temu obsługujesz Codeksa zdalnie.

Podejście: kodowanie agentowe

Przejdźmy do budowania aplikacji. OpenAI mocno stawia na kodowanie agentowe zamiast klasycznego, ręcznego programowania — to agent buduje dla Ciebie oprogramowanie, a Ty niekoniecznie jesteś zainteresowany oglądaniem samego kodu (choć podgląd kodu jest bardzo prosty).

Najpierw wybieramy folder projektu. Klikam „nowy projekt”, zaczynam od zera i nazywam go „MyFitnessGuru”. Codex automatycznie tworzy na dysku folder dla tego projektu. Możemy też ustawić tryb zatwierdzania: „pytaj o zgodę” (niektóre potencjalnie niebezpieczne działania będą wymagały akceptacji) albo „pełny dostęp” (agent sam czyta pliki, uruchamia polecenia i robi, co uzna za potrzebne).

Po prawej stronie wybieramy model i parametry: wysiłek rozumowania (zostawiam „extra high”), model (wybieram GPT-5.5) oraz szybkość — standardowa albo szybka. Szybki tryb zwiększa zużycie, więc jest nieco droższy, ale na potrzeby tego poradnika go używam.

Tryb planowania

Codex ma też tryb planowania. Uruchamiasz go, przytrzymując Shift i naciskając Tab (albo przez przycisk plus → „plan mode”). W tym trybie agent nie wprowadza żadnych zmian w folderze — to przestrzeń na rozmowę i zaplanowanie projektu. Do trybu edycji wracasz, ponownie naciskając Shift + Tab.

Wtyczki i umiejętności (skills)

Zanim stworzę plan wdrożenia, wolę przygotować umiejętności i narzędzia MCP, które mogą się przydać. W Codeksie jest to proste — wystarczy wejść w plugins. Przeglądasz tam ogromny zbiór gotowych wtyczek: jeśli często tworzysz dokumenty Word, arkusze czy PDF-y, instalujesz odpowiednią wtyczkę i agent potrafi generować takie pliki. Można też podłączyć agenta do narzędzi typu Canva czy Figma.

W zakładce umiejętności widać wszystkie zainstalowane skille; można je filtrować według repozytoriów. W systemie mamy kilka przydatnych, np. image gen — ChatGPT daje możliwość generowania obrazów i ta sama funkcja jest dostępna w Codeksie. Możemy więc poprosić agenta o wygenerowanie obrazów do makiet albo zdjęć stockowych na strony. Wystarczy upewnić się, że umiejętność jest włączona.

Skille można też łatwo dodawać. Klikając „create skill”, domyślnie użyjesz kreatora umiejętności, który na podstawie Twojej instrukcji tworzy własny skill. Ja jednak chcę tylko, żeby agent zainstalował gotowy skill — konkretnie „greenfield”.

(Informacja dodatkowa: w transkrypcji nazwy „grilme/grollme” to zniekształcona nazwa skilla „greenfield”, popularnego dodatku wymuszającego etap doprecyzowania wymagań przed generowaniem planu).

Wchodzimy na stronę skills.sh, gdzie można wyszukać dowolne umiejętności agentów. Skill greenfield jest bardzo popularny — ponad 413 000 pobrań. Zmusza agenta do zadania mnóstwa pytań doprecyzowujących, zanim wygeneruje plan wdrożenia. Kopiuję polecenie i proszę agenta: „proszę dodać ten skill”. Gdy wrócę do zakładki umiejętności i wyszukam go, jest już dostępny. Jeśli skilla nie widać, agent zapewne zainstalował go w złym miejscu — wystarczy poprosić o instalację na poziomie globalnym lub użytkownika; agent zrozumie, o co chodzi.

Tworzenie planu projektu

Wracam do trybu planowania i uruchamiam komendę greenfield z opisem: chcę zbudować natywnie agentową aplikację webową o nazwie MyFitnessGuru, która pomaga użytkownikowi we wszystkim, co związane ze zdrowiem i kondycją. Ma korzystać z darmowego, lokalnego modelu uruchamianego na Ollamie.

(Informacja dodatkowa: Ollama to aplikacja instalowana lokalnie, która pozwala uruchamiać modele językowe na własnym sprzęcie. Wystarczy pobrać ją ze strony, zainstalować i pobrać model — autor używa modelu Qwen 3.6).

Aplikacja ma potrafić działać w imieniu użytkownika, samodzielnie się doskonalić i uczyć się o użytkowniku. Uruchamiam polecenie. Ponieważ używamy skilla greenfield, agent zadaje wiele pytań doprecyzowujących — w większości wybieram rekomendowane opcje.

Praca równoległa i generowanie makiety

Tu widać zaletę Codeksa: w obrębie tego samego obszaru roboczego mogę utworzyć kolejną sesję i pracować równolegle. Skoro nie wiemy jeszcze, jak aplikacja ma wyglądać, w drugiej sesji proszę: „skorzystaj z image gen i wygeneruj makietę dla naszego pomysłu na aplikację”. Teraz w tym samym obszarze roboczym działają dwie sesje. Podczas gdy generowany jest obraz, wracam do pierwszej sesji i dalej odpowiadam na pytania agenta. Gdy wracam do drugiej — widać wygenerowany obraz, czyli gotowy koncept, którego możemy użyć w aplikacji.

Dopracowanie planu

Wracam do sesji planowania — agent stworzył plan wdrożenia, który mogę przejrzeć. Skoro mamy już koncept graficzny, wybieram opcję: „zapisaliśmy koncept projektu w folderze concepts, proszę utworzyć na jego podstawie system projektowy (design system) i dołączyć go do planu”. Po chwili plan zawiera także system projektowy oparty na wygenerowanym obrazie.

Wysyłam też Codeksowi kolejną poprawkę: żeby nie używał żadnych danych zaślepkowych (mock), tylko rzeczywistych odpowiedzi z Ollamy, i żeby wykorzystał do tego AI SDK.

(Informacja dodatkowa: AI SDK to popularna biblioteka do budowania aplikacji korzystających z agentów i modeli językowych).

Dobrze, że o tym wspomnieliśmy — z zapisów wynika, że agent planował po prostu zaślepić odpowiedzi zamiast przeprowadzać faktyczne wnioskowanie na Ollamie.

Zapis i podział planu — dobra praktyka

Teraz można by rozpocząć wdrożenie. Ale częsty błąd wielu osób to od razu kliknąć „tak, wdrażaj ten plan” — to prawie nigdy nie jest dobry pomysł. Zamiast tego naciskam Escape, wracam Shift + Tab do trybu zmian i proszę: „zapisz ten plan w folderze /plans w tym projekcie i na razie niczego nie wdrażaj”. W ten sposób plan jest trwale zapisany w folderze projektu i zawsze można do niego wrócić. Po zajrzeniu w pliki widać folder plans z naszym planem, umieszczony obok plików projektu.

Kolejny krok to podział planu na osobne pliki funkcji. Proszę agenta: „podziel plan na osobne pliki funkcji, każdy z jasną sekwencją, instrukcjami wdrożenia i kryteriami akceptacji, i zapisz je w odpowiednim podfolderze w folderze plans”.

Robimy to, bo nie chcemy przeciążać agenta setkami instrukcji naraz. W pewnym momencie okno kontekstu się zapełnia i wchodzimy w „strefę głupoty” — jakość pracy agenta zaczyna spadać. Dzieląc plan na pojedyncze kawałki pracy, dajemy agentowi jasną mapę drogową do celu końcowego i nie przeciążamy jego kontekstu. W folderze projektu pojawia się podfolder z wszystkimi pojedynczymi funkcjami.

Implementacja komendą /goal

Teraz zaczynam nową sesję w folderze planów, gdzie mamy pliki poszczególnych funkcji. Dawniej implementowało się je pojedynczo — wpisywało symbol @, nazwę pliku (np. 01 project foundation) i prosiło agenta o wdrożenie tej funkcji. Przy tych modelach nie jest to już konieczne.

Zamiast tego używam komendy /goal (można też kliknąć plus → „goal”). Wpisuję: „proszę zaimplementować wszystkie funkcje w folderze features. Nie przerywaj, dopóki wszystkie funkcje nie zostaną zbudowane i przetestowane. Do testów użyj wbudowanej przeglądarki”. Komenda /goal pozwala ustawić stan docelowy — agent pracuje aż do spełnienia warunku, tu: wdrożenia wszystkich funkcji. Zapisuję polecenie; budowa aplikacji trochę potrwa.

Śledzenie pracy i samodzielne testowanie

Żeby mieć oko na to, co robi agent, uruchamiam komendę /pet — pojawia się mały awatar-postać (wybrana wcześniej w ustawieniach), a nad nim widać, co agent aktualnie robi. Dzięki temu można pracować nad czymś innym na komputerze, a przypięta postać na bieżąco informuje o działaniach Codeksa. Można ją zmniejszać i przesuwać po ekranie. To nie dla każdego, ale ja uważam to za przydatne.

Jedna z najfajniejszych funkcji: po otwarciu panelu bocznego widać, jak agent testuje aplikację w prawdziwej przeglądarce — widać kursor agenta, jak wpisuje tekst w oknie czatu, wysyła wiadomości i sprawdza, czy aplikacja działa. Co więcej, agent testuje aplikację na różnych rozmiarach ekranu — przez moment widać było test responsywności na ekranie urządzenia mobilnego.

Efekt końcowy

Po około 20 minutach aplikacja jest gotowa — agent sam przetestował wszystko w swoim oknie przeglądarki. Otwieram ją we własnej przeglądarce: idealnie odpowiada wygenerowanemu wcześniej koncepcie, ale tym razem to działająca aplikacja. Piszę „hej”, dostaję odpowiedź i kilka opcji na dole. Wybieram np. trening; odpowiedź spływa strumieniowo, a agent zadaje kilka pytań. Tworzę nowy czat, podaję imię „Leon” i potwierdzam aktualizację profilu — kontekst zostaje zaktualizowany o moje imię. Można klikać po aplikacji i wszystko działa.

Jeśli jakaś sesja nie jest już potrzebna, wystarczy najechać na nią i kliknąć „archiwizuj” — sesja znika z obszaru roboczego, dzięki czemu wszystko pozostaje uporządkowane.

Jeśli film się przydał, zostaw łapkę w górę i subskrypcję. Dzięki za oglądanie — do zobaczenia w kolejnym.

10 najważniejszych takeaways — z kontekstem zastosowania

1.Traktuj plan zużycia jak zasób, którym trzeba zarządzać

Na czym polega: Codex działa na limitach subskrypcji ChatGPT — jest pula odnawiana co pięć godzin oraz osobny limit tygodniowy. Darmowy plan wyczerpuje się bardzo szybko.

Jak stosować: Do realnej pracy wybierz plan płatny i regularnie zaglądaj do zakładki zużycia i rozliczeń, żeby wiedzieć, ile zostało do resetu. Cięższe zadania planuj tak, by nie trafić na wyczerpanie limitu w środku pracy.

Na co uważać: Tryb „fast” zużywa więcej puli, więc rezerwuj go na sytuacje, gdy szybkość naprawdę się liczy. Wyczerpanie limitu tygodniowego może zablokować Cię na kilka dni.

2.Wykorzystuj równoległe sesje w jednym obszarze roboczym

Na czym polega: W aplikacji można prowadzić wiele sesji naraz w obrębie jednego projektu i między projektami — bez ręcznego żonglowania jak w CLI.

Jak stosować: Gdy jedna sesja buduje kod lub odpowiada na pytania, w drugiej równolegle wykonuj zadanie poboczne, np. generowanie makiety graficznej. Skraca to czas oczekiwania.

Na co uważać: Równoległe sesje w tym samym projekcie mogą modyfikować te same pliki — pilnuj, by nie pracowały nad tym samym obszarem i nie nadpisywały swoich zmian.

3.Zawsze zaczynaj od trybu planowania, nie od kodu

Na czym polega: Tryb planowania (Shift + Tab) pozwala rozmawiać z agentem i ustalić plan bez wprowadzania jakichkolwiek zmian w plikach.

Jak stosować: Najpierw dopracuj plan i wymagania, a dopiero potem przechodź do implementacji. To tanie i bezpieczne miejsce na korekty kierunku.

Na co uważać: Łatwo pominąć ten etap w pośpiechu — a to właśnie tu wyłapuje się nieporozumienia, zanim agent zacznie generować kod.

4.Nigdy nie klikaj „wdrażaj” od razu po wygenerowaniu planu

Na czym polega: Autor wprost wskazuje jako częsty błąd natychmiastowe zatwierdzanie planu do implementacji.

Jak stosować: Zamiast tego najpierw zapisz plan w folderze projektu (np. /plans), przejrzyj go i dopiero świadomie uruchamiaj wdrożenie. Zapisany plan zostaje w repozytorium jako punkt odniesienia.

Na co uważać: Nieprzejrzany plan często zawiera ciche założenia (np. użycie danych zaślepkowych) — bez przeglądu trafią one do gotowego kodu.

5.Dziel plan na osobne pliki funkcji, by chronić okno kontekstu

Na czym polega: Jeden wielki plan przeciąża kontekst agenta; przy zapełnieniu okna jakość pracy spada („strefa głupoty”).

Jak stosować: Poproś agenta o podział planu na osobne pliki funkcji, każdy z sekwencją kroków, instrukcjami i kryteriami akceptacji. Dostaje wtedy jasną mapę drogową i pracuje na mniejszych porcjach kontekstu.

Na co uważać: Pilnuj, żeby kryteria akceptacji były konkretne — inaczej agent uzna funkcję za „gotową” bez rzeczywistego spełnienia wymagań.

6.Wymuszaj pytania doprecyzowujące skillem greenfield

Na czym polega: Skill greenfield (ze skills.sh) zmusza agenta do zadania wielu pytań przed wygenerowaniem planu.

Jak stosować: Instaluj go do nowych projektów, żeby agent zebrał wymagania, zanim zacznie planować. Jeśli skill się nie pojawia, poproś o instalację na poziomie globalnym lub użytkownika.

Na co uważać: Odpowiadanie „domyślnie / rekomendowane” na wszystkie pytania osłabia sens tego skilla — przy kluczowych decyzjach odpowiadaj świadomie.

7.Jawnie zakazuj danych zaślepkowych, jeśli chcesz realnej integracji

Na czym polega: Domyślnie agent bywa skłonny „zaślepić” (zamockować) odpowiedzi zamiast wpiąć prawdziwą usługę — tu chodziło o realne wnioskowanie na modelu w Ollamie.

Jak stosować: W instrukcji wprost napisz, że nie wolno używać danych mock, oraz wskaż realne źródło i narzędzie (np. lokalny model przez Ollamę i AI SDK).

Na co uważać: Bez tej instrukcji dostaniesz aplikację, która „wygląda, że działa”, ale nie robi prawdziwego wnioskowania — sprawdzaj to w planie, zanim ruszy implementacja.

8.Używaj komendy /goal do zadań „pracuj aż do skutku”

Na czym polega: /goal ustawia stan docelowy — agent pracuje, dopóki nie spełni warunku, np. „wszystkie funkcje zbudowane i przetestowane”.

Jak stosować: Sformułuj cel z twardym warunkiem końcowym i wskaż sposób weryfikacji („użyj wbudowanej przeglądarki do testów”). Nadaje się do dłuższej, autonomicznej pracy nad wieloma funkcjami naraz.

Na co uważać: Autonomiczna praca zużywa dużo limitu i czasu (tu ok. 20 minut) — warunek końcowy musi być jednoznaczny, inaczej agent może „uznać”, że skończył za wcześnie.

9.Pozwól agentowi testować się we wbudowanej przeglądarce

Na czym polega: Codex potrafi otworzyć przeglądarkę, klikać w interfejsie, wypełniać pola, wysyłać wiadomości i sprawdzać responsywność na różnych rozmiarach ekranu.

Jak stosować: Włącz sterowanie wbudowaną przeglądarką i w poleceniu wprost zażądaj testów w przeglądarce — dostaniesz weryfikację działania, a nie tylko wygenerowany kod.

Na co uważać: Zdaj sobie sprawę, że dając agentowi dostęp do przeglądarki, menedżera haseł czy Chrome, poszerzasz jego uprawnienia — te funkcje można wyłączyć, jeśli nie chcesz, by sterował Twoim komputerem.

10.Rozszerzaj możliwości agenta wtyczkami i umiejętnościami

Na czym polega: Ekosystem plugins/skills dodaje konkretne zdolności: generowanie obrazów (image gen), tworzenie plików (Word, PDF, arkusze), integracje z Canvą czy Figmą, a także tworzenie własnych skilli kreatorem.

Jak stosować: Przed rozpoczęciem projektu zainstaluj umiejętności, których będziesz potrzebować (np. image gen do makiet i grafik), i upewnij się, że są włączone. Możesz z jednej makiety wygenerować system projektowy dla całej aplikacji.

Na co uważać: Instaluj skille ze zrozumieniem ich działania i sprawdzaj poziom instalacji — źle umieszczony skill po prostu się nie pojawi, a nadmiar włączonych umiejętności niepotrzebnie komplikuje projekt.