Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze | |||
| ai:platformy:codex:autokompakce-a-kontextove-okno [28.07.2026 10:54] – Doplněn hlavní rozdíl 1M kontextu Claude Code versus 258k práh Codexu Petr Nosek | ai:platformy:codex:autokompakce-a-kontextove-okno [28.07.2026 10:55] (aktuální) – Vymezeno srovnání předplatných a výslovně vyloučeno API Petr Nosek | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Automatická kompaktace a kontextové okno v Codex CLI ====== | + | ====== Automatická kompaktace a kontextové okno Codex CLI přes předplatné |
| // | // | ||
| - | [[https:// | + | [[https:// |
| + | |||
| + | > **Rozsah zjištění:** Článek se týká výhradně používání přes **předplatná**: | ||
| ===== Shrnutí ===== | ===== Shrnutí ===== | ||
| - | Codex provedl automatickou kompaktaci ještě | + | Hlavní praktický rozdíl není jen způsob ovládání kompaktace, ale dostupná velikost nezkráceného kontextu |
| - | V testovaném neinteraktivním režimu Codex uživatele na kompaktaci neupozornil: na standardní výstup vrátil pouze '' | + | * aktuálně používaný Claude Code bez automatické kompaktace: **1 000 000 tokenů**; |
| + | * testovaný | ||
| - | Codex nemá jednoduchý boolean | + | Claude Code tedy v tomto srovnání udrží |
| - | ===== Rozsah testu ===== | + | Oba nástroje nakonec narazí na fyzický limit svého kontextového okna. Nelze současně zachovat celý raw kontext, pokračovat v témž threadu a získat další reasoning nebo výstup, pokud už se vše nevejde do dostupného okna. |
| - | Test běžel přes ChatGPT OAuth, nikoli přes API klíč, s těmito parametry: | + | ===== Co bylo ověřeno v Codexu |
| - | * Codex CLI '' | + | Test běžel v Codex CLI '' |
| - | * model '' | + | |
| - | * reasoning '' | + | |
| - | * nová čistá session, | + | |
| - | * jednorázově nastavený práh '' | + | |
| - | Modelový katalog doručený Codexu pro tento účet uváděl | + | Modelový katalog doručený Codexu pro tento účet uváděl: |
| - | ===== Výsledek testu prahu ===== | + | <code json> |
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| Dva velké požadavky prošly bez kompaktace: | Dva velké požadavky prošly bez kompaktace: | ||
| Řádek 32: | Řádek 37: | ||
| * přibližně 252 983 vstupních tokenů. | * přibližně 252 983 vstupních tokenů. | ||
| - | Při dalším rozšíření | + | Při dalším rozšíření Codex před dalším požadavkem |
| <code json> | <code json> | ||
| Řádek 40: | Řádek 45: | ||
| </ | </ | ||
| - | Praktický práh pro tento běh byl tedy přibližně 258 400 tokenů. Test neurčil nejvyšší velikost požadavku, kterou by ještě přijal backend: Codex historii zkompaktoval dřív, než bylo možné odeslat | + | V neinteraktivním režimu s JSON výstupem nebyla kompaktace uživateli oznámena; standardní výstup vrátil pouze '' |
| - | ===== Viditelnost kompaktace | + | ===== Proč vyšší práh kompaktaci nevypne |
| - | V neinteraktivním režimu Codexu s JSON výstupem se kompaktace neobjevila jako běžné uživatelské sdělení. Její výskyt byl potvrzen pouze v uloženém rollout JSONL jako '' | + | '' |
| - | Toto zjištění se vztahuje k testovanému neinteraktivnímu běhu. Chování TUI nebylo v tomto testu ověřeno, | + | Aktuální implementace Codexu podle [[https:// |
| ===== Blokování automatické kompaktace ===== | ===== Blokování automatické kompaktace ===== | ||
| - | '' | + | Codex nemá jednoduchý boolean přepínač typu '' |
| - | Místo booleanu typu '' | + | Hook musí vrátit '' |
| ==== Ověřený end-to-end test hooku ==== | ==== Ověřený end-to-end test hooku ==== | ||
| Řádek 58: | Řádek 63: | ||
| Test s uměle nízkým prahem ověřil celý průběh: | Test s uměle nízkým prahem ověřil celý průběh: | ||
| - | - První modelový krok v novém threadu | + | - První modelový krok vrátil '' |
| - Dočasný globální '' | - Dočasný globální '' | ||
| - | - Při druhém požadavku Codex hook skutečně | + | - Při druhém požadavku Codex hook skutečně |
| <code json> | <code json> | ||
| Řádek 71: | Řádek 76: | ||
| - Codex už neposlal promptem požadovanou odpověď '' | - Codex už neposlal promptem požadovanou odpověď '' | ||
| - | Hook tedy **neodešle přeteklý požadavek na backend**. Turn je ukončen před kompaktací i před další modelovou odpovědí. Další pokus ve stejném nezměněném kontextu narazí na tutéž bránu znovu. | + | Blokující hook tedy **neodešle přeteklý požadavek na backend**. Další pokus ve stejném nezměněném kontextu narazí na tutéž bránu znovu. |
| Konfigurace může být jednou globálně v '' | Konfigurace může být jednou globálně v '' | ||
| Řádek 93: | Řádek 98: | ||
| </ | </ | ||
| - | Hook je nutné při prvním použití schválit přes ''/ | + | Hook je nutné při prvním použití schválit přes ''/ |
| ===== Kontext a výstupní rozpočet ===== | ===== Kontext a výstupní rozpočet ===== | ||
| Řádek 106: | Řádek 111: | ||
| Hodnota 128 tisíc tokenů je maximální výstup na jeden požadavek, ne další kapacita nad zaplněné kontextové okno. Při aktivním vstupu kolem 253 tisíc tokenů proto nezbývá prostor pro 128 tisíc tokenů výstupu; zbývající rozpočet dále snižují systémové instrukce, tool output a reasoning. | Hodnota 128 tisíc tokenů je maximální výstup na jeden požadavek, ne další kapacita nad zaplněné kontextové okno. Při aktivním vstupu kolem 253 tisíc tokenů proto nezbývá prostor pro 128 tisíc tokenů výstupu; zbývající rozpočet dále snižují systémové instrukce, tool output a reasoning. | ||
| - | Kompaktace se týká historie před dalším požadavkem, | + | Kompaktace se týká historie před dalším požadavkem, |
| - | + | ||
| - | ===== Dopad na workflow ===== | + | |
| - | + | ||
| - | Vzniká trade-off mezi věrností podkladů a prostorem pro další reasoning či výstup: | + | |
| - | + | ||
| - | * **Bez kompaktace: | + | |
| - | * **S kompaktací: | + | |
| - | * **S blokujícím hookem:** Codex nezmění historii automaticky, | + | |
| - | + | ||
| - | Pokud je současně potřeba zachovat celý původní raw kontext, pokračovat v témž threadu a získat další reasoning nebo výstup, po zaplnění context window je to fyzicky nemožné. Žádný klient tento limit neobejde. | + | |
| - | + | ||
| - | Pro kritický primární materiál je bezpečnější zachovat původní kontext, chtít kratší strukturovaný výstup nebo práci rozdělit do etap. Pokud je shrnutí přijatelné, | + | |
| - | + | ||
| - | ===== Srovnání s Claude Code a OpenCode ===== | + | |
| - | + | ||
| - | [[https:// | + | |
| - | + | ||
| - | ===== Hlavní praktický rozdíl: dostupná kapacita ===== | + | |
| - | + | ||
| - | Porovnání se vztahuje k aktuálně používanému modelu v Claude Code s kontextovým oknem **1 000 000 tokenů** a k testovanému Codexu s provozním prahem **258 400 tokenů**. Claude Code proto bez kompaktace udrží přibližně **3,9× více** původního kontextu, než Codex dovolí před zásahem do historie nebo zastavením turnu. | + | |
| - | Oba nástroje nakonec narazí na fyzický limit. Nejde ale o stejně vzdálený problém: Codex v tomto testu vyžaduje rozhodnutí o kompaktaci | + | ===== Srovnání |
| - | ===== Jak se nástroje chovají na svém limitu ===== | + | [[https:// |
| - | * **Claude Code s vypnutou kompaktací: | + | ^ Nástroj přes předplatné ^ Dostupný nezkrácený kontext v tomto srovnání ^ Chování při naplnění ^ |
| - | * **OpenCode s vypnutou | + | | Claude Code | přibližně |
| - | * **Codex s blokujícím hookem:** zastaví už klient | + | | Codex CLI přes ChatGPT OAuth | praktický práh 258 400 tokenů | Codex provede kompaktaci nebo s blokujícím hookem zastaví |
| + | | OpenCode přes OpenAI OAuth | limit nezjištěn samostatným měřením | S vypnutou kompaktací odesílá požadavek; ověřená odpověď backendu byla '' | ||
| - | Claude Code má navíc přímý a transparentní přepínač. Codex vyžaduje globální hook, který je potřeba vytvořit a schválit. Přesto je rozdíl | + | Claude Code proto v tomto konkrétním srovnání neposkytuje nekonečný kontext, ale poskytuje téměř čtyřnásobnou kapacitu pro práci bez ztrátové transformace. Codex přes ChatGPT předplatné |
| ===== Zdroje ===== | ===== Zdroje ===== | ||
| - | * [[https:// | + | * [[https:// |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||