Blog

Claude Code a Codex přes noc: nastavení autonomního režimu /goal

Markdown

Příkaz /goal v Claude Code 2.1.139 a Codex CLI spustí agenta AI autonomně na celé hodiny. Vysvětluji nastavení, reálné příklady a kolik tokenů to stojí.

Přečíst celý článek

Hlavní poznatek

Příkaz /goal se objevil v Claude Code 2.1.139 (11. května 2026) a Codex CLI 0.128.0 (30. dubna 2026, ve stabilní verzi od 21. května). Kritérium „hotovo“ definujete jednou a agent sám cyklicky plánuje, jedná a ověřuje, dokud kritérium nesplní nebo mu nedojdou tokeny. OpenAI veřejně předvedla 25hodinový běh s využitím 13 milionů tokenů. Tento režim se hodí pro migrace, benchmarky a refaktoringy s měřitelnými kritérii. Nehodí se pro úlohy s uživatelským rozhraním, produkční databáze ani vágní požadavky typu „vylepši to“.

Informace o práci s Ailoot najdete v dokumentaci.

Co je /goal v Claude Code a Codexu?

Hlavní poznatek

Před příkazem /goal vyžadovalo každé kolo práce agenta ruční pokyn „pokračuj“. Otevřel soubor, přečetl ho, něco napsal, zastavil se a čekal. Příkaz /goal jednou nastaví kritérium dokončení — agent sám rozhoduje, kdy je úkol hotový, a nepředá vám řízení, dokud ho nedokončí.

Scénář, který jsme všichni zažívali před dubnem 2026: zadám Claude úkol „migruj projekt z Pydantic v1 na v2“. Začne, po 30 sekundách se zastaví, podívám se, co udělal, napíšu „pokračuj“, udělá další krok, zastaví se a já znovu napíšu „pokračuj“. U rozsáhlé migrace to znamená 200–300 ručních pokynů „pokračuj“ a já v podstatě hlídám agenta, místo abych souběžně psal jiný kód.

OpenAI dospěla k závěru, že problémem nebyla „hloupost“ modelu, ale architektura smyčky. Model nevěděl, kdy má přestat, a proto na konci každého kola zabrzdil. Když mu dáte kritérium „hotovo“, rozhodne se sám.

Tak vznikl /goal — mechanismus zabudovaný do harnessu, nikoli do modelu.

Tuto poznámku pronesl na konferenci Code with Claude v Londýně 19.–20. května 2026. Popisuje, co se skutečně stalo během měsíce po spuštění /goal v obou nástrojích.

Jak nastavit režim Goal v Claude Code?

Hlavní poznatek

Claude Code 2.1.139 vyšel 11. května 2026 s příkazem /goal. Kritérium po každém kole kontroluje menší model (ve výchozím nastavení Haiku). Pokud kritérium není splněno, Claude pokračuje dalším kolem. Kritérium může mít až 4 000 znaků a v jedné relaci může být jeden cíl.

Minimální příklad z oficiální dokumentace Anthropic:

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

Tento příkaz spustí agenta na pozadí s jedním cílem. Claude najde PR, porovná je se souborem CHANGELOG.md, doplní případné chybějící řádky a zastaví se, jakmile je kritérium splněno.

V interaktivním režimu stačí napsat /goal a za něj podmínku:

/goal all pytest tests pass and mypy strict reports zero errors

Co Claude udělá dál:

  • Po každém kole dostane samostatný rychlý model (ve výchozím nastavení Haiku) aktuální podmínku a historii konverzace
  • Tento model odpoví „ano“ nebo „ne“ a krátce uvede důvod
  • Pokud je odpověď „ne“, Claude automaticky zahájí další kolo, aniž by vám předal řízení
  • Pokud je odpověď „ano“, cíl se vymaže a řízení se vrátí vám

Po každém kole malý, rychlý model kontroluje, zda byla podmínka splněna. Pokud ne, Claude bez předání řízení zahájí další kolo.

— Oficiální dokumentace Claude Code, https://code.claude.com/docs/en/goal

Tvrdé limity, o kterých se dozvíte až ve chvíli, kdy na ně narazíte:

  • /goal funguje pouze v pracovních adresářích, u kterých jste přijali dialog o důvěře. Pokud jste na novém počítači a Claude si daný adresář ještě nezapamatoval, příkaz selže
  • Ve firemním prostředí s disableAllHooks nebo allowManagedHooksOnly není příkaz dostupný
  • Podmínka může mít až 4 000 znaků
  • V jedné relaci může být aktivní pouze jeden cíl. Nový /goal resetuje předchozí
  • Při použití --resume se podmínka zachová, ale počítadla kol, času a tokenů se resetují

Příkazy pro ovládání:

  • /goal bez argumentu — zobrazí aktuální stav
  • /goal clear (nebo stop, off, reset, none, cancel) — vymaže cíl

Podle Anthropic jsou náklady na evaluátor „obvykle zanedbatelné ve srovnání s náklady na hlavní kolo“. Haiku vyhodnocuje kritérium a text konverzace a nepoužívá nástroje, takže kontrola je levná; drahá jsou kola hlavního modelu.

Jak nastavit /goal v Codex CLI?

Hlavní poznatek

Codex CLI 0.128.0 přidal /goal 30. dubna 2026 jako experimentální funkci. Dne 21. května se režim stal stabilním ve vydání 26.519 / npm 0.133.0. Funguje pomocí dvou šablon zadání — continuation.md („pokračovat“) a budget_limit.md („zastavit“). Cíl je navázaný na vlákno a přetrvá i po restartu.

Příkaz vypadá stejně jako v Claude:

codex
> /goal all vitest tests pass and there are no eslint errors

Codex nabízí více ovládacích příkazů pro cíle:

PříkazCo dělá
/goal conditionnastaví cíl
/goalzobrazí stav
/goal pausepozastaví
/goal resumeobnoví
/goal editzmění podmínku (s GA)
/goal clearvymaže cíl

Hlavní rozdíl oproti Claude spočívá v tom, že Codex sám kontroluje, zda je „hotovo“, místo aby to dělal samostatný model. Po každém kole Codex automaticky vloží do kontextu šablonu continuation.md z repozitáře openai/codex. Doslovný překlad:

„Pokračuj v práci na aktivním cíli vlákna. Neopakuj již odvedenou práci. Vyber další konkrétní krok k dosažení cíle. Označ cíl za splněný, pouze pokud audit prokáže, že cíle bylo skutečně dosaženo a nezbývá žádná požadovaná práce.“

Když se tokeny blíží limitu, vloží se druhá šablona — budget_limit.md:

„Cíl dosáhl svého tokenového limitu. Nezačínej žádnou podstatnou novou práci. Co nejdříve toto kolo ukonči: shrň užitečný pokrok, uveď zbývající práci a překážky a sděl uživateli jasný další krok.“

Logika je stejná: „nelži o tom, co jsi udělal“. Pokračovat se má pouze tehdy, pokud cíl skutečně ještě není splněn. Při dosažení limitu je třeba práci zastavit a poctivě popsat, co zbývá.

Na rozdíl od Claude váže Codex cíl na vlákno, nikoli na relaci. Terminál můžete večer zavřít a ráno znovu otevřít; /goal resume naváže na stejný cíl i stejné skutečnosti v paměti. To se hodí pro běhy rozdělené do částí podle vlastního rozvrhu.

V čem se /goal v Claude Code liší od /goal v Codexu?

Hlavní poznatek

Claude odděluje autora a hodnotitele: hlavní model píše kód a samostatný menší model ho hodnotí. Codex je jeden agent, který kontroluje svou vlastní práci — připomíná si: „nelži o tom, co jsi udělal“. Architektury se liší, ale riziko zacyklení je stejné.

Toto je nejčastější přehlížený rozdíl při srovnávání, proto se na něj podívejme podrobně.

AspektClaude Code /goalCodex /goal
Vydánív2.1.139, 11. května 2026v0.128.0, 30. dubna 2026 (experimentální) → v0.133.0 / 26.519, 21. května 2026 (stabilní)
Rozsah cíleRelaceVlákno (přetrvá po restartech)
Ovládáníset, clear (+ aliasy)set, view, pause, resume, edit, clear
Kdo kontroluje, zda je „hotovo“Samostatný model (ve výchozím nastavení Haiku)Tentýž agent prostřednictvím vloženého zadání
Přístup evaluátoru k souborůmNe; posuzuje pouze text konverzaceAno; může kontrolovat soubory, testy a logy
RozpočetV textu podmínky: „nebo skonči po 20 kolech“Vestavěný limit tokenů + automatické vložení budget_limit.md
Tvrdý limit výdajůŽádný; pouze limit předplatnéhoŽádný; pouze limit předplatného
Délka podmínkyAž 4 000 znakůNení uvedeno
Kde fungujeInteraktivní režim, -p, desktopová aplikace, Remote ControlAplikace, rozšíření IDE, CLI, klienti ACP

Koncepční rozdíl spočívá v tom, že Claude chápe smyčku jako závazek kvality (externí evaluátor), zatímco Codex jako mechanismus provádění (agent řídí sám sebe).

V praxi to znamená: chcete-li nestranné kritérium „hotovo“, zvolte Claude. Chcete-li, aby agent při vyhodnocování mohl kontrolovat soubory a logy, zvolte Codex.

Více o samotných nástrojích najdete v průvodci Codex vs Claude Code.

Reálný příklad: migrace z Pydantic v1 na v2 za 31 hodin

Hlavní poznatek

Codex /goal dokončil migraci interní služby o rozsahu 14 000 řádků z Pydantic v1 na v2 za 31 hodin skutečného času rozdělených do čtyř relací. Náklady činily přibližně $44 při použití gpt-5.3-codex.

Úkol byl zadán takto: „migruj z Pydantic v1 na v2, všechny testy pytest musí projít a mypy strict musí hlásit nula chyb“.

Co se stalo:

  • Relace 1 (8 hodin) — Codex analyzoval importy, přepsal deklarace BaseModel a nastavil mypy
  • Relace 2 (10 hodin) — přepsal validátory a rozbil přibližně 200 testů
  • Relace 3 (7 hodin) — opravil testy a našel kruhové závislosti
  • Relace 4 (6 hodin) — vyřešil zbývající chyby mypy a regrese

Náklady na tokeny:

„Celkový čas na hodinách: přibližně 31 hodin ve čtyřech relacích. Celkové náklady na tokeny Codexu podle sazeb gpt-5.3-codex: přibližně $44.“

Cenu tvoří především výstupní tokeny gpt-5.3-codex se sazbou $14 za milion. To znamená, že 31 hodin autonomní práce stojí přibližně tolik jako několik týdnů předplatného ChatGPT Plus.

Co agent sám neudělal:

  • Nenapsal migrační dokumentaci pro tým (Codex nepochopil, že to patří k „migraci“)
  • Neaktualizoval konfigurační soubory pro publikování s novou verzí Pydantic
  • Přehlédl jednu produkční regresi, která vyšla najevo až o den později

Jinými slovy, /goal odvedl 95 % práce; zbývajících 5 % se stále musí udělat ručně. U současné generace je to běžné a není to důvod tuto funkci nepoužívat.

14 hodin přes noc na ovladači pro macOS

Které úlohy se hodí pro dlouhé noční běhy

Hlavní poznatek

Ovladače jako kategorie úloh se pro interaktivní práci nehodí, ale dlouhotrvajícím smyčkám vyhovují dokonale.

Typy úloh, u kterých tento přístup přináší největší zisky:

  • Nízkoúrovňová práce, kde iterace a kontrola trvají minuty (kompilace, spouštění testů)
  • Migrace s jasnými formálními kritérii (typy, testy, lint)
  • Benchmarky a optimalizace s měřitelnými výsledky
  • Dokumentace a changelogy s jasnou strukturou

Claude /goal to zvládne stejně dobře, ale pro ovladače se častěji volí Codex, protože sám kontroluje soubory a logy, místo aby spoléhal na externího hodnotitele.

Kolik to stojí a jak zabránit nočnímu vyčerpání tokenů?

Hlavní poznatek

/goal nemá pevný horní limit výdajů — platí pouze limity vašeho tarifu. Hodina skutečné práce Codexu stojí při použití gpt-5.3-codex přibližně $1.50–$3. Claude je provozně dražší a vyhodnocení stojí méně. Jediná ochrana spočívá v tom, že do podmínky napíšete „nebo skonči po N kolech“.

Údaje z veřejných zpráv:

BěhDoba trváníTokenyNáklady
Ukázka návrhového nástroje OpenAI25 hodin13M(interní běh)
Pydantic v1→v231 hodin, 4 relace~3,1M výstupních~$44
Systém hlasových rozhovorůcelkem 6 hodin 44 minut (41 minut výpočtu)6,8 milionu vstupních, 94 % v mezipaměti-
Smoke test fontů5 minut188 832méně než 5 % týdenní kvóty

Zásadní je toto: Claude Code ani Codex nenabízí pevný limit „přestaň utrácet při $N“. Existují tři ochranná opatření:

  1. Limity předplatného — Pro, Max nebo Enterprise. Na tarifu Anthropic Max ($100 za měsíc) se 14hodinový noční běh vejde do týdenní kvóty a ještě zbude rezerva
  2. Textový limit v podmínce — napište přímo do /goal „nebo skonči po 20 kolech“. Hodnotitel Claude si toho všimne a cíl uzavře
  3. Limit tokenů v Codexu — vestavěný mechanismus, který při vyčerpání tokenů vloží budget_limit.md

Co přes noc zvyšuje účet:

  • Vágní kritérium typu „udělej to pohodlnější“ — agent se nikdy nezastaví, protože hodnotitel neví, co znamená „lepší“
  • Přístup k externím API bez stubů — každý další pokus stojí tokeny
  • Dlouhý kontext — po 6,7M tokenech se spustí zhuštění kontextu a část paměti se ztratí

Další informace o úspoře nákladů najdete v návodech kam mizí tokeny Claude Code a jak nevyčerpat limity.

Kdy /goal NEPOUŽÍVAT: 5 situací

Hlavní poznatek

Vágní kritéria typu „ať to vypadá hezky“, úpravy na jeden řádek, produkční databáze s uživatelskými daty, bezpečnostně kritické změny a úlohy s nejasnými externími závislostmi. V každé z těchto pěti situací se agent buď zasekne ve smyčce, nebo zbytečně spálí tokeny.

Dokumentace OpenAI výslovně uvádí, co NEDĚLAT:

  1. Úpravy na jeden řádek — spuštění /goal kvůli přejmenování proměnné stojí víc než ruční změna
  2. Vágní cíle — „zlepši výkon“, „vyčisti kód“, „udělej to pohodlnější“. Hodnotitel nemá žádné kritérium, takže se agent bude točit donekonečna
  3. Produkční databáze s uživatelskými daty — agent by mohl pokazit migraci a obnova ze zálohy stojí víc než jakákoli úspora
  4. Bezpečnostní změny — autentizace, šifrování, zpracování plateb. Každý commit zde musí zkontrolovat člověk
  5. Externí API bez stubů — každé selhání sítě stojí tokeny a nemáte ho pod kontrolou

Co dělat, když se agent zasekne?

Hlavní poznatek

Známkou smyčky je, že agent 3–4 kola upravuje stále stejné místo a pak změny vrací. Přerušte ho pomocí Ctrl+C, zkontrolujte log a potom zpřesněte kritérium nebo zúžte úkol na jednu část. V Claude pomůže /goal clear; v Codexu použijte /goal pause a upravte podmínku.

Jak rychle rozpoznat smyčku:

  • Agent se alespoň 3 kola dotýká stejných souborů a vrací je do předchozího stavu
  • V logu se opakují chyby, na které už reagoval
  • Podle vás je podmínka splněná, ale agent hlásí „nesplněno“
  • Spotřeba tokenů na kolo roste, ale v kódu není žádný pokrok

Co udělat dál:

  • V Claude Code: /goal clear a potom podmínku zpřesněte
  • V Codexu: /goal pause, prohlédněte aktuální vlákno, upravte podmínku pomocí /goal edit a potom použijte /goal resume
  • V obou nástrojích: ověřte, že lze kritérium skutečně ověřit (příkaz vrátí exit 0 nebo vytvoří konkrétní výstup)

Příčinou smyčky bývá často samotný úkol, nikoli agent. Podmínka „všechny testy procházejí“ předpokládá, že testy vůbec mohou projít. Pokud je v kódu hluboký architektonický problém, agent bude stále kroužit kolem příznaku.

Kritéria „hotovo“: disciplína při zadávání úkolů pro /goal

Hlavní poznatek

Dobré kritérium je příkaz, který vrátí exit 0 nebo konkrétní výstup. „Všechny testy prošly“ funguje. „Kód je čistší“ ne. Nejlepší je spojit formální kontrolu s měřitelnou metrikou — například testy a minimální pokrytí.

OpenAI toto pravidlo jasně uvádí ve svém oficiálním Codex Cookbook:

Cíl se nepovažuje za splněný jen proto, že si to model myslí. Je splněn teprve tehdy, když byl výsledek ověřen podle souborů, testů, logů, benchmarků nebo jiných konkrétních výstupů.

— OpenAI Codex Cookbook, Používání cílů v Codexu, https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex

Šablony kritérií, které skutečně fungují:

Typ kritériaJak ho formulovat
Testy“pytest tests/ returns exit 0 and coverage is at least 80%”
Typy“mypy strict reports zero errors on src/”
Lint“eslint . returns exit 0 on all changed files”
Sestavení“npm run build completes successfully, with no TypeScript errors”
Benchmark“k6 run perf test shows p95 below 200 ms”
Diff“git diff shows changes only in files X, Y, Z”
Kombinace“pytest is green AND mypy strict reports zero errors AND ruff check passes”

Kombinace v řádku Combo zahrnuje testy, mypy a lint. Pokud neprojde byť jen jedna kontrola, cíl se neuzavře. Evaluátor nemá možnost podvádět.

Nevhodné formulace:

  • „Kód je lepší“
  • „Použitelnost se zlepšila“
  • „Výkon se zlepšil“
  • „Dokumentace je kompletní“

Rozdíl mezi „funguje“ a „nefunguje“ spočívá v ověřitelnosti. Kritérium, které nelze ověřit příkazem, nelze ověřit vůbec. To je také to, co OpenAI myslí „dlouhodobou koherencí“: agent může dlouho přemýšlet, ale sám nedokáže rozhodnout, co je „dost dobré“.

Myšlenku „jedno zadání — jeden výsledek“ můžete vyzkoušet na skutečném projektu: nastavte /goal, formulujte kritérium, spusťte ho a zanalyzujte, co se pokazilo.

Seznamte se s Ailoot.

Další podrobnosti

Časté otázky

Jaké kritérium dokončení se hodí pro /goal?

Použijte ověřitelný výsledek: pojmenujte test, kontrolu typů, sestavení či benchmark a požadovaný stav. Potřebné kontroly výslovně propojte a vymezte povolené soubory; „vylepši to“ agentovi neposkytuje měřitelný konec.

Co dělat, když agent opakuje stejné neúspěšné úpravy?

Přerušte běh a prohlédněte log. Jestli stále upravuje a vrací stejné soubory, zužte zadání nebo zpřesněte kritérium. Před pokračováním ověřte, že požadované kontroly vůbec mohou projít.

Všechny články