Tým editoru kódu Cursor zveřejnil technické detaily implementace nejnovějšího modelu OpenAI GPT-5.1-Codex-Max do svého agentního systému. Dokument odhaluje řadu netriviálních technických kompromisů a specifických úprav, které byly nutné pro dosažení spolehlivého chování specializovaného modelu pro kódování. Jde o vzácný pohled do toho, jak musí vývojářské nástroje upravovat své systémy pro konkrétní modely, a současně o ilustraci toho, že různé modely vyžadují značně odlišné přístupy.
GPT-5.1-Codex-Max: Specializovaný model pro kódování
GPT-5.1-Codex-Max je varianta GPT-5 speciálně vytrénovaná pro agentní kódování. OpenAI poskytuje Codex modely jako součást ChatGPT Plus, Pro, Business a Enterprise předplatného, kde slouží jako základ pro Codex CLI a rozšíření do vývojových prostředí. Model dosahuje podle OpenAI přibližně 74,5% úspěšnosti na benchmarku SWE-bench Verified, který testuje schopnost řešit skutečné softwarové problémy z GitHubu.
SWE-bench Verified obsahuje 500 ručně ověřených úloh z reálných Python repozitářů. Model dostane popis problému a musí vygenerovat opravu, která projde automatizovanými testy. Benchmark byl vytvořen Princetonskou univerzitou a OpenAI, přičemž OpenAI ho vyčistil od úloh, které bylo těžké nebo nemožné vyřešit. Úspěšnost 74,5% znamená, že GPT-5.1-Codex-Max vyřeší tři ze čtyř předložených problémů, což je podstatné zlepšení oproti předchozím modelům.
Přístup orientovaný na shell příkazy
Klíčovým rozdílem Codex modelů oproti běžným jazykovým modelům je jejich preference pro práci přes příkazový řádek. Zatímco Cursor poskytuje specializované nástroje pro čtení souborů nebo editaci kódu, Codex CLI, podle kterého je model trénovaný, využívá omezený soubor nástrojů a většinu operací řeší přes shell.
Cursor tým proto přejmenoval své nástroje tak, aby lépe odpovídaly jejich shellovým ekvivalentům. Například nástroj pro hledání v souborech dostal název odpovídající příkazu rg (ripgrep). Současně do instrukcí pro model přidali explicitní požadavek: pokud existuje nástroj pro danou akci, měl by ho preferovat před shell příkazem. Například pro čtení souboru by měl použít nástroj read_file místo cat.
Model má také tendenci při složitějších úpravách fallbackovat na psaní Python skriptů, které soubory upraví. Tyto skripty jsou funkční, ale Cursor preferuje přímé volání nástrojů, protože poskytuje lepší uživatelskou zkušenost a bezpečnost. Cursor používá sandboxing, který zabraňuje neoprávněnému přístupu k souborům nebo síti bez manuálního schválení uživatelem, což riziko snižuje.
Reasoning summaries místo komunikace
Na rozdíl od běžných GPT-5 modelů používají Codex modely pro komunikaci během práce takzvané “reasoning summaries” - shrnutí uvažování místo běžné konverzace. Jde o jednořádkové nadpisy nebo krátké zprávy, kterými model informuje uživatele o tom, co právě dělá. Nemůže normálně “mluvit” až do dokončení své práce.
Cursor se snažil najít rovnováhu mezi tím, aby uživatel mohl sledovat průběh práce a včas identifikovat špatný směr, a zároveň ho nezahltit příliš mnoha zprávami. Model dostal pokyn omezit reasoning summaries na jednu až dvě věty a zaznamenávat je pouze při objevení nových informací nebo změně taktiky. Měl také vyloučit meta-komentáře typu “Vysvětluji uživateli…”.
Protože Codex nemůže během práce normálně komunikovat, Cursor odstranil všechny části promptu týkající se komunikace s uživatelem uprostřed úkolu. Zjistili, že to zlepšilo kvalitu finálního výstupu kódu.
Kritická závislost na reasoning traces
Reasoning traces jsou interní záznamy uvažování modelu mezi jednotlivými voláními nástrojů. Jde fakticky o “řetězec myšlenek” vysvětlující, proč model zvolil konkrétní akci. Responses API od OpenAI je navrženo tak, aby tyto reasoning traces zachovávalo a předávalo mezi tahy, takže model nemusí rekonstruovat svůj plán od začátku.
Codex je na této kontinuitě výrazně závislý. Když Cursor v testech reasoning traces odstranil, výkon modelu na jejich interním benchmarku Cursor Bench klesl o 30 procent. Pro srovnání: OpenAI pozoroval u běžného GPT-5 pouze 3% degradaci na SWE-bench při vynechání reasoning traces.
Při ztrátě reasoning traces model často ztratí dílčí cíle, má horší plánování, nesprávné pořadí volání nástrojů nebo opakovaně odvozuje kroky, které už předtím provedl. Cursor proto přidal monitoring, který hlídá, že reasoning traces jsou vždy správně zachovány a předávány. Bez toho by výkon agenta klesl tak dramaticky, že by byl použitelný pouze pro triviální úkoly.
Nutnost explicitních instrukcí pro linter
Cursor poskytuje všem modelům nástroje pro čtení chyb z linterů jako ESLint nebo Biome. Tyto nástroje umožňují agentovi automaticky najít a opravit chyby v kódu. U Codex modelů ale nestačilo pouze poskytnout definici nástroje - model nebyl nakloněn ho volat.
Výrazně lépe model fungoval s explicitní a doslovnou instrukcí, kdy přesně použít nástroj:
“Po podstatných úpravách použij nástroj read_lints pro kontrolu nedávno upravených souborů na chyby linteru. Pokud jsi nějaké zavedl a dokážeš snadno zjistit, jak je opravit, oprav je.”
Tato specificita ilustruje, jak se různé modely liší v tom, co považují za implicitní a co vyžaduje explicitní instrukci. Codex evidentně potřebuje jasnější vedení než některé jiné modely v Cursor systému.
Tlak k autonomnímu jednání
V základním agentickém režimu Cursor chcete, aby agent autonomně četl a upravoval soubory podle požadavku uživatele. Frustrující je, když se vrátíte k počítači a zjistíte, že agent čekal na vaše povolení pokračovat.
Cursor proto experimentoval se specifičtějšími instrukcemi pro vedení Codexu:
“Pokud uživatel explicitně nežádá plán nebo nějaký jiný záměr, který jasně naznačuje, že by se kód neměl psát, předpokládej, že uživatel chce, abys udělal změny v kódu nebo spustil nástroje k vyřešení uživatelova problému. V těchto případech je špatné vypsat navržené řešení ve zprávě - měl bys rovnou implementovat změnu. Pokud narazíš na výzvy nebo překážky, měl bys se pokusit je vyřešit sám.”
V Cloud Agents, asynchronním vzdáleném workflow, je tato formulace ještě silnější. Jde o pokus vyhnout se situaci, kdy agent váhá a čeká na potvrzení místo toho, aby jednal.
Pořadí zpráv a jeho dopad
OpenAI modely jsou natrénovány respektovat a upřednostňovat pořadí zpráv. Systémový prompt má například vždy přednost před uživatelskými zprávami a výsledky nástrojů. Zatímco to pomáhá, znamená to také, že Cursor musí pečlivě ladit svůj vlastní prompt tak, aby neobsahoval instrukce, které by mohly náhodou odporovat požadavkům uživatele.
V jednom případě Cursor řekl Codexu, že by měl šetřit tokeny a nebýt plýtvavý. Zjistili ale, že tato zpráva ovlivňovala ochotu modelu provádět ambicióznější úkoly nebo rozsáhlejší průzkumy. Někdy se model zastavil a tvrdošíjně tvrdil: “Nemám plýtvat tokeny a nemyslím, že má smysl v tomto úkolu pokračovat!”
Takové konflikty mezi obecnými instrukcemi v systémovém promptu a konkrétními požadavky uživatele jsou u modelů, které striktně respektují pořadí zpráv, problematické. Cursor musí své prompty pravidelně upravovat a testovat, aby se takovým situacím vyhnul.
Co to říká o současném stavu
Článek Cursor týmu poskytuje vzácný pohled do praktických problémů integrace pokročilých jazykových modelů do produkčních nástrojů. Nejde o abstraktní diskusi o schopnostech AI, ale o konkrétní technické kompromisy:
Model-specifická optimalizace je nezbytná. Každý model vyžaduje odlišné instrukce, nástroje a přístupy. Nelze jednoduše vzít jeden prompt a použít ho univerzálně. Cursor má vlastní interní benchmark (Cursor Bench) a každý model ladí podle měření kvality, robustnosti a míry adopce uživateli.
Závislost na infrastruktuře providera. 30% pokles výkonu při ztrátě reasoning traces ukazuje, jak kritické jsou specifické API funkce. Cursor nemůže prostě používat standard OpenAI API - musí používat Responses API s jeho specialitami. To vytváří vendor lock-in a komplikuje podporu více providerů.
Explicitnost je důležitější než se zdá. To, co člověku připadá jako zřejmý krok (použij linter po úpravách), musí být modelu řečeno explicitně. A formulace záleží - obecné “šetři tokeny” může zhatit konkrétní úkol.
Rozdíl mezi tréninkem a produkcí. Codex je trénován na Codex CLI harness s omezenými nástroji a shell-orientovaným workflow. Když ho dáte do jiného prostředí s bohatším souborem nástrojů, musíte přizpůsobit názvosloví a explicitně model navádět k použití těchto nástrojů.
Cursor uzavírá článek slibem pokračovat ve sdílení vylepšení. Tempo vydávání nových modelů se zvyšuje a jejich cílem je vytěžit maximum z každého frontierového modelu v rámci jejich agentního systému. Pro uživatele editoru to znamená průběžná vylepšení, pro vývojáře podobných nástrojů užitečnou referenci.
Zároveň je to upozornění, že “agentní AI” není jen o tom mít přístup k dobrému modelu. Jde o komplexní systém instrukcí, nástrojů, monitoringu a ladění, který musí být pro každý model specificky uzpůsoben. A výsledky stále nejsou dokonalé - i nejlepší modely vyžadují dohled a lidské rozhodování u netriviálních úkolů.