Claude Code a Codex přes noc: nastavení autonomního režimu /goal
MarkdownPří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.
Tvrdé limity, o kterých se dozvíte až ve chvíli, kdy na ně narazíte:
/goalfunguje 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
disableAllHooksneboallowManagedHooksOnlynení 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ý
/goalresetuje předchozí - Při použití
--resumese podmínka zachová, ale počítadla kol, času a tokenů se resetují
Příkazy pro ovládání:
/goalbez argumentu — zobrazí aktuální stav/goal clear(nebostop,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říkaz | Co dělá |
|---|---|
/goal condition | nastaví cíl |
/goal | zobrazí stav |
/goal pause | pozastaví |
/goal resume | obnoví |
/goal edit | změní podmínku (s GA) |
/goal clear | vymaž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ě.
| Aspekt | Claude Code /goal | Codex /goal |
|---|---|---|
| Vydání | v2.1.139, 11. května 2026 | v0.128.0, 30. dubna 2026 (experimentální) → v0.133.0 / 26.519, 21. května 2026 (stabilní) |
| Rozsah cíle | Relace | Vlá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ům | Ne; posuzuje pouze text konverzace | Ano; může kontrolovat soubory, testy a logy |
| Rozpočet | V 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ínky | Až 4 000 znaků | Není uvedeno |
| Kde funguje | Interaktivní režim, -p, desktopová aplikace, Remote Control | Aplikace, 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
BaseModela 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ěh | Doba trvání | Tokeny | Náklady |
|---|---|---|---|
| Ukázka návrhového nástroje OpenAI | 25 hodin | 13M | (interní běh) |
| Pydantic v1→v2 | 31 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 minut | 188 832 | mé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í:
- 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
- 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 - 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:
- Úpravy na jeden řádek — spuštění
/goalkvůli přejmenování proměnné stojí víc než ruční změna - 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
- 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
- Bezpečnostní změny — autentizace, šifrování, zpracování plateb. Každý commit zde musí zkontrolovat člověk
- 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 cleara potom podmínku zpřesněte - V Codexu:
/goal pause, prohlédněte aktuální vlákno, upravte podmínku pomocí/goal edita 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ů.
Šablony kritérií, které skutečně fungují:
| Typ kritéria | Jak 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.
Zdroje
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.