Przejdź do głównej zawartości

Codex

Codex to agent programistyczny OpenAI: czyta repozytorium, uruchamia polecenia w sandboxie, edytuje pliki i recenzuje diffy z poziomu CLI, aplikacji desktopowej, rozszerzeń IDE i Codex cloud. Domyślnym modelem wbudowanym w Codex jest GPT-6 Astra. O tym, czy wynikom można ufać, decydują sandbox, polityka akceptacji i bramki jakości repozytorium, a nie model.

Ten przegląd jest dla programistów, którzy zaczynają pracę z Codeksem, i tech leadów, którzy standaryzują go w zespole. Typowy punkt wyjścia: Codex kończy zadanie, ale skrypt wciąż przekazuje usuniętą flagę --full-auto, AGENTS.md nie podaje komendy testów, a ty czytasz każdy diff, żeby sprawdzić, czy coś się nie zepsuło.

  • Pierwszą zmianę przeprowadzoną od planu tylko do odczytu do zrecenzowanego diffu.
  • Ustawienie uprawnień dla każdego rodzaju sesji, od planowania po CI.
  • Warstwy weryfikacji, dzięki którym zatwierdzasz dowody, a nie linie kodu.

Lokalne powierzchnie współdzielą ~/.codex/config.toml, AGENTS.md, skills i serwery MCP; Codex cloud ma własne środowiska.

PowierzchniaJak uruchomićKiedy po nią sięgnąć
CLI (TUI)codex w katalogu głównym repozytoriumPotrzebujesz trybu planowania (/plan), worktree i wszystkich flag
CLI nieinteraktywnecodex exec "…"Skrypty i CI potrzebują zdarzeń JSONL (--json) albo odpowiedzi zgodnej ze schematem (--output-schema)
Aplikacja desktopowacodex app (macOS i Windows)Równoległe wątki, każdy we własnym worktree
Rozszerzenie IDEVS Code, Cursor i Windsurf (dziś Devin Desktop) według README OpenAIChcesz mieć agenta obok edytowanego pliku
Codex cloudchatgpt.com/codex albo codex cloud (eksperymentalne)Długie zadania w tle albo @codex review w pull requeście

Instalacja opisuje każdą powierzchnię, łącznie z JetBrains i Xcode. Wybór modelu i ceny znajdziesz na stronie modeli.

Jak dowieźć pierwszą zweryfikowaną zmianę w Codeksie?

Dział zatytułowany „Jak dowieźć pierwszą zweryfikowaną zmianę w Codeksie?”

Potrzebujesz repozytorium Git z czystym working tree i krótką specyfikacją zacommitowaną jako docs/specs/login-rate-limit.md.

  1. Zainstaluj Codex, zaloguj się i sprawdź instalację (terminal):

    Okno terminala
    npm install -g @openai/codex
    codex login
    codex doctor
  2. Uruchom codex w katalogu głównym repozytorium, zaakceptuj pytanie o zaufanie i wpisz /init, żeby wygenerować AGENTS.md. Edytuj plik, aż będzie podawał dokładne komendy typecheck, lint i testów.

  3. Wklej poniższy prompt planistyczny (zaczyna się od /plan), zanim agent zacznie turę, i zaakceptuj plan. Skopiuj zaakceptowany plan do docs/plans/login-rate-limit.md samodzielnie (tryb planowania nie edytuje żadnych plików), a potem zacommituj go razem z AGENTS.md.

  4. Uruchom sesję w zarządzanym worktree Git poleceniem codex --worktree i wklej prompt implementacyjny.

  5. Sprawdź zgłoszone komendy i kody wyjścia, a potem z wnętrza worktree zleć review diffu:

    Okno terminala
    codex review --uncommitted

    Otwórz pull request; merge blokują wymagane kontrole CI i wskazany z imienia recenzent.

Jaki sandbox i jaką politykę akceptacji ustawić dla sesji Codeksa?

Dział zatytułowany „Jaki sandbox i jaką politykę akceptacji ustawić dla sesji Codeksa?”

Codex oddziela to, czego polecenie może dotknąć (sandbox), od tego, kiedy najpierw pyta ciebie (polityka akceptacji). W 0.157.1 -a przyjmuje tylko on-request (domyślnie) i never.

OpenAI zaleca profile uprawnień (beta, CLI 0.138.0 lub nowsze), wybierane przez -c default_permissions="<profil>" albo w config.toml. Starsza flaga --sandbox nadal działa, ale oba mechanizmy się nie łączą, więc w jednej sesji wybierz jeden (przewodnik po konfiguracji).

SesjaUstawienieNa co uważać
Planowanie i review/plan; albo profil :read-only (-c default_permissions=":read-only"), albo starsze --sandbox read-onlyWpisz /plan przed turą, nie w trakcie pracy
Interaktywna implementacja w worktreeProfil :workspace (-c default_permissions=":workspace") albo starsze --sandbox workspace-write, z akceptacjami on-requestZatwierdzanie bez czytania
Długi przebieg lokalny bez nadzoru--approve-for-me (model recenzujący akceptuje w ramach workspace-write)Ocenia wyjścia poza sandbox, nie poprawność
Job CIcodex exec -c default_permissions=":read-only" (albo starsze --sandbox read-only) do review; :workspace lub workspace-write do poprawekcodex exec i tak działa z akceptacją never i nie ma -a
Pełny dostęp--dangerously-bypass-approvals-and-sandboxTylko jednorazowe runnery z ograniczoną siecią

Skąd wiesz, że wynik Codeksa jest poprawny, bez czytania każdej linii?

Dział zatytułowany „Skąd wiesz, że wynik Codeksa jest poprawny, bez czytania każdej linii?”

Każda warstwa wymusza to, o co warstwa wyżej tylko prosi:

  • AGENTS.md nazywa bramki, ale niczego nie wymusza (AGENTS.md w Codeksie).

  • Hooki i reguły wymuszają. Zaufane hooki z .codex/hooks.json działają niezależnie od promptu; pliki .rules decydują, które polecenia mogą wyjść poza sandbox.

  • codex review ponownie czyta diff (--uncommitted, --base albo --commit).

  • CI ponownie uruchamia bramki, a review tylko do odczytu dokłada drugą opinię w formacie maszynowym:

    Okno terminala
    codex exec -c default_permissions=":read-only" \
    --output-schema .github/codex/schemas/findings.json \
    "Review the diff between origin/main and HEAD against docs/specs/login-rate-limit.md. Report only blocking findings, each with file, line, and the behaviour that fails."

    Schemat znalezisk znajdziesz w Codex w CI/CD.

  • Człowiek zatwierdza pakiet dowodów, a nie każdą linię (dlaczego dowody wygrywają z diffami).

  • „unexpected argument”. 0.157.1 odrzuca codex exec -a never …. Usuń flagę: codex exec i tak działa z akceptacją never, a prefiks codex -a … exec tego nie zmienia.
  • Skrypty przekazują --full-auto. W 0.157.1 tej flagi nie ma. Użyj profilu uprawnień (-c default_permissions=":workspace"), --approve-for-me albo --sandbox workspace-write.
  • Codex ignoruje AGENTS.md. Niezaufane projekty go nie dostarczają (od CLI 0.150.0); oznacz projekt jako zaufany, ale tylko checkout napisany przez ciebie lub twój zespół, nigdy gałąź kontrybutora w CI.
  • Równoległe sesje wchodzą sobie w drogę. codex --worktree izoluje pliki, ale nie porty ani bazy danych (worktree).