Claude umí sám matematicky ověřovat kód. Zatím jen u menších souborů
Společnost Anthropic zapojila model Claude do matematického ověřování programů. Systém vytvořil miliony řádků formálních důkazů pro open-source knihovny a nachází chyby, na které běžné testy nestačí. Platí to ale jen pro menší soubory.
Matematické ověřování nahrazuje zkoušení naslepo
Běžný software se testuje tak, že do něj zkušební programy sypou miliony náhodných vstupů a čekají, zda aplikace spadne. Této metodě se říká fuzzing. Odhalí většinu běžných přehmatů, ale nikdy nedokáže zaručit, že se program nezhroutí při nějaké velmi specifické kombinaci dat. Právě proto existuje formální verifikace. Jde o matematický zápis, který prověří všechny myslitelné stavy programu a podá exaktní důkaz, že k selhání dojít nemůže.
Až dosud byla formální verifikace vyhrazena téměř výhradně pro kritické systémy v letectví, kosmonautice nebo jaderné energetice. Důvodem byla extrémní pracnost. Například vytvoření matematicky ověřeného mikrojádra seL4 zabralo týmu špičkových matematiků přibližně dvacet člověkoroků. V publikované studii však Anthropic doložil, že tuto práci dokážou převzít uvažující jazykové modely s využitím výpočetního času při inferenci.
Kontrola přímo ve strojových instrukcích
Většina vývojářských asistentů kontroluje text zdrojového kódu, který píše člověk. Claude se společně s nástroji od Theoremu zaměřil na jinou vrstvu. Analyzuje přímo zkompilované strojové instrukce na úrovni assembleru pro procesorové architektury RISC-V a x86. Tím odpadá riziko, že by chybu do programu vnesl samotný překladač při převodu do binární podoby.
Během procesu model nepostupuje naslepo. Pokud při sestavování důkazu narazí na logickou chybu nebo zranitelnost v paměti, kód rovnou opraví a teprve poté pokračuje v dokončení důkazního řetězce. Výsledný formální důkaz navíc nevisí na důvěře v samotný model. Všechny vygenerované kroky následně nezávisle a přísně zkontroluje specializovaný ověřovací nástroj Rocq, dříve známý pod názvem Coq. Člověk do tohoto schvalování vůbec nemusí zasahovat. Pokud v důkazu nesedí jediný logický krok, verifikátor jej okamžitě zamítne.
Stovky opravených chyb v otevřeném softwaru
V rámci publikovaného experimentu vygeneroval Claude přibližně 180 milionů řádků formálního důkazního kódu pro systém Rocq z celkově navržené zhruba jedné miliardy řádků. Tyto důkazy pokrývají 239 vstupních bodů ve 123 open-source knihovnách zařazených do projektu Google OSS-Fuzz. Jde o knihovny, které denně zpracovávají obrázky, komprimují data nebo šifrují síťový provoz na miliardách telefonů i počítačů po celém světě.
Během generování důkazů model odhalil a opravil stovky skrytých bezpečnostních nedostatků. Žádnou z těchto chyb přitom neodhalily předchozí biliony automatických testovacích běhů, kterými tyto balíčky v minulosti prošly. V doplňkovém testu Claude formalizoval síťovou specifikaci RFC 1950 a doložil shodu implementace kompresní knihovny zlib v jádře Linuxu na úrovni binárního kódu x86. Výzkumníci také vytvořili nový interpretr programovacího jazyka Python napsaný v jazyce Rust. Po verifikaci nástrojem Verus vykázal 99,95% shodu chování s oficiálním CPythonem při prověření více než 1,7 milionu náhodně sestavených programů.
Přesně vymezené mantinely a spotřeba paměti
Matematický důkaz bezpečnosti neznamená, že software dokáže vyřešit libovolný problém bez zaváhání. Autoři výzkumu stanovili jasná omezení. Matematická záruka vylučující pády programu a chyby při práci s operační pamětí platí pro libovolné vstupní soubory do velikosti 64 MB. Metoda se vztahuje na jednovláknové statické binární soubory. Důkaz navíc neřeší takzvaný problém zastavení – nedokáže tedy zaručit, zda program v každé situaci svůj běh bezpečně ukončí a nezamrzne v nekonečném cyklu.
Pokrok je patrný také ve spotřebě výpočetního výkonu. Model Claude Opus 5.5, který společnost vydala v září 2026, vyřešil polovinu úloh srovnávacího testu přibližně o 40 % úsporněji než předchozí verze Opus 5. Nasazení specializovaných autonomních agentů se sdíleným úložištěm hotových důkazů srazilo spotřebu tokenů o dalších 17 %. K podobným úlohám uvažování přistupují i konkurenční systémy jako GPT-6.1 Sol od OpenAI nebo Gemini 4 Argon od Google DeepMind, Anthropic se však v tomto projektu soustředil na spojení modelu s exaktními externími verifikátory.
Dostupnost pro české vývojáře
Celý verifikační rámec vznikl ve spolupráci s externí firmou Theorem a zatím funguje jako specializované výzkumné a průmyslové řešení. Samotný model Claude Opus 5.5 i odlehčenější verze Claude Haiku 5.5 a Sonnet 5.5 jsou v České republice i celé Evropské unii běžně dostupné. Vývojáři k nim mohou přistupovat přes aplikační rozhraní s platbou za zpracované tokeny, případně v rámci předplatného Claude Pro za 20 dolarů měsíčně bez daně. Modely podporují češtinu v uživatelském rozhraní i při práci se zdrojovým textem.
Běžný uživatel si dnes matematický důkaz na jedno kliknutí v prohlížeči nespustí. Přínos této práce je nepřímý, ale hmatatelný. Jakmile začnou správci velkých open-source projektů tyto verifikační postupy integrovat do svých vývojových cyklů, výrazně ubyde bezpečnostních záplat v operačních systémech a běžných aplikacích, které denně používáme na svých počítačích.
Co přesně znamená, že software má formální matematický důkaz bezchybnosti?
Znamená to, že chování programu je převedeno do matematických rovnic a nezávislý verifikační program prověří všechny možné stavy paměti. Díky tomu je zaručeno, že program za stanovených podmínek nikdy nespadne kvůli neplatnému přístupu k paměti ani nepřeteče vyhrazenou vyrovnávací paměť.
Nahrazuje tento přístup práci lidských programátorů?
Nenahrazuje. Claude v tomto uspořádání slouží jako asistent pro řešení úmorných a vysoce specializovaných matematických úloh. Architekturu programu, jeho zadání a finální integraci do provozu stále určují a schvalují lidští inženýři.
Proč se důkaz zaměřuje na strojový kód místo běžného zdrojového textu v C nebo Rustu?
I perfektně napsaný lidský kód může obsahovat chybu po překladu, protože v samotném kompilátoru mohou zůstat skryté vady. Prověření instrukcí pro procesor garantuje bezpečnost toho, co v počítači skutečně běží, bez ohledu na použitý překladač.