O czym jest ten film
- Codex to agentowa aplikacja OpenAI działająca lokalnie na komputerze: w przeciwieństwie do ChatGPT nie tylko odpowiada na pytania, ale faktycznie wykonuje zadania — tworzy pliki, uruchamia polecenia, łączy się z narzędziami.
- Pierwsze kroki: pobranie aplikacji i logowanie, poziomy uprawnień (od zachowawczych po pełny dostęp), wybór modelu (GPT-5.5), szybkość pracy i poziom rozumowania — oraz podgląd limitów kredytów.
- Bezpieczną jednostką pracy jest projekt: dedykowany folder na dysku z osobną historią rozmów, który można przypiąć na pasku bocznym.
- Czatowanie w Codexie wygląda znajomo, ale działa inaczej: tryb planowania sprawia, że agent najpierw sprawdza folder, sam robi research w internecie i zadaje pytania doprecyzowujące, zanim cokolwiek zrobi.
- Fundamentem porozumienia z agentem jest struktura folderów (research, produkt, landing, marketing, notatki) i plik README.md jako pamięć projektu — dzięki temu projekt można otworzyć też w innych narzędziach, np. Claude Code.
- W jednym projekcie można równolegle prowadzić kilka rozmów-agentów (researcher, projektant UI, strateg marketingu), kierować do nich priorytetowe polecenia w trakcie pracy i uruchamiać subagentów odgrywających role ekspertów, których wnioski są potem syntetyzowane.
- Do higieny pracy służą: boczny czat do dopytywania bez ruszania głównego wątku, rozgałęzienia rozmów, komenda /compact kondensująca przepełniony kontekst oraz — bardziej żartobliwie — „zwierzak” na ekranie.
- Wtyczki dzielą się na wbudowane (m.in. Notion wraz z umiejętnościami) i zewnętrzne podpinane przez serwery MCP; na przykładzie aplikacji Paper widać, że gdy integracja nie działa, samemu Codexowi można zlecić jej naprawienie.
- Umiejętności (skills) to zestawy instrukcji, po które agent sięga, gdy uzna za stosowne — w tym wbudowana przeglądarka (np. do rysowania diagramów w Excalidraw) oraz „kreator umiejętności”, który zapisuje udane rozmowy jako powtarzalne procedury.
- Pamięć działa w trzech warstwach: globalnej (AGENTS.md), projektowej (README.md) i automatycznej, a automatyzacje pozwalają np. codziennie o 18:00 sprawdzać postęp prac w Notion. Fragment sponsorowany pokazuje automatyczne wdrażanie strony z GitHuba na hosting Hostinger.
10 najważniejszych takeaways — z kontekstem zastosowania
1.To agent, nie czat — zmień sposób formułowania poleceń
Na czym polega: ChatGPT odpowiada na pytania, a Codex „po prostu daje czadu”, jak ujmuje to autor: siedzi na twoim komputerze, ma dostęp do plików, terminala i narzędzi, więc wykonuje powierzone zadania od początku do końca.
Jak stosować: Mów kategoriami zadań do wykonania („zbuduj strukturę folderów”, „przygotuj landing”, „wgraj zmiany na GitHuba”), a nie pytań do przedyskutowania. Najlepiej od razu przenieś do Codexa jeden realny projekt.
Na co uważać: Agent z dostępem do systemu potrafi też namieszać — bezpieczeństwo zależy od ustawionych uprawnień, o czym kolejny punkt.
2.Uprawnienia ustaw zachowawczo, pełny dostęp dopiero po oswojeniu narzędzia
Na czym polega: Do wyboru są trzy poziomy współpracy: autozatwierdzanie (agent pyta o zgodę przed utworzeniem pliku, edycją czy uruchomieniem czegoś w terminalu), domyślne uprawnienia zachowawcze oraz pełny dostęp, przy którym agent robi, co uzna za stosowne.
Jak stosować: Na start zostań przy ustawieniach domyślnych. Pełny dostęp włącz dopiero wtedy, gdy już wiesz, jak aplikacja pracuje i co ewentualnie może zepsuć.
Na co uważać: Pełny dostęp wygodnie przyspiesza pracę, ale jednym nieprzemyślanym poleceniem można oddać agentowi kontrolę nad plikami, których nie chciałeś ruszać.
3.Jeden projekt = jeden folder na dysku
Na czym polega: Uporządkowana praca z agentem zaczyna się od dedykowanego projektu, czyli zwykłego folderu na komputerze, do którego podpinasz rozmowy. Na pasku bocznym każdy projekt ma osobną historię i można go przypiąć.
Jak stosować: Zanim zaczniesz cokolwiek tworzyć, załóż folder projektu i w nim rozmowy — agent zawsze będzie wiedział, w jakim kontekście pracuje, a ty nie zgubisz wątków wśród innych zadań.
Na co uważać: Rozmowa prowadzona poza projektem nie ma dostępu do jego plików — przed wysłaniem polecenia upewnij się, że jesteś we właściwym folderze.
4.Zbuduj warstwową pamięć: AGENTS.md globalnie, README.md w projekcie
Na czym polega: Codex pamięta na trzy sposoby: automatycznie (folder Codex Memories), globalnie (plik AGENTS.md z instrukcjami niestandardowymi w ustawieniach) i lokalnie (pliki projektowe, domyślnie README.md), które czyta przed każdą pracą.
Jak stosować: Na początku projektu każ agentowi stworzyć README.md z opisem przedsięwzięcia i struktury folderów, a wszystkie ustalenia dopisuj do tego pliku. W ustawieniach personalizacji zapisz fakty o sobie ważne w każdej sesji (np. kim jesteś, jak lubisz dostawać wyjaśnienia).
Na co uważać: Gdy rozmowa robi się długa i zżera kontekst, użyj komendy /compact — agent sam podsumuje wątek i będzie można kontynuować w tym samym oknie, zamiast zaczynać od zera. Warto też raz zapytać, „co o mnie wiesz w tym projekcie”, żeby sprawdzić, czy agent nie zapamiętał czegoś nie na miejscu.
5.Gdy zależy ci na kontroli, włącz tryb planowania
Na czym polega: Tryb planowania zmusza agenta, by zanim cokolwiek zrobi, wypisał dokładny plan. Co więcej, Codex z natury jest proaktywny: sam sprawdza zawartość folderu, przeszukuje internet (źródła widać w panelu bocznym) i zadaje pytania doprecyzowujące.
Jak stosować: Przy nowych lub złożonych projektach włącz tryb planowania z podwyższonym poziomem rozumowania i odpowiedz na ankietę pytań — dopiero potem decyduj o wdrożeniu. Gdy propozycja ci nie odpowiada, po prostu napisz, że chcesz inaczej.
Na co uważać: Doświadczonemu użytkownikowi plan potrafi więcej przeszkadzać, niż pomagać — autor sam go zwykle pomija i zamiast tego wysyła gotowe, precyzyjne polecenie. Wdrożenie planu bez nadzoru oznacza też mniejszą kontrolę nad przebiegiem pracy.
6.Z Codexa zrób zespół: agenti równolegli i subagenci
Na czym polega: W jednym projekcie można prowadzić kilka rozmów naraz — np. researcher analizujący rynek, projektant UI przygotowujący landing i strateg budujący kampanię — a każdy z nich czyta ten sam README. Dodatkowo agent potrafi uruchomić subagentów (w filmie: w rolach Alexa Hormoziego, Tima Ferrissa i Gary’ego Vaynerchuka), którzy autonomicznie pracują nad propozycjami, po czym główny agent syntetyzuje to, co najlepsze.
Jak stosować: Każdemu wątkowi nadaj czytelną nazwę (np. „researcher”, „UI designer”). Rolę subagentów opisuj przez ich perspektywy i poproś o syntezę — to działa też w parach typu senior developer + recenzent kodu czy projektant UI + projektant UX.
Na co uważać: Subagenci zżerają kredyty jak każda inna praca, więc nie uruchamiaj ich tam, gdzie wystarczy jedna rozmowa. Ich wyniki warto zawsze przejrzeć, zanim uznasz je za gotowe.
7.Kieruj agentem w trakcie pracy — także priorytetami i plikami
Na czym polega: Nie musisz czekać, aż agent skończy: w dowolnym momencie możesz wysłać polecenie priorytetowe, które zatrzyma go, dopóki go nie przeczyta (np. „wszystko, co znajdziesz, zapisz w folderze research”). Małpą (@) wskazujesz konkretne pliki, na których ma się wzorować — i tak rozmowy-agenty porozumiewają się między sobą przez pliki projektu.
Jak stosować: Zawsze doprecyzuj miejsce zapisu wyników (folder, nazwa pliku). Gdy jeden agent skończy część pracy, w innej rozmowie wskaż małpą powstały plik, żeby drugi agent z niego skorzystał.
Na co uważać: Polecenie wtrącone w trakcie zmienia bieg pracy — formułuj je konkretnie, żeby nie wywołać zboczenia agenta z toru, na którym ci zależy.
8.Boczny czat: dopytuj bez ruszania głównego wątku
Na czym polega: Komenda ukośnikowa „boczny” otwiera osobny czat z pełnym kontekstem trwającej rozmowy. Można tam pytać o wszystko, co niejasne — czym jest dana komenda, co właśnie robi agent, jak coś zmienić — bez wpływu na główny wątek.
Jak stosować: Gdy tylko coś jest niezrozumiałe, otwórz boczny czat i wklej fragment, o który pytasz. Warto ustawić tam niższy poziom rozumowania, żeby oszczędzać tokeny.
Na co uważać: To narzędzie do wyjaśnień, nie do zadań — poleceń wykonawczych lepiej nie rozpraszać między czaty.
9.Brakuje integracji? Podłącz narzędzie przez MCP — a jak utkniesz, zleć naprawę samemu agentowi
Na czym polega: Biblioteka wtyczek Codexa nie obejmuje wszystkiego. Narzędzia bez natywnej integracji podpina się przez serwery MCP w ustawieniach. Autor, mimo dokumentacji, nie potrafił połączyć aplikacji Paper — w takiej sytuacji wrzucił agentowi zrzut ekranu z instrukcją, zapytał „co robię źle?”, a w końcu poprosił, żeby zrobił to za niego. Agent skonfigurował połączenie w niecałe cztery minuty.
Jak stosować: Zanim dodasz wtyczkę, kliknij ją i przeczytaj, co zawiera (łącznie z dołączonymi umiejętnościami) — półtorej minuty czytania oszczędza późniejsze kombinowanie. Gdy nie wiesz, co narzędzie potrafi, po prostu zapytaj agenta: „co możesz zrobić przez to połączenie? Wypisz wszystko w punktach”.
Na co uważać: Pierwsze użycie narzędzia podpiętego przez MCP bywa toporne — brakuje mu instrukcji znanych z wbudowanych wtyczek, więc pozwól agentowi chwilę eksperymentować i poprawiać własne błędy.
10.Udana rozmowa to gotowa umiejętność na przyszłość
Na czym polega: Umiejętność (skill) to zapisany zestaw instrukcji, po który agent sięga, gdy uzna to za istotne. Zamiast tworzyć je od zera, najłatwiej po udanej rozmowie poprosić: „na podstawie tego, co już wiesz, stwórz skill do wykorzystania w innych przypadkach” — agent uruchomi wtedy wbudowany kreator umiejętności.
Jak stosować: Gdy agent dobrze opanował jakieś narzędzie (np. Paper, Excalidraw), każ mu zapisać tę wiedzę jako umiejętność. Systemowe umiejętności — jak generowanie obrazów czy dostęp do dokumentacji OpenAI — masz od razu, a kolejne zbierają się same w trakcie pracy.
Na co uważać: Umiejętność utrwała także twoje błędne nawyki, jeśli rozmowa, na której ją oparłeś, prowadziła na manowce — od czasu do czasu przejrzyj zapisane instrukcje.
Redakcyjne tłumaczenie
Czat odpowiada, agent działa
Cześć, moi drodzy. Dzisiaj porozmawiamy o stosunkowo nowej aplikacji OpenAI, wokół której ostatnio bardzo głośno — o Codexie. Postaram się przekonać was, żebyście przenieśli do niej swoją pracę z ChatGPT. Omówimy wszystkie najważniejsze funkcje, a przy okazji zbudujemy jeden realny, konkretny projekt. Od razu uprzedzam, że sponsorem części odcinka jest Hostinger — o tym w odpowiednim miejscu.
Na ekranie widzicie obok siebie Codexa i ChatGPT. Interfejsowo różni się niewiele: są czaty, projekty, wtyczki, opcja nowej rozmowy. Najważniejsza różnica jest głębsza i wypisałem ją sobie w notatkach: ChatGPT daje odpowiedzi, a Codex daje czadu. Chcę, żebyście to zapamiętali — Codex wykonuje wyznaczone mu zadania. Po prostu żyje na naszym komputerze: ma dostęp do plików, które mu damy, do połączeń z innymi narzędziami i do specjalnych umiejętności. I właśnie do tego wszystkiego zaraz przejdziemy.
Zanim jednak ruszymy, jedna uwaga — najprawdziwsza prawda o youtubowych poradnikach. Mogę pomóc wam zrozumieć 90% teorii Codexa, ale aplikację opanujecie tylko wtedy, gdy sami zaczniecie działać. Proszę więc: przy każdym punkcie, który pokazuję, zatrzymajcie wideo i spróbujcie odtworzyć to samo albo coś podobnego u siebie. Do tego gorąco zachęcam.
Instalacja i logowanie
Ponieważ Codex działa lokalnie, musimy pobrać go na komputer. Wpisuję w wyszukiwarkę „codex download”, wybieram wynik bezpośrednio od OpenAI i pobieram wersję dla mojego systemu. Następnie logujemy się na swoje konto. Nie dam sobie tu ręki uciąć — bywa, że zasady się zmieniają i raz wymagane jest konto płatne, raz nie. Jeśli akurat jest wymagane, gorąco zachęcam, żeby chociaż na miesiąc wypróbować, co ta aplikacja umożliwia. Zastosowania agentowe są po prostu niesamowite, a to, czego się nauczysz, zostaje z tobą — i będzie warte znacznie więcej niż te dwadzieścia dolarów.
Uprawnienia, model i limity — pierwsze ustawienia
Mamy aplikację. Przed n primarily okno czatu, które lubimy i znamy — czym więc to się różni od ChatGPT? Po pierwsze: wybieramy poziom zezwoleń we współpracy. Przy autozatwierdzaniu agent zapyta cię o zgodę, zanim utworzy plik, coś zedytuje albo odpali w tle polecenie w terminalu, żeby aplikacja działała poprawnie. Autozatwierdzanie jest opcją pośrodku: domyślne uprawnienia są bardziej zachowawcze, a pełny dostęp oznacza, że Codex może robić praktycznie wszystko. Ten ostatni polecam włączyć dopiero, gdy trochę się z agentem obędziemy i zrozumiemy, jak działa i co może nam potencjalnie popsuć.
Pod plusikiem przy polu wpisywania odhaczymy wtyczki, którymi chcemy pracować — do nich jeszcze wrócimy — a także tryb planowania czy załączanie zdjęć i plików. Ja zwykle z tego nie korzystam; klikam po prostu polecenie ukośnikowe (slash command) i wtedy mam wszystko pod ręką, a jest odrobinę wygodniej.
W tym miejscu wybieramy model, czyli mózg, na którym wszystko operuje. W tej chwili najlepszy jest GPT-5.5, ale polecam пробować również innych — bywa, że do niektórych zadań sprawdzą się lepiej. To kwestia przetestowania pod własne zastosowania. Obok można ustawić szybkość modelu; ja zwykle mam standardową, choć przy nagrywaniu włączyłem tryb szybki, bo pilnowałem czasu. Na końcu wybieramy poziom rozumowania: domyślnie średni, a do trudniejszych zadań wysoki lub bardzo wysoki. Trzeba tylko pamiętać, że wyższy poziom więcej zżera kredytów — jest szansa, że po jakimś czasie oświadczą nam, że przez najbliższe kilka godzin nie możemy współpracować i lepiej wybrać się na spacer, aż limity się zresetują. Ile nam jeszcze zostało, łatwo podejrzymy pod pozycją „stan”, a bieżąco — w pozostałych limitach w ustawieniach. Ale nie przedłużajmy: wszystko to wyjdzie w praniu.
Projekt: jeden folder, cała historia
Przejdźmy do praktycznego budowania pierwszego projektu. Żeby bezpiecznie i uporządkowanie współpracować z agentem, najlepiej pracować w dedykowanym projekcie — czyli po prostu stworzyć u siebie na komputerze folder. Obowiązuje ta sama zasada, o której opowiadam w osobnym poradniku; jeśli go nie oglądaliście, również zapraszam.
Otwieram rozwijane menu i wybieram „dodaj nowy projekt”. Stworzyłem folder dla mojego agenta, a w nim zakładam podfolder „produkt-freelancerzy”. Klikam „otwórz”. Od teraz mamy na pasku bocznym dedykowaną przestrzeń z całą historią rozmów w tym projekcie. Żeby było jeszcze czyściej, przypinam projekt, zwijam pozostałe — i wszystko leży elegancko w jednym miejscu.
Czatowanie, które niewiele ma wspólnego z czatowaniem
Pierwsza większa funkcja brzmi mało ekscytująco: czatowanie. Ale uwierzcie, wewnątrz tej aplikacji można dzięki niemu robić naprawdę ciekawe rzeczy — to punkt wyjścia do wszystkich przyszłych zastosowań. Kto to opanuje i zrozumie, jak rozmawiać z agentem, będzie lat świetlnych przed konkurencją.
Klikamy nowy czat (albo Ctrl+N), upewniamy się, że pracujemy w odpowiednim projekcie — u mnie „produkt-freelancerzy” — i piszę: „Chcę stworzyć produkt cyfrowy: planer 90 dni pracy w skupieniu nad głównym celem, dla freelancerów”. Chodzi o planer, który docelowo chcę sprzedać.
Zanim wyślę tę wiadomość, pierwsza funkcja czatu: tryb planowania. Wpisuję polecenie ukośnikowe i wybieram „tryb planowania” (można go też po prostu wpisać z klawiatury) — i od razu widać, że plan jest włączony. Dzięki temu agent, zanim cokolwiek zrobi — i zanim zdąży mnie wkurzyć, że już coś robi bez mojej zgody — wypisze mi plan, dokładnie to, co zamierza wykonać. Ustawię jeszcze wysoki poziom rozumowania i wysyłam.
Zobaczcie, co się dzieje: zanim w ogóle zacznie rozpisywać plan, agent sprawdza folder, nad którym pracuje. Widział, że jest pusty, bo zaczęliśmy od czystej karty, więc zamiast planu najpierw pyta mnie o uściślenie konkretnych rzeczy. Jeśli któraś z jego propozycji mi nie odpowiada, po prostu mówię, że chcę inaczej. Odpowiadam więc na jego mini-ankietę i czekamy, co przygotuje dalej.
I tu od razu widać ważną różnicę między ChatGPT a Codexem: agent jest znacznie bardziej proaktywny. Choć nic więcej mu nie napisałem, sam przeszukał internet — zrobił mikro-research tego, co już istnieje na rynku planerów dla freelancerów — i zadał jeszcze więcej pytań doprecyzowujących. A ponieważ korzystał z sieci, w pasku bocznym pojawiły się źródła, z których skorzystał; gdyby używał innych narzędzi, też by się tam pokazały. Taki panel można odpiąć, jeśli komuś przeszkadza.
Powiem szczerze: plan jest fajny, ale sam zwykle nie korzystam z trybu planowania. Już wiem, co chcę, żeby agent za mnie zrobił, w których miejscach ma mi pomóc, a w których ja wiem lepiej. Chciałem jednak pokazać, że taka opcja istnieje. Moglibyśmy teraz pozwolić mu wdrożyć ten plan, ale wtedy mamy mało kontroli nad przebiegiem. Dlatego na początku zwykle robię tak: otwieram nową rozmowę i mówię wprost, jaki produkt chcę stworzyć i jakie podfoldery ma powstać.
Struktura folderów i README — fundament porozumienia
Piszę więc jeszcze raz to samo polecenie, nieco rozbudowane o kontekst, czym ten produkt ma być. I dodaję zmiankę, która zawsze przydaje mi się w dalszej współpracy: „Stwórz następującą strukturę folderów: research, produkt, landing, marketing i notatki”. Mogę równie dobrze napisać „www” zamiast „landing” — nie ma znaczenia. Ważne, żeby w jednym folderze trafił się research i badanie rynku, w drugim wszystko dotyczące produktu, w trzecim strona internetowa, w czwartym plan marketingowy, a w piątym luźne notatki. I jeszcze jedna ważna rzecz: „Stwórz ogólny plik pamięciowy, np. README, w którym będziesz zapisywał najważniejsze wnioski ze wszystkich rozmów”.
Podsumujmy: ustaliliśmy z agentem plan. Moglibyśmy go wdrożyć, ale świadomie rezygnujemy z tej drogi, bo zyskujemy w zamian kontrolę. Ja — z doświadczenia — wiem, czego chcę, więc wysyłam podobne polecenie, tylko bez prośby o przygotowanie całego planu. Plan mam w głowie.
Agent już pracuje: tworzy foldery, odpala jakieś komendy. Część z tego może być niejasna — i na to też jest sposób. Kiedy jeszcze nie skończył, rozwijamy podgląd tego, nad czym pracuje, widzimy skomplikowane polecenia i wpisujemy polecenie ukośnikowe „boczny” (dziwne tłumaczenie, swoją drogą). Otworzy się boczny czat z kontekstem całej rozmowy, w którym możemy dopytać o cokolwiek niejasnego. Mogę na przykład skopiować i wkleić: „czym jest ten plik pamięciowy?” — i zapytać, o co chodziło. Tu ustawiam średni poziom rozumowania, żeby mniej zżerał tokenów. W bocznym czacie nie ma głupich pytań — można dopytywać się w najbardziej nawet „głupi” sposób o to, co robi w głównym wątku i jak coś zmienić.
Agent zgłasza, że struktura gotowa — sprawdźmy. Otwieram Findera na Macu: mamy „produkt-freelancerzy”, a w nim landing, marketing, notatki, produkt, research i README, czyli tę pamięć kontekstową folderu, do której zaraz wrócimy.
Zerknijmy do pliku README. Klikamy „otwórz”; może otworzyć się w bocznym czacie, co jest wygodne, bo wszystko robimy w jednej aplikacji — ale równie dobrze możemy podejrzeć go w VS Code. To format Markdown, czyli znacznie czytelniejszy dla modeli językowych. Taki README to podsumowanie: czym jest projekt, co jest w środku, jaki jest podział folderów. Po co to robić? Żeby później móc odpalić dowolnego agenta — na przykład Claude Code (Informacja dodatkowa: Claude Code to agentowe narzędzie firmy Anthropic do pracy z kodem, konkurencyjne wobec Codexa) — i żeby on również wiedział, nad czym pracuje. Tworzenie odpowiedniej struktury i zapisywanie ustaleń z rozmowy daje niezależność: nie jesteśmy skazani wyłącznie na Codexa, możemy przenieść projekt do Claude Code — albo z powrotem.
Rozgałęzienia: gdy pomysłów jest za dużo
Teraz fajny trik. Gdy klikniemy opcję rozgałęzienia (branch), otworzy się zupełnie nowa rozmowa — widzimy ją w folderze projektu — z całym kontekstem poprzedniej konwersacji. Mogę w niej napisać na przykład: „A co, gdybym chciał stworzyć bardzo podobny produkt, ale dla pracujących matek?”. Agent przygotuje oddzielną strukturę i propozycje dla nowego pomysłu. Jeśli nowy koncept mi się spodoba, może stać się podstawą całego projektu. Jeśli nie — porzucam ten wątek, a bezcennego kontekstu głównej rozmowy nie tracę; wszystko zostaje na miejscu. To na razie jednak poboczna ciekawostka: zarchiwizujmy tę rozmowę i zostańmy przy głównym projekcie.
Trzy rozmowy naraz: researcher, projektant, strateg
Czas odpalić kilku agentów, którzy będą działać równolegle i pomagać rozwijać produkt. Skoro README już istnieje, każdy z nich będzie wiedział, czym produkt jest. Otwieram nową rozmowę i piszę: „Przeprowadź dogłębny research mojego potencjalnego produktu — szczegóły znajdziesz w README. Trochę mnie otrzeźw: powiedz, dlaczego ten produkt może nie wyjść i dlaczego może wyjść, oraz co powinienem zmienić, żeby był naprawdę dobry”. Taki prompt wysyłam — i mój researcher rusza do pracy. Zawsze zmieniam nazwę rozmowy, żeby było wiadomo, o co chodzi: klikam w tytuł i wpisuję „researcher”. Nawet bez literówki.
Agent czyta README, czyli cały kontekst, o którym mówiliśmy — a my tworzymy kolejną rozmowę, tym razem do zarysu landing page’a. Ale moment, coś mi się przypomniało: w rozmowie z researcherem zapomniałem powiedzieć, żeby cały zebrany materiał trafił do odpowiedniego folderu. Piszę więc: „Wszystko, co znajdziesz, ułóż w pliku i dodaj do folderu research”. I to jest ważna kwestia: nasze zapytania można kierować w trakcie pracy. Nie czekamy, aż agent skończy — jeśli coś jest priorytetowe, wysyłamy polecenie i każemy odnieść się do niego teraz, zanim zrobi cokolwiek dalej. Dzięki temu wiemy, że research wyląduje we właściwym miejscu.
Wracamy do rozmowy z projektantem: „Masz plik README z konceptem mojego produktu; przygotuj trzy możliwe propozycje landing page’a. Zależy mi na prostym i bezpośrednim przekazie i na tym, żeby oferta wyglądała bardzo korzystnie. Możesz inspirować się Alexem Hormozim, Garym Vaynerczukiem i Timem Ferrissem”. Takie odwołania do nazwisk czasem pomagają. I jeszcze na koniec: „Skorzystaj z możliwości tworzenia zdjęć w GPT Images 2” — czyli z najnowszego modelu graficznego OpenAI, z którego można korzystać również wewnątrz Codexa. Jak widzicie, agent używa tu umiejętności generowania obrazów (image gen) — a umiejętności to osobny dział, do którego zaraz przejdziemy. Dla higieny współpracy zmieniam mu nazwę na „UI designer”.
Odpalamy trzecią rozmowę: „Sprawdź plik README w tym folderze i przygotuj strategię marketingową dla tego produktu. Chcę robić reklamy na Facebooku i promować go w moim newsletterze, w którym mam 5000 odbiorców. Wszystkie wnioski dodaj do folderu marketing”.
Subagenci: wirtualna rada ekspertów
To nie koniec, bo teraz bardzo fajna możliwość Codexa. Dopisuję: „Odpal trzech subagentów, którzy mają ze sobą dyskutować i dać ci propozycje — a ty ostatecznie oceniasz, które są najbardziej sensowne. Pierwszy subagent to Alex Hormozi, drugi Tim Ferriss, trzeci Gary Vaynerchuk” (Informacja dodatkowa: to znani na Zachodzie twórcy spoza branży technologicznej — kolejno strateg ofert i marketingu, autor koncepcji „czterogodzinnego tygodnia pracy” oraz popularyzator marketingu społecznościowego). „Zastosuj ich unikalne perspektywy i zsyntetyzuj najlepsze propozycje w sensowną kampanię marketingową”.
Wysyłamy. Agent myśli, sprawdza pliki, czyta README — i powinien odpalić trzech subagentów, czyli pomniejszych agentów, z których każdy autonomicznie prowadzi własny research i daje własne odpowiedzi. Dopiero potem ten jeden główny agent, z którym rozmawiamy, syntetyzuje ich wnioski i wyciąga to, co najlepsze. Wykorzystań jest mnóstwo: połączenie projektanta UI z projektantem UX, seniora developera z midem, który łapie jego błędy, debuggera z innym projektantem. To kwestia odpowiedniego opisania współdziałania. Zobaczcie: pierwszy agent już wystartował, ma prompt, który sam sobie napisał — „pracujesz jako subagent strategiczny” — i każdego z nich możemy podejrzeć. To naprawdę otwiera oczy na to, co jest możliwe. Szkoda tylko, że nie można otworzyć danego subagenta bezpośrednio z plusika i trzeba klikać je z listy.
Niech sobie dyskutują — już wiecie, mniej więcej jak to działa. Zobaczmy, co zrobił researcher: przygotował „research: planer 90 dni dla freelancerów”. Nie będę przechodził z wami przez całość, tylko upewnię się w Finderze, że plik faktycznie wylądował w folderze research. Zgadza się.
I jeszcze mała, ale ważna funkcja: w dowolnej innej rozmowie — na przykład z UI designerem, który zresztą nie do końca zrozumiał, że chodziło o sam design strony — możemy wskazać małpą plik „research: planer 90 dni dla freelancerów”. Dzięki temu rozmowy-agenty porozumiewają się ze sobą.
Polecenia ukośnikowe, kompakty i zwierzak
Chwilę zeszło nam na samym czatowaniu, bo opcji jest sporo — a po wpisaniu ukośnika pojawia się ich jeszcze więcej. Te istotniejsze to: „boczny”, o którym już było; MCP, do którego jeszcze dojdziemy; wybór modelu; „opinia”, jeśli chcemy zgłosić, że coś nam nie pasuje albo się podoba; „osobowość” — agent może być bardziej przyjazny albo pragmatyczny, ja korzystam z pragmatycznego; poziom rozumowania; „stan”, czyli ile zostało kredytów; tryb szybki, który więcej spala. Najważniejsza jest jednak komenda „kompaktowy” — uwaga, widać ją tylko, gdy żadna rozmowa nie trwa; w aktywnym wątku ta opcja się nie wyświetla. Gdy rozmowa jest bardzo długa i zajmuje dużo kontekstu (możemy go podejrzeć, najechając kursorem), wpisujemy /compact i agent sam podsumowuje całość, wyciągając najważniejsze rzeczy. Dzięki temu możemy dalej rozmawiać w tym samym oknie — bo gdyby okno kontekstowe się wypełniło, dalsza rozmowa byłaby niemożliwa i trzeba byłoby otwierać nową. Fajny sposób na zachowanie pamięci i kontekstu wątku.
I jeszcze drobnostka: można odpalić zwierzaka, który wyskakuje na ekranie i z którym możemy rozmawiać bezpośrednio. Gdy przejdziemy gdzieś indziej — na przykład do Chrome’a — będzie tam skakał, a gdy jakieś zadanie się ukończy, na przykład u UI designera, pokieruje nas i pokaże, co się zmieniło. Mnie osobiście to trochę wkurza, więc zwykle mam go wyłączonego.
Strona, która aktualizuje się sama (materiał sponsorowany)
Jeśli zaczniesz korzystać z Codexa, szybko zauważysz pewien problem: agent zrobi fajną stronę internetową, ale co, jeśli chcę coś na niej zmieniać dynamicznie, na przykład codziennie, bez wgrywania za każdym razem nowego kodu na hosting i bez kończącej się ręcznej poprawianiny? Rozwiązaniem — i tu wchodzi Hostinger, sponsor tej części — jest połączenie strony z GitHubem i automatyczne wysyłanie zmian na hosting.
Jeden z prostszych sposobów: wybieramy plan (ja mam biznesowy; możecie wziąć premium — w zależności od planu mamy do trzech albo do pięćdziesięciu stron), a wpisując w koszyku kod rabatowy „Mikołaj10”, odejmiecie dodatkowe 10% od zamówienia.
Najważniejsze pytanie: jak połączyć stronę z GitHubem, żeby aktualizowała się automatycznie? Najpierw, jeśli jeszcze go nie macie, zakładamy konto na GitHubie. Potem w rozmowie z Codexem prosimy go, żeby wysłał zmiany na GitHuba — żeby połączył się z nim i stworzył repozytorium, czyli najprościej mówiąc folder na kod konkretnego projektu. Gdy repozytorium powstanie, kopiujemy jego adres URL. Wracamy do panelu Hostingera: strony internetowe, wybieramy domenę, którą chcemy podpiąć (ja podpinam pod testową), wchodzimy w panel sterowania i — żeby nie kombinować — wpisujemy w wyszukiwarkę „git”. W polu repozytorium wklejamy skopiowany adres, jako gałąź wpisujemy „main” (bo tak nazywa się główna gałąź), klikamy „utwórz”, a następnie włączamy automatyczne wdrażanie. Najprościej zrobić jedno: zrobić zrzut ekranu z tego, co każe nam GitHub, wrócić do Codexa i powiedzieć: „W dokumentacji GitHuba każą mi zrobić takie i takie rzeczy — wdróż to najprościej”. I gotowe: strona zaczytana z GitHuba działa na naszej domenie.
Sprawdźmy jeszcze, czy nowe zmiany będą się same uaktualniać. Wracam do Codexa i proszę: niech doda u góry dopisek, że to ode mnie, od Mikołaja Abramczuka, i że cały odcinek znajdzie się na YouTube — a jak zmieni, niech od razu wyśle zmianę na GitHuba. Nie zeszło mu długo: 47 sekund i zmiany poszły. Wracamy na stronę, odświeżamy — i widzimy nowy podpis. Może nie jest to najbardziej reprezentatywna zmiana, ale strona faktycznie uaktualniła się sama. Link do Hostingera znajdziecie w opisie — i dziękuję za sponsorowanie tej części.
Prompt na wszystko, czego nie rozumiesz
Skoro dotarliście aż tutaj, zostawiam wam fajny prompt, z którego sam często korzystałem, ucząc się Codexa: możliwość, żeby tłumaczył mi wszystko na bieżąco, gdy coś jest niejasne. Możecie zatrzymać wideo, poprosić ChatGPT o przepisanie tego prompta ze zrzutu ekranu — i używać go u siebie. Link znajdziecie w opisie. Prompt po prostu kontekstowo tłumaczy każdą z omawianych funkcji: wpisujesz nazwę funkcji, a agent sam wyjaśnia, co się dzieje i jaki to ma sens dla ciebie.
Wtyczki: najpierw przeczytaj, potem dodawaj
Druga ważna funkcja: wtyczki. Najłatwiej podzielić je na zewnętrzne — te, które nie mają jeszcze natywnej integracji z Codexem — oraz wewnętrzne, z którymi łączymy się bezpośrednio z aplikacji. Po rozwinięciu menu bocznego mamy bibliotekę wtyczek dodanych automatycznie przez OpenAI. Możliwości jest mnóstwo, ale wcale nie tyle, ile by się mogło wydawać — i często korzystamy z narzędzi, których tu nie znajdziemy. Zanim jednak będę komplikował, zobaczmy, co jest w środku: naprawdę przyzwoity zestaw.
Jeśli chcemy dodać którąś wtyczkę, to zanim klikniemy plus, warto kliknąć jej kafelek i przeczytać, co zawiera, jak działa i z czym to się je. Półtorej minuty czytania, a dużo kontekstu. Widzimy na przykład, że oprócz samego połączenia z Notion wtyczka zawiera cztery umiejętności — czyli takie instrukcje, SOP-y, jak dana aplikacja działa, żeby agent wiedział, jak z niej korzystać.
Przechodzimy przez połączenie: klikam „zainstaluj wtyczkę”, pozwalam na dostęp do pamięci, instaluję, łączę się z moim workspace’em i loguję przez Notion. Pół minuty i gotowe. Zakładam rozmowę w naszym projekcie — na starcie zwykle są jakieś zbędne instrukcje, więc je usuwam, żeby mieć czysty czat. Wpisuję małpę (@), wybieram Notion i dyktuję: „Na podstawie pliku README — odwołuję się do niego bezpośrednio małpą, żebyś na pewno go sczytał — przygotuj mi prostą tablicę kanban, która umożliwi mi pilnowanie, które zadania mam jeszcze do wykonania, a które są zrobione”. Skoro wiem, że chcę kanbanu z przeciąganiem zadań, mówię to wprost — to wniosek z mojego doświadczenia z podobnymi narzędziami.
A jeśli nie wiemy, co dana wtyczka potrafi? Otwieramy nowy czat — bez żadnego projektu — wybieramy wtyczkę Notion i piszemy: „Co możesz zrobić przez połączenie z tą wtyczką? Jakie umiejętności masz dostępne? Wypisz mi wszystko w punktach, żebym wiedział dokładnie, co jest możliwe”. Dyktowałem to zresztą przez WhisperFlow i agent posłuchał się nawet formatowania. Wypisał wszystko elegancko — a możliwości przez samo połączenie z Notion jest naprawdę dużo.
Notion jako centrum operacyjne projektu
Kanban się tworzy — a my tymczasem wróćmy do rozmowy z UI designerem, odpalając sobie na chwilę zwierzaka, żeby widzieć, że wszystko działa. Chowamy artefakty, które wygenerował na uboczu, bo nie o to chodziło — projektant zresztą nie do końca nas zrozumiał — i dyktujemy: „Chciałbym, żebyś przygotował najprostszy możliwy landing w stylu minimalistycznym, jak na przykład zdjęcie numer 1. Chciałbym, żeby powstał w aplikacji Paper”. I to jest aplikacja, której w bibliotece wtyczek nie znajdziemy — narzędzie do agentowego tworzenia stron i projektów: piszemy agentowi, jak w Claude, co ma powstać, a Paper pokazuje na żywo, jak to się buduje. Wygodne i zoptymalizowane pod pracę agentową; Figma sobie z tym jeszcze nie radzi, choć pewnie niedługo będzie nadganiać.
Kanban w Notion jest już gotowy. Klikamy: utworzył bazę danych — poza standardowym widokiem tabeli dostałem dokładnie to, o co prosiłem, czyli tablicę kanban, po której można przeciągać zadania i zmieniać statusy prac. Działa naprawdę świetnie.
Możemy pójść o krok dalej i zrobić z tej bazy centrum operacyjne. Otwieram nową rozmowę w projekcie i mówię: „Od teraz zapisz w pliku README, że cały postęp prac będę monitorował w Notion, w bazie o takiej nazwie (tu wklejam dokładną nazwę). Zanim cokolwiek zrobisz, zawsze sprawdzaj ten plik, żeby wiedzieć, na jakim etapie są dane prace”. Agent czyta README, przeszukuje moje bazy w Notion, upewnia się, że odnosi się do właściwej, i dopisuje zapis do README. Od tej chwili przed każdą pracą sprawdzi, co jest do zrobienia. Świetnie to działa. Mamy też podgląd zmian: zobaczymy, co dokładnie zmienił i jak to wygląda.
Serwery MCP: narzędzia spoza biblioteki
Trzecia funkcja, o której już wspomniałem: umiejętności — powtarzalny zestaw reguł, które agent widzi i do których sięga, jeśli uzna to za istotne.
Wróćmy do UI designera, który buduje stronę w Paper. Możemy na szybko obejrzeć efekt — wyszedł naprawdę fajnie, przy jednym prostym poleceniu dał sobie świetnie radę. I teraz piszemy: „Na podstawie tego, co już wiesz o korzystaniu z Paper, stwórz umiejętność, którą będę mógł wykorzystać w innych przypadkach użycia”. Agent pomyśli, uzna, że to zadanie dla kreatora umiejętności (skill creator) — i zacznie tworzyć daną sprawność. Umiejętności można oczywiście budować całkowicie od zera, ale to mało praktyczne: trudno opisać cały proces z niczego. Dużo łatwiej po udanej rozmowie — tak dopracowanej, że agent dawał idealne odpowiedzi — powiedzieć po prostu: „Zapisz to jako umiejętność na przyszłość”.
Umiejętność to zatem zestaw instrukcji, folder z promptami. Gdy wejdziemy w wtyczki i potem w umiejętności, zobaczymy, do jakich mamy dostęp — jest ich naprawdę sporo; można je przeszukiwać i dodawać kolejne. Na początku dostępne są systemowe: generowanie obrazów, z którego korzystaliśmy przy zdjęciach; dokumentacja OpenAI — gdy nie wiemy, jak coś w Codexie działa, pytamy, a agent ma na bieżąco dostęp do najświeższych docsów; kreator umiejętności, z którego właśnie korzystamy; i sporo innych, które zbierają się po drodze, także te dołączane wraz z wtyczkami jak Notion.
Ale wróćmy do Paper, bo jego nie było w bibliotece i trzeba było wtyczkę jakoś dodać. Wszedłem w ustawienia i pod serwerami MCP trzeba było dodać serwer „paper”. Nic specjalnie skomplikowanego: w przeglądarce wpisujemy „paper mcp codex docs” i zawsze znajdziemy dokumentację, która umożliwia połączenie zewnętrznego narzędzia z Codexem. Znalazłem całą instrukcję, ale mimo wszystko nie działało — wpisywałem ręcznie nazwę „paper” i URL, i tyle, a zapisać się nie dało. I tu trik, do którego was zachęcam: po prostu poskarżyłem się agentowi. „Nie mogę się połączyć z MCP Paper — w ich dokumentacji każą zrobić takie i takie rzeczy” — załączyłem zrzut ekranu, jak przed chwilą na stronie Hostingera — „co robię źle?”. Wytłumaczył mi, co mogłem zrobić źle, ale to też nie było to. Więc zapytałem, czy może po prostu zrobić to za mnie. Popracował niecałe cztery minuty — i zrobił. Wchodzę w ustawienia i widzę: paper połączony, skonfigurowany przez samego Codexa.
(Informacja dodatkowa: MCP, czyli Model Context Protocol, to otwarty standard łączenia modeli językowych z zewnętrznymi narzędziami i danymi — dzięki niemu agent może obsługiwać aplikacje, które nie mają gotowej integracji z Codexem.)
W aplikacji Paper widać już, że agent coś wymyśla i buduje stronę — to chwilę potrwa. Trzeba mieć świadomość, że za pierwszym razem narzędzie będzie działać trochę koślawo. Agent nie zawsze wie, jak korzystać z narzędzia zewnętrznego: podpięliśmy je przez MCP, a tam — w przeciwieństwie do wtyczki Notion z jej umiejętnościami — nie ma instrukcji obsługi. Trzeba mu więc pozwolić chwilę się pouczyć, popęlić trochę błędów, pokręcić się w kółko — w końcu zrobi. A na koniec rozmowy, do czego zaraz przejdziemy, możemy kazać mu stworzyć umiejętność korzystania z tego narzędzia, żeby już wiedział, jak się nim posługiwać.
Wbudowana przeglądarka, czyli piąta funkcja
Chciałbym pokazać jedno z ciekawszych zastosowań umiejętności: wykorzystanie przeglądarki. Codex ma dostęp do umiejętności „browser”, która pozwala otworzyć natywną przeglądarkę wewnątrz aplikacji i z niej korzystać. Mówię: „Otwórz zewnętrzną przeglądarkę i wejdź na stronę Excalidraw” — po czym szybko się poprawiam, bo Escape przerywa wykonywane polecenie: chodziło mi o wewnętrzną. Agent korzysta z umiejętności „browser”, otwiera przeglądarkę z boku i wchodzi na Excalidraw.
Aż się załaduje, zapraszam was w wolnej chwili do mojego newslettera — wychodzi co piątek i w nim czytacie o sztucznej inteligencji „na chłopski rozum”: jeden główny temat, najważniejsze newsy z minionego tygodnia i coś na końcowy uśmiech. Serdecznie zapraszam.
Przeglądarka otworzyła się automatycznie (przypadkiem ją zamknąłem, ale wróciła) i mamy Excalidraw — możemy z niego korzystać tak, jakbyśmy normalnie w nim rysowali. To fajne na przykład do przeglądania grup na Facebooku, do których agent zwykle nie ma dostępu: możemy mieć zapasowe konto i pozwolić mu oglądać to, na czym nam zależy. Możemy też tworzyć diagramy, które normalnie trzeba by wyklikać ręcznie. Na podstawie umiejętności, którą stworzyłem wcześniej z rozmowy o Excalidraw, proszę: „Stwórz mi prosty diagram, w którym opiszesz, czym jest Codex, aplikacja od OpenAI”. Agent — mając tę umiejętność i dostęp do przeglądarki — zrobi elegancki diagram. I to jest owa piąta funkcja: fizyczne, faktyczne klikanie za nas w otwartej przeglądarce. Na pewno można to fajnie wykorzystać, choć tym razem nie będziemy czekać na efekt — uwierzcie na słowo, że działa, bo robiłem to wielokrotnie.
Pamięć w trzech warstwach
Funkcja numer sześć: zbieranie, dostosowywanie i dopasowywanie pamięci — manualnie, globalnie lub lokalnie, albo automatycznie. Pamięć automatyczna tworzy się w folderze Codex Memories i zbiera w trakcie współpracy. Możemy otworzyć nową rozmowę i zapytać: „Co o mnie wiesz w tym projekcie, w tym folderze?”. Trzeba chwili, żeby cokolwiek się zapisało, ale z czasem agent powie, co o nas pamięta. Warto to sprawdzać, żeby się upewnić, że nie zapamiętał jakichś bzdur albo rzeczy, których nie chcemy — choć zwykle tej pamięci po prostu nie modyfikujemy; to coś, do czego agent sam ma dostęp.
Jeśli chcemy zmienić to, co o nas pamięta, lepiej zrobić to z poziomu pliku AGENTS.md (Informacja dodatkowa: AGENTS.md to plik z instrukcjami dla agentów programistycznych, który wiele takich narzędzi czyta automatycznie na początku każdej sesji.). Otwieramy ustawienia, personalizację, i wklejamy instrukcje niestandardowe — czyli pamięć przenoszoną między sesjami. Wpisuję na próbę „pamiętaj, że jestem Mikołaj”, zapisuję — i widzę komunikat: zapisano plik AGENTS.md. To jest pamięć globalna. Pamięć lokalna to pamięć projektowa — na przykład nasz README, który stworzyliśmy wcześniej. Można oczywiście tworzyć dowolne pliki i nazywać je inaczej; README jest po prostu standardem, który zawsze zostanie przeczytany. A jeśli chcemy inną formę pamięci — na przykład „preferencje nauki” — każemy stworzyć plik preferencje.md, w którym agent będzie zapisywał, jak ma nam tłumaczyć rzeczy, których nie rozumiemy. Warto wtedy dopisać w README: „Jeśli poruszany jest temat tego, jak ja się najlepiej uczę, zapisuj to w pliku preferencje.md”. I mamy połączenie obu pamięci: gdy na bocznym czacie zapytam, co znaczy tamta czy tamta kwestia, a agent dobrze mi coś wytłumaczy — zapisze to w preferencjach i będzie pamiętał, jak się uczę. Taki mały lifehack, który mam nadzieję, że wam pomoże.
Automatyzacje
Ostatnia funkcja: automatyzacje. Wracamy do projektu, otwieramy nasz pierwszy czat i mówimy: „Stwórz automatyzację, która raz dziennie o 18:00 sprawdzi plik w Notion, w którym zapisywany jest postęp prac, i zapyta mnie, co dziś udało się zrobić i co udało się popchnąć do przodu. Jeśli czegoś się nie udało popchnąć, chcę, żeby to zapamiętał i później dostosowywał kolejne kroki do tego, co mi idzie dobrze, a co gorzej — i żeby czasem trochę mnie zmobilizował, gdy coś idzie mniej sprawnie”. Można to zrobić z poziomu czatu albo z poziomu sekcji automatyzacje, gdzie ręcznie opisujemy, co ma powstać.
Od czego zacząć — i co jeszcze czeka w ustawieniach
Jak widzicie, możliwości jest mnóstwo. Polecam jako pierwszą rzecz otworzyć czat — nawet bez projektu — i skorzystać z tamtego promptu, który możecie skopiować: po prostu rozmawiać z agentem, pytać, co jest możliwe, prosić o tłumaczenia i na bieżąco wykonywać to, co ma być wykonane, patrząc, jak to działa. Zajrzyjcie też do ustawień, bo tam czeka więcej pomniejszych opcji: na przykład tryb codziennej pracy, dzięki któremu interfejs jest trochę mniej techniczny i mniej przygnębiający, albo hooki — ustawienia tego, co ma się dziać przy konkretnych zadaniach agenta. Jest tego sporo, ale mamy już za sobą dobre 90% tego, co da się w Codexie zrobić.
Na koniec jeszcze raz zapraszam do mojego newslettera. Dziękuję bardzo za uwagę i do usłyszenia w przyszłych materiałach. Cześć!