Kredyty, limity użycia i optymalizacja kosztów Codeksa
Zarządzanie kosztami Codeksa polega na tym, by limity planu, kredyty i wydatki na API wystarczyły na dłużej, dzięki kontroli czterech dźwigni: modelu i poziomu rozumowania (effort) w każdym zadaniu, kontekstu wysyłanego w każdej turze, liczby agentów działających bez nadzoru oraz ścieżki rozliczeń. /status, /usage, codex exec --json i OpenTelemetry pokazują, dokąd idzie zużycie.
Ta strona jest dla programisty lub tech leada, który odpowiada za Codeksa w zespole. Jest środa, tygodniowy limit prawie się skończył i nikt nie umie powiedzieć, czy winne było jedno długie zadanie w chmurze, nocna automatyzacja, czy to, że wszyscy uruchamiają GPT-6 Astra z wysokim poziomem rozumowania do rutynowych poprawek. Polecenia i klucze konfiguracji sprawdziliśmy 26 września 2026 r. na Codex CLI 0.157.1. Politykę wydatków obejmującą wszystkich dostawców opisuje strona zarządzanie kosztami AI.
Co zyskasz, zarządzając kosztami Codeksa
Dział zatytułowany „Co zyskasz, zarządzając kosztami Codeksa”- Sposób, by widzieć zużycie dla sesji (
/status,/usage), dla przebiegu headless (codex exec --json) i dla zespołu (OpenTelemetry) - Politykę modelu i poziomu rozumowania zapisaną w profilach
config.toml, która kieruje rutynową pracę poza najdroższe ustawienie - Ustawienia kontekstu, dzięki którym tura nie wysyła ponownie instrukcji i wyników narzędzi, których nikt nie potrzebuje
- Wzorzec ograniczania przebiegów
codex execbez nadzoru, które nie mają flagi limitu wydatków - Test, który dowodzi, że tańsza konfiguracja nie obniżyła jakości: koszt zaakceptowanej zmiany, a nie sam koszt
Dokąd idzie zużycie Codeksa?
Dział zatytułowany „Dokąd idzie zużycie Codeksa?”Sposób logowania decyduje o tym, gdzie mierzy się zużycie i gdzie możesz je ograniczyć. Najpierw znajdź swój wiersz:
| Jak działa Codex | Gdzie widzisz zużycie | Co je ogranicza |
|---|---|---|
| Logowanie przez ChatGPT (Codex jest w planach Plus, Pro, Business, Edu i Enterprise) | /status i /usage w CLI; baner limitu | Limity planu w oknach pięciogodzinnych i tygodniowych; potem kredyty lub reset limitu, jeśli twój plan je oferuje |
| Logowanie kluczem API OpenAI | Rozliczenia twojego konta API OpenAI | Płatność za tokeny według stawek API; ustaw alerty budżetowe na tym koncie |
| Codex z dostawcą Amazon Bedrock | Rachunek AWS | Mechanizmy budżetowe AWS |
Ceny planów i porównanie narzędzi są w analizie kosztów, a ceny modeli za token na stronie modeli. Ta strona ich nie powtarza, bo zmieniają się częściej niż poniższe rady.
Niezależnie od ścieżki zużycie napędzają te same cztery dźwignie:
- Model i poziom rozumowania. GPT-6 Astra jest domyślnym modelem wbudowanym od CLI 0.153.4 i działa z poziomem rozumowania
low, dopóki go nie podniesiesz. Własne opisy Codeksa przedstawiają GPT-6 Sol jako „Workhorse model for coding and everyday work”, a GPT-6 Luna jako „Fast and affordable model for easier tasks”. Tryb Fast dla Astry ma opis „2x speed, increased usage”. W GPT-6 Sol i GPT-6 Luna tryb Fast jest domyślnym poziomem usługi, a Codex opisuje go tylko jako „1.5x speed”; opis „increased usage” dotyczy trybu Fast w Astrze. - Kontekst w każdej turze. Każda tura wysyła ponownie łańcuch plików
AGENTS.md(doproject_doc_max_bytes, domyślnie 32 KiB), dotychczasową rozmowę i wyniki narzędzi, które w niej zostały. Okno kontekstu modelu w Codeksie ma domyślnie 272 tys. tokenów. - Agenci, na których nie patrzysz. Subagenci, automatyzacje i zadania w chmurze wykonują własne tury. Próby best-of-N w chmurze (
codex cloud exec --env <ENV_ID> --attempts N "<zadanie>") wykonują zadanie N razy. - Przebiegi bez nadzoru.
codex execw wersji 0.157.1 nie ma flagi limitu wydatków (sprawdzone przezcodex exec --help26 września 2026 r.), więc pętla w CI działa, dopóki nie skończy albo dopóki zadanie nie zostanie przerwane.
Skonfiguruj widoczność kosztów Codeksa, a potem limity
Dział zatytułowany „Skonfiguruj widoczność kosztów Codeksa, a potem limity”-
Zapisz wersję CLI na każdej maszynie. Uruchom
codex --version./usagewymaga wersji 0.156.0 lub nowszej, a GPT-6 Sol i GPT-6 Luna wersji 0.155.0 lub nowszej. Osoby na różnych wersjach mogą nie pracować na tym samym modelu domyślnym (GPT-6 Astra jest domyślny od 0.153.4), więc ich zużycia nie da się porównać, dopóki wersje się nie zgadzają. Wyrównaj wersje poleceniemcodex update. -
Odczytaj jedną sesję. W sesji
/statuspokazuje konfigurację sesji i zużycie tokenów, a w uprawnionych przestrzeniach roboczych (workspace) także szacowane kredyty lub koszt wątku (od 0.148.0)./usagepokazuje zużycie konta i proponuje reset limitu, jeśli jest dostępny (od 0.156.0). Według notatek do wydania 0.153.0 użytkownicy Plus i Team (w notatkach do wydania plan Business nazywa się jeszcze Team) dostają też wcześniejsze ostrzeżenie, gdy zostaje mniej niż połowa limitu. -
Mierz każdy przebieg headless. Zapisz strumień zdarzeń JSONL i zsumuj liczniki tokenów ze wszystkich zdarzeń
turn.completed:Okno terminala # Terminal lub krok CI. Wypisuje tokeny jednego przebiegu codex exec.codex exec --json --ephemeral --sandbox workspace-write "Fix the failing test in tests/billing/" > events.jsonljq -s '[.[] | select(.type=="turn.completed") | .usage]| {input: (map(.input_tokens // 0) | add),cached: (map(.cached_input_tokens // 0) | add),output: (map(.output_tokens // 0) | add)}' events.jsonlNiski udział
cachedw długim przebiegu oznacza, że kontekst zmienia się w każdej turze i nic nie jest używane ponownie. Zwykle to znak, że zadanie było za szerokie.Profile uprawnień (
-c default_permissions=":workspace", beta) to preferowany przez OpenAI następca--sandbox; nie łącz obu mechanizmów. -
Eksportuj OpenTelemetry, by widzieć cały zespół. Codex czyta tabelę
[otel]zconfig.tomli emituje metrykicodex.turn.token_usage.*(wejście, cache, wyjście, suma) orazcodex.turn.cost_microusd, które we własnym backendzie podzielisz według osoby, modelu i poziomu rozumowania. W 0.157.1metrics_exporterma domyślnie wartośćstatsig, czyli wewnętrzne miejsce docelowe Codeksa, więc ustaw go jawnie. Pełną konfigurację i dashboard znajdziesz na stronie obserwowalność agentów. -
Wybierz limit dla swojego wiersza. W planie ChatGPT sufitem jest limit planu; ustal, kto może kupować kredyty lub używać resetu, i zapisz to. Przy kluczu API ustaw alerty budżetowe na koncie i daj każdemu potokowi CI osobny klucz, żeby wydatki jednego zadania były widoczne osobno. Przy Bedrocku użyj budżetów AWS. Ograniczenia dla całego zespołu (
requirements.toml, dozwolone serwery MCP, zarządzana konfiguracja) opisuje strona nadzór nad Codeksem w firmie.
Ustal politykę modelu i poziomu rozumowania w Codeksie
Dział zatytułowany „Ustal politykę modelu i poziomu rozumowania w Codeksie”Zasada, której ten serwis trzyma się wszędzie: zacznij od modelu domyślnego, dostrój poziom rozumowania, zanim zmienisz model, i zmieniaj model tylko wtedy, gdy twoje własne ewaluacje to uzasadniają. W Codeksie oznacza to GPT-6 Astra z domyślnym poziomem rozumowania low do pracy interaktywnej, wyższy poziom tylko w zadaniach, które go wymagają, oraz GPT-6 Sol lub GPT-6 Luna do rutynowych zadań, gdy przejdą twoje testy.
| Zadanie | Model | Poziom rozumowania | Dlaczego |
|---|---|---|---|
| Trudna praca agentowa w wielu plikach | GPT-6 Astra (domyślny) | low, podnoszony dla zadania przez /model | Najpierw dostrój poziom rozumowania na modelu domyślnym, dopiero potem zmień model |
| Codzienne zmiany, testy, code review | GPT-6 Sol | medium (jego domyślny) | Komunikat migracyjny Codeksa mówi, że z Sol „usage limits go further” |
| Zmiany nazw, docstringi, poprawki lintera, triage | GPT-6 Luna | medium (jego domyślny) | Komunikat Codeksa o limicie poleca Lunę, gdy limit się kończy |
| GPT-5.6 Sol, Terra lub Luna w starych konfiguracjach | Przejdź na GPT-6 Sol lub GPT-6 Luna | — | Codex opisuje modele GPT-5.6 jako „Older” i proponuje migrację |
Zapisz politykę w plikach, a nie na stronie wiki. codex --profile <nazwa> (lub -p) nakłada $CODEX_HOME/<nazwa>.config.toml na bazową konfigurację:
# ~/.codex/config.toml — domyślna konfiguracja do pracy interaktywnejmodel = "gpt-6-astra"model_reasoning_effort = "low"# ~/.codex/routine.config.toml — używany przez: codex -p routinemodel = "gpt-6-luna"model_reasoning_effort = "medium"Dla jednego przebiegu nadpisz model w wierszu poleceń: codex exec -m gpt-6-sol "Add tests for src/billing/invoice.ts". W sesji /model zmienia model i poziom rozumowania. W GPT-6 Astra /fast włącza tryb Fast, który Codex opisuje jako „our fastest inference with increased plan usage”; nie włączaj go do pracy z Astrą, na którą nikt nie czeka. Przebiegi na Sol i Lunie działają w trybie Fast domyślnie.
Skróć kontekst, który Codex wysyła w każdej turze
Dział zatytułowany „Skróć kontekst, który Codex wysyła w każdej turze”Za kontekst płacisz w każdej turze, więc linia w AGENTS.md kosztuje więcej niż ta sama linia w prompcie.
-
Podziel
AGENTS.mdwedług zakresu. Codex łączy plikiAGENTS.mdod korzenia repozytorium do katalogu roboczego i przerywa po osiągnięciuproject_doc_max_bytes. W korzeniu trzymaj to, co obowiązuje wszędzie, zasady pakietu w pakiecie, a długie procedury przenieś do skilli (skills), które ładują się tylko wtedy, gdy są potrzebne. Metodę opisuje optymalizacja AGENTS.md. -
Wyłącz nieużywane serwery MCP i zawęź te, które zostają. Wyłączony serwer się nie uruchamia, a
enabled_toolsudostępnia tylko wskazane narzędzia. Duże wyniki narzędzi zostają w rozmowie, więctool_output_token_limitogranicza, ile z każdego wyniku zostaje w kontekście:# ~/.codex/config.toml (klucze akceptowane przez `codex exec --strict-config`, 0.157.1)tool_output_token_limit = 8000[mcp_servers.sentry]command = "npx"args = ["-y", "@sentry/mcp-server"]enabled = false # włącz ponownie przy debugowaniu produkcji[mcp_servers.linear]url = "https://mcp.linear.app/mcp"enabled_tools = ["READ_TOOL_1", "READ_TOOL_2"]codex mcp listpokazuje każdy serwer jakoenabledalbodisabled. ZastąpREAD_TOOL_1iREAD_TOOL_2nazwami narzędzi, które podaje sam serwer; nazwy różnią się między serwerami i zmieniają między wydaniami. Więcej technik opisuje strona ograniczanie kosztu tokenów MCP. -
Zaczynaj nową sesję dla każdego zadania. Wątek, który niesie wczorajszą pracę, wysyła ją ponownie w każdej turze. Użyj
/compact, gdy musisz kontynuować długi wątek, a nowej sesji, gdy zmienia się zadanie. -
Zawężaj zadanie, nie tylko model. „Zrefaktoryzuj uwierzytelnianie” oznacza czytanie całej usługi; „zmień
src/middleware/auth.ts, by przyjmował JWT, zachowaj interfejs, uruchomtests/auth/” oznacza trzy pliki.
Ogranicz przebiegi Codeksa bez nadzoru
Dział zatytułowany „Ogranicz przebiegi Codeksa bez nadzoru”Automatyzacje, zadania w chmurze i zadania CI nie mają człowieka, który pilnuje liczby tur. Ponieważ codex exec w 0.157.1 nie ma limitu wydatków, ogranicz go z zewnątrz:
# Krok CI. OPENAI_API_KEY pochodzi z magazynu sekretów CI, nigdy z pliku.timeout 20m codex exec --json --ephemeral --sandbox workspace-write \ -m gpt-6-sol "Fix the failing unit tests in tests/billing/. Change nothing outside src/billing/ and tests/billing/." \ > events.jsonl# Wejście bez cache + wyjście: część, która rośnie, gdy kontekst się zmienia; wejście z cache też jest rozliczane, ale taniej.UNCACHED=$(jq -s '[.[] | select(.type=="turn.completed") | .usage | ((.input_tokens // 0) - (.cached_input_tokens // 0) + (.output_tokens // 0))] | add // 0' events.jsonl)if [ "$UNCACHED" -gt 2000000 ]; then echo "Uncached input + output tokens $UNCACHED over this job's budget"; exit 1; fiPróg oznacza zadanie jako nieudane dopiero po fakcie, ale to wystarczy, żeby zadanie, które wymknęło się spod kontroli, nie powtarzało się co noc. Wyznacz go z mediany ostatnich 20 przebiegów, a nie na oko. Twardym zatrzymaniem jest limit czasu samego zadania (na przykład timeout-minutes w GitHub Actions). Wzorce headless opisuje strona Codex w trybie nieinteraktywnym.
Pozostałe ścieżki bez nadzoru:
- Automatyzacje. Uruchamiaj raporty codziennie, nie co godzinę, chyba że ktoś czyta je co godzinę. Zawężaj prompt do „plików zmienionych w ciągu ostatnich 24 godzin”, a nie do „całego kodu”. Zobacz automatyzacje Codeksa.
- Zadania w chmurze. Używaj
--attemptswiększego niż 1 tylko wtedy, gdy naprawdę porównasz próby; inaczej płacisz za pracę, którą wyrzucasz. Zobacz środowiska chmurowe. - Długie zadania
/goal.[goals] max_goal_token_budgetustala budżet tokenów dla celu, a od 0.151.0 wliczają się do niego tokeny zużyte przez zagnieżdżonych subagentów. Ustaw go przed zadaniem, które ma trwać godzinami.
Jak udowodnić, że oszczędności nie obniżyły jakości?
Dział zatytułowany „Jak udowodnić, że oszczędności nie obniżyły jakości?”Tańsze przebiegi, które generują więcej poprawek, kosztują więcej. Mierz koszt zaakceptowanej zmiany: tokeny lub kredyty zużyte przez zadanie podzielone przez zmiany, które trafiły do gałęzi głównej i nie zostały wycofane. Metodę, łącznie z licencjami i czasem review, opisuje strona ekonomia oprogramowania budowanego przez agentów.
Zmianę routingu udowadniaj bramkami, które już masz, a nie czytaniem każdego diffa:
- Wybierz 10 zadań, które Codex wykonał w zeszłym miesiącu i które zostały czysto scalone razem z testami.
- Uruchom każde ponownie na tańszym ustawieniu (na przykład
codex exec -p routine --sandbox workspace-write) w świeżym worktree. - Policz, ile przechodzi te same bramki: testy, sprawdzenie typów, linter i
codex reviewwzględem gałęzi bazowej. - Przyjmij tańsze ustawienie dla danego typu zadań tylko wtedy, gdy przechodzi co najmniej tyle samo bramek co oryginał. Tabelę routingu zatwierdza tech lead; programista może podnieść poziom rozumowania dla pojedynczego zadania bez pytania.
Powtórz porównanie, gdy pojawi się nowy model; cały proces opisuje plan oceny nowego modelu.
Kiedy kontrola kosztów Codeksa zawodzi
Dział zatytułowany „Kiedy kontrola kosztów Codeksa zawodzi”| Objaw | Prawdopodobna przyczyna | Co zrobić |
|---|---|---|
| Tygodniowy limit znika do środy | Szerokie zadania eksploracyjne, wysoki poziom rozumowania w każdym zadaniu albo włączony tryb Fast w Astrze | Sprawdź /status w najcięższych wątkach, podziel zadania, ustawiaj poziom rozumowania dla zadania i wyłącz /fast dla pracy z Astrą w tle |
| Jedna osoba zużywa limit szybciej niż reszta | Starsze CLI z innym modelem domyślnym albo rozbudowana prywatna konfiguracja MCP | Porównaj codex --version i codex mcp list z konfiguracją kolegi |
| Liczba tokenów zadania CI podwaja się z dnia na dzień | Zmiana promptu poszerzyła zakres albo niestabilny test wpędza agenta w pętlę | Porównaj prompty, przeczytaj elementy command_execution w events.jsonl i zostaw próg tokenów na miejscu |
| OpenTelemetry nie pokazuje kosztów Codeksa | metrics_exporter został na wartości domyślnej | Ustaw eksporter jawnie i sprawdź, czy codex.turn.cost_microusd dociera z jednego przebiegu, zanim zbudujesz panele. Przebiegi headless codex exec mogą nie emitować metryk OTel (openai/codex#12913, niepotwierdzone w 0.157.1): źródłem prawdy dla CI zostaje suma tokenów z JSONL z kroku 3 |
| Zużycie wygląda na niskie, a faktura jest wysoka | Przebiegi na kluczu API lub Bedrocku są rozliczane poza widokiem planu ChatGPT | Spisz wszystkie klucze i dostawców w użyciu; daj każdemu potokowi CI własny klucz |
| Zadania kierowane do Luny wracają z review | Ten typ zadań wymaga więcej rozumowania, niż daje Luna | Przenieś ten typ zadań z powrotem na GPT-6 Sol i powtórz porównanie na 10 zadaniach |
Następne kroki
Dział zatytułowany „Następne kroki”- Codex w produkcji: pozostałe sygnały operacyjne i miejsce tej strony wśród nich
- Obserwowalność agentów: konfiguracja OpenTelemetry stojąca za widokiem zespołu
- Zarządzanie kosztami AI: budżety i przypisywanie kosztów dla Codeksa, Claude Code i Cursora
- Optymalizacja kosztów kontekstu: techniki skracania kontekstu wspólne dla wszystkich narzędzi
- Kontrola kosztów Claude Code: to samo zadanie w Claude Code, łącznie z limitem
--max-budget-usd