# Levnější CLI session: měřený field guide pro Claude Code a Codex

Ověřeno 21. srpna 2026 na Claude Code 2.1.238 a Codex CLI 0.149.0. Každý tip má stejné ID jako anglická verze, evidence tier, datum, verzí omezenou platnost, trade-off a kontrolní krok v adresáři [`tips/`](tips/).

## Kde se cena skutečně bere

Coding-agent session nezdraží jeden obří prompt. Zdražuje po vrstvách: system instructions, CLAUDE.md nebo AGENTS.md, historie, tool definitions, výstupy z tools, cache write, cache read a reasoning output. Subagent část contextu opakuje ve vlastním okně. Compact spotřebuje další tokeny a po nepovedeném shrnutí může agent znovu číst repo.

Proto neoptimalizuj „nejméně tokenů“ ani „nejkratší odpověď“. Optimalizuj **cenu nebo kapacitu subscription za správně dokončený a přijatý úkol**. Započítej retry, kontrolu člověkem i levný pokus, který selhal.

## Než začneš: tři různé ekonomiky

### API: každý typ tokenu má jinou cenu

Input, cache write, cache read, output a reasoning output nejsou jedna sazba. U Anthropic API má pětiminutový cache write přirážku proti běžnému inputu, hodinový write je dražší a cache read výrazně levnější. Také aktuální OpenAI modely rozlišují cached input a output. Sečíst všechny tokeny a vynásobit jednou cenou je chybné.

### Subscription: platíš za kapacitu, ne za každý turn

Claude Pro/Max i ChatGPT plány zahrnují CLI v rámci limitů. Claude může ukázat API-equivalent dollar estimate, ale to není další položka na kartě. Codex `/status` ukazuje zbývající kapacitu plánu, ne API fakturu.

Pro český kontext: Claude je v Česku oficiálně dostupný a ChatGPT uvádí Česko mezi podporovanými zeměmi. K 21. 8. 2026 uvádí Claude Pro $20 měsíčně, Max 5x $100 a Max 20x $200; ceny se mohou v regionu lišit a daň může být zahrnuta nebo přidána v checkoutu. Poslední dostupný kurz ČNB z 20. 8. byl 20,670 Kč/USD. Jako hrubá kotva je tedy $20 asi 413 Kč, $100 asi 2 067 Kč a $200 asi 4 134 Kč **před případnou DPH, kurzem banky a poplatkem**. Rozhoduj se podle skutečné ceny v checkoutu, ne podle této orientační konverze.

### Firma: cena modelu je jen část nákladu

Enterprise může mít smluvní sazby, cloud-provider markup, sdílené quota nebo interní chargeback. Navíc platí za review, compliance, incidenty a riziko úniku kódu. Third-party router proto není „levnější endpoint na tři řádky konfigurace“, ale bezpečnostní a právní projekt.

## Setup na deset minut

1. **Zapiš podmínky.** Verze CLI, model, effort, billing mode a commit repa. Použij [`cc-measure-usage`](tips/cc-measure-usage.md), [`codex-measure-status`](tips/codex-measure-status.md) a [`codex-measure-exec-json`](tips/codex-measure-exec-json.md).
2. **Zviditelni růst.** V Claude spusť `/context` a přidej lokální status line podle [`cc-measure-statusline`](tips/cc-measure-statusline.md). V Codexu kontroluj `/status`.
3. **Ořež tools, ne Tool Search.** Odpoj MCP servery, které úkol nepoužije. Claude Tool Search nech zapnutý; náš negativní test dopadl po jeho vypnutí násobně dráž.
4. **Model a effort vyber před dlouhou fází.** Rutinní implementace nepotřebuje automaticky nejdražší model, lookup nepotřebuje max effort. Neustálé přepínání ale rozbíjí warm cache.
5. **Pročisti always-on instrukce.** Nech příkazy, hranice a neobvyklé konvence. Procedury přesuň do skills a oborová pravidla k příslušným cestám.

### Jak číst evidence

`VERIFIED` potvrzuje název, mechanismus, cestu, příkaz nebo zachovaný benchmark. Neslibuje stejné procento v jiném repu. `REPORTED` má dohledatelný původní zdroj, ale tento projekt cost outcome nezopakoval. `Benchmarked` znamená alespoň tři baseline a tři variantní běhy. `Unquantified` není mezera: mechanismus je reálný, jen pro něj neexistuje poctivé univerzální číslo.

## Claude Code: 32 praktických karet

### Model routing a reasoning

1. [`cc-routing-explore-haiku`](tips/cc-routing-explore-haiku.md) — Od verze 2.1.198 vestavěný Explore dědí model session. Projektový agent Explore může read-only hledání připnout na Haiku. V malém benchmarku se Sonnet parentem klesl medián o 11,3 %; Haiku ale může minout abstraktní nebo nekonvenčně pojmenovaný kód.
2. [`cc-routing-subagent-env`](tips/cc-routing-subagent-env.md) — `CLAUDE_CODE_SUBAGENT_MODEL=haiku` je dočasný procesní default. Má vysokou precedenci, proto ho před náročnou delegací unsetni.
3. [`cc-routing-subagent-effort`](tips/cc-routing-subagent-effort.md) — Aktuální frontmatter agenta umí `effort: low`. Použij ho u locatoru, ne plošně u diagnostiky.
4. [`cc-routing-sonnet-default`](tips/cc-routing-sonnet-default.md) — Běžnou ohraničenou implementaci začni na Sonnetu; eskaluj až při nejasnosti, chybné diagnóze nebo architektonickém riziku.
5. [`cc-reasoning-low-simple`](tips/cc-reasoning-low-simple.md) — Deterministický lookup nebo formátování spusť s `--effort low`. Thinking tokeny jsou output; změna effortu uprostřed session ale zneplatní následující cache hit.

### Context a cache

6. [`cc-context-clear-unrelated`](tips/cc-context-clear-unrelated.md) — Před nesouvisejícím úkolem napiš krátký handoff a použij `/clear`. Compact summary s sebou předchozí téma pořád nese.
7. [`cc-context-compact-breakpoint`](tips/cc-context-compact-breakpoint.md) — Compact spouštěj po dokončené fázi a explicitně zachovej soubory, test failures, rozhodnutí a next actions. Samotný compact stojí tokeny.
8. [`cc-context-rewind-branch`](tips/cc-context-rewind-branch.md) — Slepou větev vrať přes `/rewind`, ne přes její shrnutí do budoucího contextu.
9. [`cc-context-btw-side-question`](tips/cc-context-btw-side-question.md) — Jednorázovou vysvětlivku polož přes `/btw`; odpověď se nepřidá do hlavní historie.
10. [`cc-context-audit`](tips/cc-context-audit.md) — `/context` ukáže, jestli problém tvoří historie, instrukce, soubory, nebo tools. Optimalizuj největší zbytečnou vrstvu.
11. [`cc-context-autocompact`](tips/cc-context-autocompact.md) — `/autocompact` nastav vědomě a před dlouhým autonomním během udržuj handoff.
12. [`cc-context-doctor`](tips/cc-context-doctor.md) — `/doctor` pomůže najít staré context items a přerostlé instrukce. Po každé změně znovu ověř chování.
13. [`cc-cache-stable-prefix`](tips/cc-cache-stable-prefix.md) — Model, effort, fast mode, tool definitions a system instructions jsou součást cache prefixu. Produktivní fázi drž stabilní.
14. [`cc-cache-serial-warmup`](tips/cc-cache-serial-warmup.md) — Současné cold API requesty neumějí sdílet write, který ještě nezačal odpovídat. Nejdřív warm-up, potom malý nezávislý fan-out.
15. [`cc-cache-new-session-after-upgrade`](tips/cc-cache-new-session-after-upgrade.md) — Update může změnit system prefix. Nová session s krátkým handoffem pak může být levnější než cold resume starého dlouhého vlákna.
16. [`cc-cache-respect-ttl`](tips/cc-cache-respect-ttl.md) — Subscription main session dnes používá hodinový TTL, API typicky pět minut a subagenti pět minut. Související API turny dávkuj, ale review neuspěchej kvůli cache.

### Instrukce, tools a čtení repa

17. [`cc-instructions-lean-claude-md`](tips/cc-instructions-lean-claude-md.md) — Oficiální cíl je pod 200 řádků. Nech to, co brání drahému znovuobjevování; ne kopii README. Dobře napsané instrukce umějí runtime snížit, takže nulový soubor není cíl.
18. [`cc-instructions-skills`](tips/cc-instructions-skills.md) — Release nebo review checklist přesuň do skillu. Tělo se načte až při použití a potom v session zůstává.
19. [`cc-instructions-path-rules`](tips/cc-instructions-path-rules.md) — Frontend, databázi a release pravidla scopeuj k příslušným cestám.
20. [`cc-tools-tool-search`](tips/cc-tools-tool-search.md) — Tool Search nech zapnutý. Po `ENABLE_TOOL_SEARCH=false` byl medián tří jednoduchých běhů 6,3krát dražší než default.
21. [`cc-tools-trim-mcp`](tips/cc-tools-trim-mcp.md) — Nepotřebné MCP servery odpoj. Empty-MCP varianta byla v našem tool-free testu o 72,0 % levnější, ale baseline měla velký rozptyl; procento nepřenášej.
22. [`cc-tools-code-intelligence`](tips/cc-tools-code-intelligence.md) — Definition/reference přes language server umí nahradit grep-read-guess loop. U generovaného a dynamického kódu měj fallback.
23. [`cc-tools-filter-output`](tips/cc-tools-filter-output.md) — Do contextu dej exit status, errors, warnings a malý tail. Plný log ulož do souboru a zachovej možnost ho dohledat.
24. [`cc-reading-targeted`](tips/cc-reading-targeted.md) — Nejdřív search, potom odůvodněný file set. Náš medián ceny klesl o 37,1 % a turns na polovinu; všechny odpovědi byly správné. Context traffic přesto kvůli cache read vzrostl.
25. [`cc-reading-skeleton`](tips/cc-reading-skeleton.md) — Nejprve cesty, signatury, importy a callers, potom potřebná těla. Tip zůstává `REPORTED`, protože staged read může přidat turns nebo minout dynamic dependency.

### Output, automatizace a delegace

26. [`cc-output-concise`](tips/cc-output-concise.md) — Stručný kontrakt zlepší čitelnost, ale nemusí zmenšit session. V našem testu klesl cost median, zatímco output tokeny a turns vzrostly. Tip v této podobě neobstál čistě.
27. [`cc-workflow-headless-json`](tips/cc-workflow-headless-json.md) — Pro opakované úlohy použij `claude -p --output-format json` a ulož raw data před agregací.
28. [`cc-workflow-plan-complex`](tips/cc-workflow-plan-complex.md) — Plánuj migrace, architekturu a nejasné multi-file změny. Obvious one-file edit nezdvojuj plan-execute ceremonií.
29. [`cc-delegation-isolate-verbose`](tips/cc-delegation-isolate-verbose.md) — Široký research izoluj a do parenta vrať cesty, line references, nejistotu a stručný závěr, ne transcript.
30. [`cc-delegation-cap-fanout`](tips/cc-delegation-cap-fanout.md) — Fan-out drž malý a scope bez překryvu. Agent teams mohou podle oficiálního cost guide v plan mode spotřebovat zhruba sedminásobek běžné session.
31. [`cc-measure-usage`](tips/cc-measure-usage.md) — Jeden screenshot není benchmark. Tři běhy baseline, tři varianty, medián, rozsah, cache fields a quality gate.
32. [`cc-measure-statusline`](tips/cc-measure-statusline.md) — Context, cache a limity zobraz lokálně bez dalšího modelového turnu.

## Co jsme skutečně změřili

Podrobný protokol, prompty, rozsahy a raw JSONL jsou v [`research/measurements.md`](research/measurements.md).

| Experiment | Baseline | Varianta | Poctivý závěr |
|---|---:|---:|---|
| MCP surface | $0.0110 median | $0.0031 bez MCP | O 72,0 % nižší u one-turn úlohy bez tools; velký rozptyl. |
| Tool Search | $0.0110 default | $0.0691 vypnuto | Neobstálo: vypnutí bylo 6,3krát dražší. |
| Concise answer | $0.0268 | $0.0176 | Smíšené: nižší cost, ale vyšší median outputu a turns. |
| Targeted read | $0.0286 | $0.0180 | O 37,1 % nižší cost, polovina turns, vše správně; vyšší cache traffic. |
| Haiku finder | $0.0906 Sonnet inherit | $0.0803 Haiku | O 11,3 % nižší na snadném fixture, bez chyby. |
| Codex effort | 528 output / 139 reasoning při max | 374 / 0 při low | Jen usage signál: samostatný low sample byl správně, ale devítiběhový loop neuchoval answer texty. |

Claude čísla jsou API-equivalent telemetry. Pokud benchmark běžel z Pro/Max kapacity, nejde o další skutečnou platbu. Codex běžel na subscription, proto jsme tokeny nepřeváděli na vymyšlené dolary.

Pět Claude tipů má zachovanou answer-level quality kontrolu. Codex effort comparison ji nemá: devět usage eventů přežilo, jejich odpovědi pipeline zahodila. Samostatný low sample je správný, ale nenahrazuje devět kontrolních odpovědí.

### Tipy, které neobstály / Tips that didn't hold up

- `ENABLE_TOOL_SEARCH=false` startup nezlevnil; v M1 byl median 6,3krát vyšší.
- Viditelná odpověď pod 40 slov nezmenšila spolehlivě agent loop; M2 měl více median output tokenů i turns.
- Targeted read neznamenal méně reported raw tokenů; v M3 rozhodl mix cache traffic a kratší loop.
- Pro jeden univerzální Codex auto-compact limit jsme nenašli primary ani measured oporu.
- Inline `[profiles.name]` ze seedu už není dokumentovaný aktuální formát Codex profilů.
- Devítiběhová Codex effort telemetry není plný publishable benchmark, protože pipeline neuchovala answer events.

Podmínky a raw data zůstávají v [`research/measurements.md`](research/measurements.md), aby se negativní výsledek při další revizi dal zopakovat, ne potichu zahodit.

## Anti-patterns: co nedělat

1. Vypnout Tool Search a načíst všechny definitions předem.
2. Přečíst celé `src/` dřív, než znáš target.
3. Měřit jen viditelnou finální odpověď.
4. Přepínat model nebo effort každý turn a ničit cache prefix.
5. Spustit velký cold fan-out bez warm-upu a bez aggregate telemetry.
6. Compactovat slepou větev místo rewind.
7. Po upgradu resumeovat velmi dlouhou starou session bez porovnání s handoffem.
8. Smazat všechny instrukce a nechat agenta znovu objevovat build/test příkazy.
9. Vložit generated docs do always-on CLAUDE.md nebo AGENTS.md.
10. Ocenit cache-read token stejně jako ordinary input.
11. Publikovat „optimální“ Codex compact limit bez modelu, okna a měření.
12. Použít zastaralý Codex `[profiles.fast]` snippet.
13. Nechat hodiny běžet compact-and-reread loop bez nového accepted result.
14. Poslat firemní kód přes third-party router bez security a ToS review.
15. Rotovat účty nebo obcházet limity. Tohle je optimalizace podporovaného použití, ne návod na obcházení pravidel.

## Codex CLI: plnohodnotný paralelní postup

Codex nečte Claude konfiguraci. User defaults patří do `~/.codex/config.toml`, trusted project config do `.codex/config.toml`. Od verze 0.134.0 jsou profily samostatné soubory, například `~/.codex/fast.config.toml`, a vybírají se přes `codex --profile fast`.

### Konfigurace a model routing

33. [`codex-config-path`](tips/codex-config-path.md) — Codex klíče nikdy nevkládej do `~/.claude/settings.json`; použij TOML a jednorázový override `-c key=value`.
34. [`codex-reasoning-effort`](tips/codex-reasoning-effort.md) — V devíti usage záznamech měl low o 29,2 % nižší median outputu než max. Odpovědi se neuchovaly; správný je jen samostatný low sample. Před nasazením úsporu zopakuj s quality rubric.
35. [`codex-plan-effort`](tips/codex-plan-effort.md) — `plan_mode_reasoning_effort` je aktuální samostatný klíč. Silnější plán nemusí zdražit mechanickou exekuci.
36. [`codex-profiles-v2`](tips/codex-profiles-v2.md) — Vytvoř `fast`, `default` a `deep` jako tři `.config.toml` soubory. Inline tabulky ze starých článků už neplatí.
37. [`codex-model-routing`](tips/codex-model-routing.md) — Dnešní Luna/Terra/Sol tiery mají rozdílnou ekonomiku. Deterministickou práci dej nejmenšímu ověřenému tieru a ceny i názvy kontroluj měsíčně.
38. [`codex-subagent-defaults`](tips/codex-subagent-defaults.md) — `[agents]` umí levnější default model a reasoning effort oddělený od parenta.
39. [`codex-subagent-cap`](tips/codex-subagent-cap.md) — `max_threads` zabrání tomu, aby příliš široká delegace nekontrolovaně rozmnožila workery.

### Context, MCP a instrukce

40. [`codex-compaction-key`](tips/codex-compaction-key.md) — Správný klíč je `model_auto_compact_token_limit` a existuje i scope. Karta nechá schematickou hodnotu zakomentovanou, dokud ji neurčí vlastní měření.
41. [`codex-reading-skeleton`](tips/codex-reading-skeleton.md) — Mapuj symboly a callers před full readem, ale porovnej correctness s broad-read baseline. Evidence je `REPORTED`.
42. [`codex-tools-trim-mcp`](tips/codex-tools-trim-mcp.md) — Každý profil a workflow má mít jen MCP servery, které reálně použije.
43. [`codex-instructions-lean-agents`](tips/codex-instructions-lean-agents.md) — AGENTS.md nech konkrétní: příkazy, hranice, konvence. Duplicity a generated inventory odstraň.
44. [`codex-instructions-byte-cap`](tips/codex-instructions-byte-cap.md) — Codex skládá AGENTS.md od rootu k cwd, bližší soubor má vyšší prioritu a default combined cap je 32 KiB.
45. [`codex-context-stop-runaway`](tips/codex-context-stop-runaway.md) — Aktuální issue popisuje 5,9hodinový běh se 74 compactions. Není to incidence rate, ale je to dostatečný důvod pro stop condition.

### Měření

46. [`codex-measure-status`](tips/codex-measure-status.md) — `/status` používej pro subscription capacity; nepřepočítávej ji na falešnou fakturu.
47. [`codex-measure-exec-json`](tips/codex-measure-exec-json.md) — `codex exec --json` ukládá input, cached input, output a reasoning u každého dokončeného turnu.

## Praktiky společné pro oba nástroje

48. [`cross-measure-correct-solve`](tips/cross-measure-correct-solve.md) — Fixni fixture a acceptance rubric; publikuj median, rozsah, cache fields a podíl správných běhů.
49. [`cross-ccusage`](tips/cross-ccusage.md) — ccusage agreguje lokální Claude i Codex logy. Je to third-party software a jeho dolary jsou estimates, ne invoice.
50. [`cross-router-caution`](tips/cross-router-caution.md) — Router dostává prompt, kód, credentials a tool calls. Bez security, privacy, compatibility a ToS review není poctivý univerzální snippet.
51. [`cross-handoff-file`](tips/cross-handoff-file.md) — Před změnou CLI nebo session napiš objective, acceptance criteria, decisions, changed files, test results, risks a tři next actions.
52. [`cross-no-naive-truncation`](tips/cross-no-naive-truncation.md) — Studie 2 848 Claude Code běhů ukázala, že jeden reducer zmenšil raw tool output, ale zvýšil paired reconstructed cost a zhoršil correctness. Měř cache i retry.
53. [`cross-parallel-small-batches`](tips/cross-parallel-small-batches.md) — Paralelizuj jen nezávislé scope v nejmenším užitečném batchi, se stop conditions a aggregate telemetry.

## Jak guide nezestárne

Jednou měsíčně zkontroluj vendor docs, pricing a `--help`; okamžitě po release, která mění modely, cache, profily, compact nebo subagenty. Pět benchmark families opakuj čtvrtletně nebo při změně defaultu. Každé nové procento musí mít raw runs, verzi, billing mode, fixní prompt, fixture, median, rozsah a quality result.

Konkrétní URL a kadence jsou v [`CHANGELOG_WATCH.md`](CHANGELOG_WATCH.md). Copy-paste bloky najdeš v [`PROMPT_LIBRARY.md`](PROMPT_LIBRARY.md), data v [`research/findings.json`](research/findings.json), měření v [`research/measurements.md`](research/measurements.md) a kompletní rozhodování o zdrojích v [`research/sources.md`](research/sources.md).

## Hlavní zdroje

- [Claude Code costs](https://code.claude.com/docs/en/costs), [subagents](https://code.claude.com/docs/en/sub-agents), [prompt caching](https://code.claude.com/docs/en/prompt-caching) a [MCP](https://code.claude.com/docs/en/mcp), přístup 21. 8. 2026.
- [Codex config reference](https://learn.chatgpt.com/docs/config-file/config-reference), [advanced config](https://learn.chatgpt.com/docs/config-file/config-advanced), [non-interactive mode](https://learn.chatgpt.com/docs/non-interactive-mode) a [pricing](https://learn.chatgpt.com/docs/pricing), přístup 21. 8. 2026.
- [Claude pricing](https://claude.com/pricing), [dostupnost Claude v Česku](https://support.claude.com/en/articles/8461763-where-can-i-access-claude), [podporované země ChatGPT](https://help.openai.com/cs-cz/articles/7947663-podporovan%C3%A9-zem%C4%9B-pro-chatgpt) a [kurz USD/CZK ČNB](https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/vybrane.html?do=31.12.2026&mena=USD&od=01.01.2026), ověřeno 21. 8. 2026.
- [Token Reduction Is Not Cost Reduction](https://arxiv.org/abs/2607.12161), procenta použita jen v mezích dané studie.
