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.
Co wyniesiesz z tego artykułu
Dział zatytułowany „Co wyniesiesz z tego artykułu”- 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
Skróty klawiszowe
Dział zatytułowany „Skróty klawiszowe”Naucz się ich, a twoje palce nigdy nie opuszczą klawiatury:
| Skrót | Akcja |
|---|---|
Cmd + J | Przełącz zintegrowany terminal |
Cmd + K | Otwórz paletę poleceń |
Ctrl + M (przytrzymaj) | Rozpocznij dyktowanie głosowe |
Ctrl + L | Wyczyść 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.
Tryby wątków
Dział zatytułowany „Tryby wątków”Każdy wątek działa w jednym z trzech trybów. Wybór właściwego oszczędza czas i zapobiega konfliktom:
Tryb lokalny
Dział zatytułowany „Tryb lokalny”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
Tryb Worktree
Dział zatytułowany „Tryb Worktree”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ć
Tryb Cloud
Dział zatytułowany „Tryb Cloud”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
Wzorzec trzech wątków
Dział zatytułowany „Wzorzec trzech wątków”Dla każdej poważniejszej funkcji otwórz jednocześnie trzy wątki:
- Implementacja (Worktree) — Główne zmiany w kodzie
- Testy (Worktree, ta sama gałąź bazowa) — Pokrycie testami nowego kodu
- 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.
Porady dotyczące Worktree
Dział zatytułowany „Porady dotyczące Worktree”Zacznij od właściwej gałęzi
Dział zatytułowany „Zacznij od właściwej gałęzi”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.
Zweryfikuj i wypchnij zmiany
Dział zatytułowany „Zweryfikuj i wypchnij zmiany”Git pozwala mieć daną gałąź wykonaną jako checkout tylko w jednym miejscu naraz, więc po zakończeniu wątku worktree wybierasz, jak ściągnąć pracę do siebie. Aplikacja daje ci dwie ścieżki w nagłówku wątku:
- Create branch here — Zamień worktree w gałąź. Stamtąd zacommituj, wypchnij i otwórz pull request bezpośrednio z narzędzi Git w aplikacji. Najlepsze, gdy możesz zweryfikować zmiany na samym worktree.
- Sync with local — Przenieś zmiany do swojego lokalnego checkoutu (utwórz nową gałąź lub zsynchronizuj z istniejącą). Użyj tego, gdy potrzebujesz zmian w swoim głównym checkoucie, na przykład dlatego, że możesz uruchomić tylko jedną instancję swojej aplikacji.
Używaj “Create branch here” dla ukończonej pracy, którą możesz zwalidować w worktree. Używaj “Sync with local”, gdy chcesz przejrzeć i dalej iterować w swoim głównym checkoucie przed commitem.
Sprzątanie worktree
Dział zatytułowany „Sprzątanie worktree”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.
Dyktowanie głosowe
Dział zatytułowany „Dyktowanie głosowe”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.
Dane wejściowe z obrazów
Dział zatytułowany „Dane wejściowe z obrazów”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ć.
Synchronizacja z IDE
Dział zatytułowany „Synchronizacja z IDE”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.
Wbudowane narzędzia Git
Dział zatytułowany „Wbudowane narzędzia Git”Aplikacja ma wbudowany pełny przepływ pracy Git:
Wizualny przegląd diffów
Dział zatytułowany „Wizualny przegląd diffów”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
Commit, Push i PR
Dział zatytułowany „Commit, Push i PR”Po przejrzeniu diffu:
- Napisz wiadomość commita (lub pozwól Codex zasugerować jedną)
- Wypchnij na gałąź
- Utwórz pull request bezpośrednio z aplikacji
To eliminuje przechodzenie do terminala przy operacjach Git na ukończonej pracy.
Zintegrowany terminal
Dział zatytułowany „Zintegrowany terminal”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:
# Zweryfikuj zmiany agentagit diffnpm test
# Uruchamiaj polecenia bez opuszczania aplikacjipnpm lintdocker compose logs apiTerminal współdzieli ten sam katalog roboczy co wątek, więc widzisz dokładnie to, co widzi agent.
Porady dotyczące automatyzacji
Dział zatytułowany „Porady dotyczące automatyzacji”Utwórz nocną automatyzację triażu
Dział zatytułowany „Utwórz nocną automatyzację triażu”W aplikacji przejdź do Automations i utwórz nową automatyzację. Formularz tworzenia ma dwa pola — harmonogram i prompt:
- Harmonogram: Codziennie o 2:00
- Prompt: “Check the Sentry error dashboard for new errors in the last 24 hours. For each one, identify the root cause in the codebase and summarize the suspected fix.”
Każde uruchomienie startuje w dedykowanym worktree w tle, więc nigdy nie koliduje z twoim głównym checkoutem. Wyniki trafiają do skrzynki Triage (uruchomienia, które nie mają nic do zgłoszenia, archiwizują się automatycznie). Automatyzacje używają twoich domyślnych ustawień sandboxa: w trybie tylko do odczytu uruchomienie jedynie raportuje, natomiast z pełnym dostępem może wprowadzać zmiany, a nawet otworzyć PR — więc świadomie przyznawaj dostęp do zapisu automatyzacjom, które mają dostarczać kod.
Nie pozwól maszynie zasnąć
Dział zatytułowany „Nie pozwól maszynie zasnąć”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.
Powiadomienia
Dział zatytułowany „Powiadomienia”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)
Gdy coś się psuje
Dział zatytułowany „Gdy coś się psuje”- 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ń.
Co dalej
Dział zatytułowany „Co dalej”- Polecenia CLI — Przepływy pracy z terminala uzupełniające aplikację
- Przepływy pracy w chmurze — Przenieś ciężkie zadania do środowisk chmurowych
- Zaawansowane techniki — Porady dla zaawansowanych dotyczące przepływów wielopowierzchniowych