Przejdź do głównej zawartości

Porady dotyczące aplikacji Codex

Używasz aplikacji Codex od tygodnia. Otwierasz jeden wątek, wpisujesz prompt, czekasz na wyniki, przeglądasz diff i idziesz dalej. Tymczasem programista obok ciebie uruchamia trzy wątki worktree równolegle, ma automatyzację triażującą błędy z Sentry przez noc i przegląda diffy z komentarzami inline, które Codex automatycznie adresuje. Aplikacja jest zaprojektowana pod tego rodzaju równoległy, wieloprojektowy przepływ pracy — po prostu musisz wiedzieć, gdzie są kontrolki.

  • Skróty klawiszowe oszczędzające sekundy przy każdej interakcji
  • Wzorce worktree do uruchamiania równoległych zadań bez konfliktów plików
  • Przepisy na automatyzacje dla powtarzalnej pracy w tle
  • Techniki synchronizacji z IDE, które dają aplikacji kontekst z twojego edytora
  • Przepływy pracy wizualnego przeglądu diffów, które szybciej wychwytują problemy

Naucz się ich, a twoje palce nigdy nie opuszczą klawiatury:

SkrótAkcja
Cmd + JPrzełącz zintegrowany terminal
Cmd + KOtwórz paletę poleceń
Ctrl + M (przytrzymaj)Rozpocznij dyktowanie głosowe
Ctrl + LWyczyść terminal
Esc (2x)Edytuj swoją poprzednią wiadomość
Enter (podczas działania)Wstrzyknij instrukcje do bieżącej tury
Tab (podczas działania)Kolejkuj kontynuację na następną turę

Ostatnie dwa są najbardziej niedoceniane. Gdy widzisz, że agent zmierza w złym kierunku, naciśnij Enter, aby go przekierować w trakcie tury, zamiast czekać, aż skończy i zaczynać od nowa.

Każdy wątek działa w jednym z trzech trybów. Wybór właściwego oszczędza czas i zapobiega konfliktom:

Pracuj bezpośrednio w katalogu projektu. Używaj do:

  • Szybkich pytań o bazę kodu
  • Małych edycji plików, nad którymi aktualnie pracujesz
  • Zadań, które muszą widzieć twoje niezacommitowane zmiany

Izoluj zmiany w Git worktree. Używaj do:

  • Funkcji, które nie powinny kolidować z twoją bieżącą pracą
  • Uruchamiania wielu równoległych zadań w tym samym projekcie
  • Eksperymentów, które możesz odrzucić

Uruchom zdalnie w skonfigurowanym środowisku chmurowym. Używaj do:

  • Ciężkich obliczeń, które spowolniłyby twoją maszynę
  • Zadań wymagających czystego środowiska
  • Równoległych prób best-of-N dla krytycznych poprawek

Dla każdej poważniejszej funkcji otwórz jednocześnie trzy wątki:

  1. Implementacja (Worktree) — Główne zmiany w kodzie
  2. Testy (Worktree, ta sama gałąź bazowa) — Pokrycie testami nowego kodu
  3. Dokumentacja (Lokalny) — Aktualizacje dokumentacji, które nie kolidują z kodem

Zsynchronizuj worktree implementacji i testów na tę samą gałąź funkcji. Przeglądaj dokumentację na miejscu.

Przy tworzeniu wątku Worktree starannie wybierz gałąź bazową. Worktree wykonuje checkout z tej gałęzi, więc niezacommitowane zmiany na twojej bieżącej gałęzi nie są widoczne.

Po zakończeniu wątku worktree masz trzy opcje:

  1. Utwórz PR bezpośrednio z narzędzi Git w aplikacji
  2. Zastosuj lokalnie aby scalić zmiany worktree do twojego katalogu roboczego
  3. Synchronizuj z gałęzią aby wypchnąć worktree na konkretną gałąź zdalną

Używaj “Utwórz PR” dla ukończonej pracy. Używaj “Zastosuj lokalnie”, gdy chcesz przejrzeć i dalej iterować przed commitem.

Ukończone wątki worktree zostawiają Git worktree na dysku. Aplikacja czyści je automatycznie po archiwizacji, ale możesz też wyczyścić je ręcznie, archiwizując ukończone wątki.

Przytrzymaj Ctrl + M gdy kompozytor jest widoczny i zacznij mówić. Codex transkrybuje twoją mowę i umieszcza tekst w kompozytorze. Edytuj go lub wyślij bezpośrednio.

Dyktowanie głosowe działa najlepiej dla:

  • Konwersacyjnych promptów, które szybciej jest powiedzieć niż napisać
  • Opisywania problemów wizualnych (“Przycisk w prawym górnym rogu nakłada się na menu nawigacyjne”)
  • Długich, szczegółowych instrukcji, których wpisywanie zajęłoby minuty

Działa gorzej dla:

  • Terminologii specyficznej dla kodu (nazwy zmiennych, sygnatury funkcji)
  • Krótkich, precyzyjnych poleceń

Edytuj transkrypcję przed wysłaniem, gdy precyzja ma znaczenie.

Przeciągnij i upuść zrzuty ekranu do kompozytora, aby dodać kontekst wizualny:

  • Upuść normalnie: Zastąp bieżący prompt obrazem
  • Shift + Upuść: Dodaj obraz jako kontekst obok tekstowego promptu

To nieocenione przy debugowaniu UI. Upuść zrzut ekranu zepsutego układu i opisz, co powinno się zmienić.

Gdy rozszerzenie Codex IDE i aplikacja są otwarte w tym samym projekcie, synchronizują się automatycznie:

  • Automatyczny kontekst: Aplikacja śledzi, które pliki masz otwarte w edytorze
  • Widoczność wątków: Wątki z aplikacji pojawiają się w rozszerzeniu IDE i odwrotnie
  • Odwołania do plików: Użyj @ w kompozytorze aplikacji, aby odwołać się do plików z przestrzeni roboczej edytora

Włącz “Auto context” w kompozytorze aplikacji, aby dać agentowi świadomość twojego bieżącego kontekstu edycji bez jawnego wymieniania plików.

Aplikacja ma wbudowany pełny przepływ pracy Git:

Panel diff pokazuje zmiany wprowadzone przez bieżący wątek. Możesz:

  • Zatwierdzić lub cofnąć poszczególne fragmenty zamiast akceptować wszystko
  • Dodać komentarze inline, które Codex zaadresuje w następnej turze
  • Porównać przed i po dla każdego zmodyfikowanego pliku

Po przejrzeniu diffu:

  1. Napisz wiadomość commita (lub pozwól Codex zasugerować jedną)
  2. Wypchnij na gałąź
  3. Utwórz pull request bezpośrednio z aplikacji

To eliminuje przechodzenie do terminala przy operacjach Git na ukończonej pracy.

Przełącz terminal za pomocą Cmd + J. Każdy wątek ma własny terminal ograniczony do katalogu projektu lub worktree. Używaj go do:

Okno terminala
# Zweryfikuj zmiany agenta
git diff
npm test
# Uruchamiaj polecenia bez opuszczania aplikacji
pnpm lint
docker compose logs api

Terminal współdzieli ten sam katalog roboczy co wątek, więc widzisz dokładnie to, co widzi agent.

W aplikacji przejdź do Automations i utwórz nową automatyzację:

  • Harmonogram: Codziennie o 2:00
  • Prompt: “Check the Sentry error dashboard for new errors in the last 24 hours. For each error, identify the root cause in the codebase and submit a fix as a PR.”
  • Gałąź: auto/sentry-triage

Automatyzacje działają w dedykowanych worktree w tle, więc nigdy nie kolidują z twoją pracą.

Włącz “Prevent sleep while running” w ustawieniach aplikacji, aby długotrwałe zadania i automatyzacje nie były przerywane, gdy twoja maszyna próbuje przejść w tryb uśpienia.

Skonfiguruj powiadomienia, aby wiedzieć, kiedy wrócić:

  • Domyślne: Powiadomienia pojawiają się, gdy zadanie kończy się lub wymaga zatwierdzenia, gdy aplikacja jest w tle
  • Zawsze: Otrzymuj powiadomienia nawet gdy aplikacja jest na pierwszym planie (przydatne dla długotrwałych wątków, których nie obserwujesz)
  • Nigdy: Wycisz wszystkie powiadomienia (przydatne podczas skupionej głębokiej pracy)
  • Wątek worktree nie chce się utworzyć: Gałąź bazowa może mieć niezacommitowane zmiany lub repozytorium jest w brudnym stanie. Zacommituj lub schowaj (stash) przed tworzeniem wątków worktree.
  • Synchronizacja z IDE nie działa: Zarówno aplikacja, jak i rozszerzenie IDE muszą być otwarte w tym samym korzeniu projektu. Sprawdź, czy ścieżki projektu dokładnie się zgadzają.
  • Dyktowanie głosowe niedokładne: Mów wyraźnie w umiarkowanym tempie. Edytuj transkrypcję przed wysłaniem. Lepiej radzi sobie z językiem naturalnym niż terminologią kodową.
  • Automatyzacja się nie uruchamia: Sprawdź, czy aplikacja jest uruchomiona (automatyzacje wymagają procesu aplikacji). Zweryfikuj harmonogram i czy projekt jest poprawnie skonfigurowany.
  • Terminal pokazuje zły katalog: Każdy wątek ma własny kontekst terminala. Upewnij się, że jesteś we właściwym wątku przed uruchomieniem poleceń.