Anthropic ve čtvrtek 23. dubna vydal na svém engineering blogu podrobný postmortem pod titulem „Aktuální informace k nedávným zprávám o kvalitě kódu Claude”, který přiznává, že po dobu přibližně měsíce degradovala kvalita výstupů Claude Code. A tato zjištění jsou důležitá pro všechny, kdo si v poslední době měli důvody stěžovat na spotřebu tokenů či ne/kvalitu výstupu.
Firma identifikuje tři samostatné změny, které dohromady vytvářely dojem plošného nerfingu. Každá postihovala jinou část provozu v jiném časovém okně, takže výsledek vypadal jako inkonzistentní celoplošný propad. Dotčené produkty jsou Claude Code, Claude Agent SDK a Claude Cowork; API samotné bylo podle Anthropicu celou dobu beze změny. Jako kompenzaci firma 23. dubna resetovala všem předplatitelům usage limity a všechny tři problémy označuje za vyřešené ve verzi 2.1.116. Takže aktualizujte!
Nerfing je výraz z herního slovníku, který se přenesl do AI odvětví a znamená záměrné oslabení produktu nebo jeho schopností po jeho vydání — původně v online hrách, kdy vývojáři snížili sílu příliš dominantní zbraně nebo postavy. V kontextu AI modelů se jím označuje podezření, že provozovatel (Anthropic, OpenAI, Google) po spuštění modelu potichu sníží jeho kvalitu, rychlost uvažování nebo délku odpovědí, aby ušetřil compute náklady, a zákazníkům to neoznámí.
Postmortem je technicky detailní a pro poměry odvětví nadprůměrně otevřený. Zároveň je ale strategicky načasovaný a ve své struktuře nápadně podobný jinému Anthropicovu postmortemu ze září 2025 — což obojí stojí za pozornost.
Co přesně přestalo fungovat
První změna — reasoning effort z high na medium (4. března). Při spuštění Opus 4.6 v Claude Code v únoru 2026 byl defaultní reasoning effort nastaven na high. Uživatelé ale hlásili, že model v high módu někdy „přemýšlí” tak dlouho, že se UI zdá zamrzlé, a spotřeba tokenů narůstá neúměrně efektu. Anthropic 4. března potichu přepnul default na medium s argumentací, že v interních evaluacích dává medium „mírně nižší inteligenci za výrazně nižší latenci na většině úloh”. Změnu v produktu oznámil dialogem vysvětlujícím rozhodnutí, ale většina uživatelů si default nevrátila zpět.
Zpětná vazba od power-userů byla tak silná, že Anthropic změnu 7. dubna zrušil. Nový default je xhigh pro Opus 4.7 a high pro všechny ostatní modely. Dotčené modely touto změnou byly Sonnet 4.6 a Opus 4.6. To, co Anthropic v postmortemu otevřeně neříká, ale co z textu přímo vyplývá, je, že šlo o záměrnou product změnu šetřící compute a latenci, ne o bug. Firma sama píše „this was the wrong tradeoff” — přiznává tedy chybný úsudek, ne technické selhání.
Druhá změna — caching optimalizace mazající reasoning historii (26. března). Toto je jediná ze tří příčin, která je skutečnou chybou v implementaci. Anthropic 26. března nasadil optimalizaci, která měla u sezení nečinných déle než hodinu jednorázově promazat starší myšlenkové bloky při jejich probuzení. Logika byla, že jde o výpadek z mezipaměti tak jako tak, a vyplatí se tedy poslat do API méně tokenů, které v mezipaměti nejsou. Pro implementaci firma použila API hlavičku clear_thinking_20251015 s parametrem keep:1.
Bug byl jednoduchý v důsledku a nepříjemný v projevech: místo aby se thinking historie promazala jednou, dělo se to každý další turn po zbytek session. Claude tedy při každé další odpovědi ztrácel kontext toho, proč prováděl předchozí edity a volání nástrojů. Projevilo se to přesně tím, co uživatelé měsíc hlásili — modely působily jako by zapomínaly, dělaly kroky nezávislé na předchozí logice, opakovaly se a volily podivné nástroje. Protože každý takový request znamenal zároveň cache miss, rychleji se vyčerpávaly i limity využití.
Jako turn se označuje “obrátka” promptu, tedy zadání promptu uživatelem a odpověď modelu.
Anthropic bug opravil 10. dubna ve verzi v2.1.101 — tedy patnáct dní po nasazení a osm dní po veřejně publikované analýze Stelly Laurenzo z AMD, Senior Director AI Group AMD, která na GitHubu zveřejnila telemetrii z 6 852 Claude Code sessions.
V postmortem je jeden obzvlášť zajímavý odstavec: dva nesouvisející experimenty — konkrétně „internal-only server-side experiment related to message queuing” a „orthogonal change in how we display thinking” — v kombinaci potlačily projev bugu v interních i externích testovacích buildech natolik, že ho interní dogfooding nezachytil. To otevírá zajímavou otázku, kolik paralelních neoznámených experimentů v daný okamžik na produkci běželo a zda interní testovací prostředí odpovídalo reálnému stavu produkce. Pro firmu, která staví produktovou reputaci na důvěře v konzistenci modelu, je přiznání „naše vnitřní prostředí má jiný stav než produkce” pozoruhodné.
Třetí změna — omezení délky výstupů v system promptu (16. dubna). Opus 4.7, který Anthropic vydal v polovině dubna, má podle vlastního vyjádření firmy sklon k „značné výřečnosti” — thinking více do hloubky, ale výstup obsahuje výrazně více tokenů než u předchůdce. V rámci přípravy produktu Anthropic do system promptu Claude Code přidal instrukci:
„Omezení délky: délka textu mezi jednotlivými příkazy nástroje by neměla přesáhnout 25 slov. Konečné odpovědi by neměly přesáhnout 100 slov, pokud úkol nevyžaduje podrobnější informace.”
Po několika týdnech interního testování, v němž Anthropic nezaznamenal regresi, byl prompt vydán spolu s Opus 4.7 dne 16. dubna. Širší ablační testy v rámci následného vyšetřování odhalily 3% pokles kvality kódu pro Opus 4.6 i Opus 4.7. Instrukce byla revertována 20. dubna ve verzi v2.1.116. Tedy i tato třetí změna je záměrná product optimalizace — cíl byl snížit verbosity a tím omezením podrobnosti také počet tokenů v odpovědi, tedy zátěž. Není to bug ve smyslu neúmyslné chyby kódu, je to prompt engineering s nepředvídatelným vedlejším efektem na kvalitu.
Rozsah dopadu je širší, než se zdálo
Veřejná pokrytí — Register, VentureBeat, OfficeChai — se až do vydání postmortemu soustředila na Claude Code. Originální text ale explicitně jmenuje tři produkty: Claude Code, Claude Agent SDK a Claude Cowork. Agent SDK je knihovna, na které staví produkční agenty partneři třetích stran; Cowork je Anthropicem nabízený asistent pro dlouhoběžící asynchronní úkoly. Oba produkty sdílejí stejný harness a system prompt vrstvu jako Claude Code, takže všechny tři popsané změny je zasáhly souběžně.
To je pro hodnocení dopadu významný detail: nešlo o problém izolovaný na jeden developerský nástroj, ale o plošný dopad na celou agentní vrstvu firmy. Pro firmy, které na Claude Agent SDK staví vlastní produkt, to znamená měsíc neoznámené degradace, která musela prosáknout na jejich vlastní zákazníky.
Časová linka reakce
Postmortem se tváří jako rychlá reakce na uživatelské hlasy. Fakta jsou jiná. První výraznou veřejnou analýzu zveřejnila Stella Laurenzo na GitHubu 2. dubna — přinesla telemetrii z 6 852 Claude Code sessions, 17 871 thinking bloků a 234 760 volání nástrojů s dokumentovaným 67% poklesem hloubky uvažování mezi lednem a březnem. Boris Cherny, Claude Code lead v Anthropicu, se k issue připojil v návazných dnech a původní hlavní závěr oponoval: header redact-thinking-2026-02-12 označil za čistě UI záležitost, změnu default effortu bránil jako „best balance across intelligence, latency and cost for most users”.
Teprve 7. dubna Anthropic změnu default effortu zrušil, 10. dubna opravil caching bug, 20. dubna revertoval verbosity cap. Formální postmortem přišel 23. dubna — tři týdny po veřejně zveřejněné evidenci. Tempo reakce tedy bylo dané spíš veřejným tlakem než interní detekcí. Originální text to nepřímo přiznává větou „trvalo nám více než týden, než jsme odhalili a potvrdili příčinu” pro caching bug — ale to je čas od okamžiku, kdy Anthropic problém začal aktivně vyšetřovat, ne od prvních uživatelských stížností, které probíhaly už od začátku března.
Širší kontext — Pro plán a kapacitní tlaky
Postmortem nelze číst izolovaně od ostatních událostí kolem Anthropicu v polovině dubna. Vyšel dva dny po tom, co Anthropic 21. dubna potichu odstranil Claude Code z Pro plánu pro část nových registrací. Aféru první zdokumentoval Ed Zitron a následně se potvrdila porovnáním archivovaných verzí pricingové stránky, kde u Pro plánu u řádku Claude Code přibyl červený křížek. Head of Growth Amol Avasare situaci následně označil za „malý test na zhruba 2 % nových prosumer signupů” — ačkoliv veřejné stránky byly změněny globálně. Zatím ke globálnímu stažení Claude Code z nabídky Pro tarifu nedošlo a po shitstormu to asi chviličku potrvá…
Souběžně s tím podle úniku Fortune ze 14. dubna OpenAI v interním memu svého revenue chiefa tvrdí, že Anthropic „funguje na podstatně menší křivce” než konkurence — tedy disponuje relativně méně výpočetními kapacitami na rostoucí provoz. Anthropic tato tvrzení nekomentoval.
V tomto světle dostávají všechny tři přiznané změny společný směr: každá z nich redukovala výkonnostní spotřebu. Default high → medium: méně přemýšlecích tokenů. Caching bug byl důsledkem nasazené optimalizace, která měla taky šetřit tokeny. Verbosity cap: méně odpovědních tokenů. Anthropic to nepřiznává jako plán a v postmortemu se tomu explicitně vyhýbá frází „nikdy záměrně nesnižujeme kvalitu našich modelů”. Formálně je to pravda — model samotný se nezměnil, na což už jsem ostatně upozorňoval dříve křiklouny, kteří razili tezi, že “model zhloupnul”. Nezhloupnul, bylo to produktové či obchodní rozhodnutí Anthropicu. Dvě ze tří změn byly explicitně motivovány úsporou a třetí byla zvýšením efektivity, která se pokazila. Systematický směr, kterým „nešťastné náhody” probublaly, je zjevný, ať už ho Anthropic připustí nebo ne.
Opakující se vzorec
Formát “tři překrývající se bugy, obtížně reprodukovatelné, chybějící evaluace” Anthropic použil už v postmortemu z 17. září 2025, kdy popisoval tři infrastrukturní bugy, které v srpnu a na začátku září degradovaly Claude Sonnet 4 a Opus 3 u až 16 % requestů ve špičce. Tehdy šlo o bug v routování (žádosti s krátkým kontextem byly směrovány na 1M-token servery), TPU compiler bug v XLA:TPU runtime a chybu ve top-k samplování.
Opakování stejné šablony za šest měsíců má dvě možné interpretace. Benevolentní: distribuované systémy tohoto rozsahu prostě trpí překrývajícími se edge-case chybami, a Anthropic je opravdu nemůže zachytit evaluacemi běžícími mimo produkci. Méně benevolentní: šablona „tři nešťastně souběžné bugy” se stává pohodlným narativním rámcem pro heterogenní směs product rozhodnutí a technických chyb, kterou je těžké kriticky rozkrýt. V dubnovém případě tento rámec navíc slouží k tomu, aby dvě záměrné product změny byly prezentovány ve stejné kategorii jako jeden skutečný bug — což si zaslouží explicitní oddělení.
Co Anthropic slibuje změnit
Závěrečná sekce postmortemu obsahuje šest procesních slibů. Větší podíl interního týmu bude používat přesně public build Claude Code, ne interní testovací verzi s odlišnými feature flagy a experimenty — což je podstatné přiznání, protože implicitně říká, že dosud dogfooding (testování vlastních produktů) probíhal na jiné verzi než ta, kterou dostávali zákazníci. Nástroj Code Review bude vylepšen a nasazen jak interně, tak u zákazníků. Anthropic zpětně testoval, že Opus 4.7 s rozšířeným kontextem by caching bug v pull requestu zachytil, zatímco Opus 4.6 ne. Každá změna systémového promptu projde širokou sadou vyhodnocení zvlášť pro každý model, včetně ablačních testů a nového auditního nástroje. Změny určené pro konkrétní model budou omezeny pouze na něj. Pro úpravy, které mohou vyměnit inteligenci za jinou metriku — odezvu, délku výstupu nebo náklady — bude platit období odleželi a postupné zavádění. Komunikace bude probíhat přes nový účet @ClaudeDevs na síti X a centralizovaná vlákna na GitHubu.
Jsou to rozumné kroky, ale jeden prvek nápadně chybí: není zmínka o tom, jak se dopředu bude výrazně komunikovat záměrná product změna, která ovlivňuje kvalitu — tedy přesně to, co se stalo 4. března s defaultním effortem. Changelog a oznámení v CLI rozhraní zjevně nestačí všem. Postmortem implicitně říká „takové změny budou mít období hájení a postupné zavádění”, ale nic nezavazuje k tomu, že budou předem oznámeny předplatitelům. Výchozí ladění zůstává v rukou Anthropicu bez povinnosti informovat — a právě netransparentní výchozí ladění byl jádrem původních stížností, nikoliv jeden izolovaný technický bug.
Co si z toho odnést
Postmortem je technicky dobře udělaný a ve srovnání s běžnou praxí odvětví nadprůměrně konkrétní. Anthropic pojmenovává verze, data, jména API headerů (clear_thinking_20251015, keep:1), ukazuje ilustrativní timeline, přiznává selhání QA procesu i to, že interní testování běželo na jiné verzi než produkce. Pro čtenáře s hlubším technickým pozadím je text čitelný a užitečný.
Zároveň je postmortem selektivní ve svém rámcování. Prezentuje tři heterogenní události jako jednotný technický příběh, v němž „my jsme to nechtěli udělat” zaznívá u všech tří stejně. Přitom dvě ze tří jsou záměrná product rozhodnutí, jejichž důsledky se ukázaly být horší, než Anthropic předpokládal — což je něco jiného než bug v implementaci. Pro kritickou četbu je užitečné tuto dichotomii explicitně pojmenovat: firma neprovedla omyl v kódu třikrát, provedla dva záměrné compute-šetřící manévry bez jasné komunikace vůči předplatitelům a jeden technický bug v optimalizaci.
Pro vývojáře používající Claude Code je praktický závěr jednoduchý: aktualizovat minimálně na verzi v2.1.116 nebo novější a vědět, že default reasoning effort je nyní pro Opus 4.7 nastaven na xhigh a pro ostatní modely na high. Kdo cítil, že mu Claude Code v předchozím měsíci hořel limity rychleji než normálně, má reset usage limitů z 23. dubna jako gesto nepřímé omluvy.
Pro širší pohled na AI odvětví stojí za pozornost, že jde o druhý podobně strukturovaný postmortem Anthropicu za půl roku. Firma se dostává do pásma, kde tempo vydávání nových modelů a produktových vrstev předbíhá interní QA kapacitu — a to je problém, který procesní slibotechna sama o sobě neřeší. Opakující se selhání detekce stejného typu chyb naznačuje, že jde o strukturální, ne individuální problém. V kontextu kapacitních tlaků, odstranění Claude Code z Pro plánu a úniku OpenAI o kompute disparitě je těžké se ubránit dojmu, že Anthropic ladí product vrstvu proti cost constraints způsobem, který předplatitelé nemají přímo vidět — a až když je rozdíl dost viditelný, přichází detailní postmortem s procesními sliby.
Transparentnost na úrovni technických faktů je reálná a zaslouží si uznání. Zůstává ale otevřená otázka, jestli příště bude stačit.