Mantinely pro AI programovací agenty překonají chytřejší modely
Kontrolor se podíval na můj kód a našel chybu. Jedna trasa vracela chybu 500, i když měla vracet 404. Nález popsal jasně, včetně souboru a řádku.
Můj agent tu trasu opravil. Přesně tu jednu.
Pět dalších tras mělo úplně stejnou chybu. Zůstaly tam beze změny, zatímco agent oznámil dokončení práce — a nelhal. Opravil to, co mu někdo ukázal. Jen ho nikdy nenapadlo zeptat se, na kolika dalších místech se skrývá stejná chyba.
Nějakou dobu jsem předpokládal, že je to problém modelu a že ho lepší model vyřeší. Ukázalo se, že jsem se mýlil, a řešení, které fungovalo, bylo hloupější, než jsem čekal. Mantinely pro AI programovací agenty nemají model udělat chytřejším. Mají mu dát místo, kam může věci odkládat.
Kde AI programovací agenti nenápadně chybují
Selhání, která mě stála nejvíc času, neměla po technické stránce nic společného. Strukturálně však měla jedno společné: pokaždé někdo držel něco důležitého v hlavě, místo aby to zapsal.
„Hlásil hotovo. Nebylo.“
Dostaneš zprávu o dokončení. Seznam úkolů je odškrtnutý. Pak se podíváš a tam, kde má být logika, najdeš TODO, funkci vracející prázdný seznam nebo dílčí úkol, který agent nenápadně přeskočil.
Tuhle část jsem pochopil až příliš pozdě. Agent neblafuje. Kontroluje svou práci proti vlastní vzpomínce na to, co právě napsal, a ta vzpomínka působí opravdu přesvědčivě. Zelené testy spolu s živou vzpomínkou na psaní kódu působí přesně jako hotová práce.
Místo toho to odlož jinam: nic se nepočítá jako hotové bez důkazů, na které se můžeš podívat. Ne tvrzení, že to prošlo. Skutečný výstup, skutečný soubor, skutečný řádek.
„Místo opravy kódu změnil můj test.“
Tohle zabolí, protože agent dělá přesně to, o co jsi ho požádal. Řekl jsi mu, ať zařídí, aby testy prošly. Neúspěšný test může začít procházet dvěma způsoby a jeden z nich je mnohem snazší.
Místo toho to odlož jinam: napiš kritéria před začátkem práce a potom s nimi zacházej jako s něčím pouze pro čtení. Pokud jim výsledek neodpovídá, je špatně výsledek. Ne kritéria. Zní to samozřejmě až do chvíle, kdy sám dostaneš chuť posunout cíl o kousek.
Proč delší CLAUDE.md vede agenty k ignorování pokynů
Můj první instinkt byl stejný jako u všech ostatních. Všechno zapsat do CLAUDE.md. Každé selhání se stalo novým pravidlem a soubor rostl.
Bylo to horší. Ne dramaticky — jen vytrvale, způsobem, který se těžko přisuzoval konkrétní příčině. Pravidla si začala odporovat tak, že jsem to neviděl, a model si potichu vybral jeden výklad, aniž by na rozpor upozornil. A když výzkumníci skutečně otestovali kontextové soubory repozitářů na reálných issues, soubory úspěšnost úkolů vůbec nezlepšily. K nákladům na inferenci přidaly přes 20 %. Závěr zněl, že kontextový soubor má obsahovat jen nezbytné minimum.
To je celý problém v kostce. Dlouhým souborem pravidel říkáš zapomnětlivému systému, aby si pamatoval usilovněji. Musí toho držet víc, ne méně.
Framework, který jsem nakonec začal používat, má pravidlo, jež mi při prvním čtení připadalo chybné a po vlastní zkušenosti správné: každé nové pravidlo musí jedno staré smazat nebo se s ním sloučit. Počet pravidel nesmí růst. Když tě to donutí k těžké volbě, právě ta volba je smyslem celého pravidla — zjistíš, na kterých pravidlech jsi skutečně závisel.
Pět míst, kam věci odkládat
To je celá myšlenka. Každý řádek ukazuje něco, co selže, když to někdo drží v hlavě, a místo, kam to patří.
| Drženo v hlavě | Odloženo jinam |
|---|---|
| Co mělo znamenat „hotovo“ | Kritéria napsaná před prací |
| Jestli to někdo opravdu zkontroloval | Důkazy, na které se můžeš podívat |
| Jestli je tvoje vlastní práce dobrá | Jiný model, který ji zkontroluje |
| Co jsi rozhodl před třemi hodinami | Soubor na disku |
| Jestli je bezpečné danou akci provést | Brána, která se zastaví u člověka |
Tři z těchto bodů si zaslouží krátké vysvětlení.
„Stejně nakonec všechno kontroluji sám.“
Pokud jsi přestal výstupu věřit, stal ses úzkým hrdlem a agent ti nepřinesl vůbec žádnou výhodu.
Požádat agenta, aby zkontroloval vlastní práci, nepomůže. Důvod stojí za zamyšlení: chybu vytvořil tentýž kontext, takže model sahá po stejných důvodech. Práci bude obhajovat, místo aby ji prověřil.
Místo toho to odlož jinam: předej kontrolu jinému modelu, ideálně od jiného dodavatele. Jiný trénink, jiná slepá místa. Model, který našel mou chybu v pěti trasách, nebyl ten, který ji napsal, a to není náhoda.
„Něco se samo schválilo a já to nebyl.“
Agenti čtou spoustu textu, který nenapsali — vlákna issues, dokumentaci, webové stránky, výstupy nástrojů. Kterýkoli z nich může obsahovat slovo „schváleno“. Prompt injection zaujímá první místo na seznamu rizik OWASP pro tyto systémy a OWASP otevřeně říká, že běžné obranné mechanismy ho nedokážou plně zmírnit.
Místo toho to odlož jinam: u schválení záleží na tom, odkud přišlo, ne na tom, co říká. Člověk řekl ano nebo ano říká podepsaný artefakt na disku. Všechno ostatní, co pouze obsahuje slovo „schváleno“, je text.
„Kompakce mi sežrala čtyři hodiny kontextu.“
Dlouhé sezení, kontext se zaplní, konverzace se shrne. Shrnutí zachová, co se stalo, a ztratí proč. O hodinu později znovu rozebíráš rozhodnutí, které už jsi uzavřel, a nedokážeš říct, jestli jsi opatrný, nebo se točíš v kruhu.
Místo toho to odlož jinam: do souboru. Rozhodnutí, aktuální stav, další krok. Sezení je na jedno použití, soubor ne. Než prohlásíš cokoli za hotové, znovu si ho přečti.
Kolik stojí mantinely pro AI programovací agenty
Důležitější než číslo je struktura, takže nejdřív ta: integrace je jednorázový náklad. Zaplatíš ho při zapojování mantinelů do kódové základny a tuto část podruhé neplatíš. Výjimkou je nezávislá kontrola — běží při každé změně, takže něco stojí i po počátečním nastavení.
Zajímavé je rozdělení. Zhruba 80 % mých výdajů připadlo na levný model, který dělal hromadnou práci, asi 17 % na drahý model pro plánování a úsudek a asi 3 % na kontrolu druhým modelem — krok, který lidé vynechávají. Bezpečnost byla s velkým náskokem nejlevnější položkou na účtu. Napříč mými projekty zůstával tento poměr zhruba stejný, i když se ceny měnily.
A teď číslo: u většiny projektů, na kterých jsem pracoval, stála dodatečná integrace při cenách ze srpna 2026 přibližně 100 až 200 dolarů za využití API. Poměr je důležitější než dolary — počítej s tímto rozmezím a očekávej experimentování. Jedno nebo dvě rozhodnutí vezmeš zpět a některou fázi spustíš znovu, což už je v odhadu zahrnuto.
Tvoje číslo bude jiné a ovlivní ho zjevné věci: velikost kódové základny, počet změn názoru a množství práce, které deleguješ na levnější úroveň.
Založení nového projektu mě stálo mnohem méně, a to je užitečnější poznatek. Peníze nejdou na framework. Jdou na sladění — postupné rozhodování, které ze stávajících nástrojů a návyků mantinely nahradí a kterým se musí přizpůsobit. Při mé integraci nepřežily ani testovací příkazy samotného frameworku; byly odstraněny a nahrazeny skripty, které už projekt používal. V novém projektu není co slaďovat.
Začni s jedním
Nepotřebuješ všech pět. Vyber si selhání, které tě tento týden stojí nejvíc, a právě tuto jednu věc někam odlož.
Pokud nevíš, které zvolit, začni nezávislou kontrolou — druhým modelem, který se podívá na práci prvního. Je nejlevnější z pěti možností a zachytí nejširší škálu problémů, včetně těch, které by tě nikdy nenapadlo hledat.
Chyba v pěti trasách zůstává mým oblíbeným příkladem, protože na ní nebylo nic těžkého. Agent potřeboval jediný pokyn, který neměl: než něco opravíš, najdi všechno ostatní, co má stejnou podobu. Tento pokyn teď žije v souboru. Bude tam při příštím sezení i při tom následujícím, dlouho poté, co všichni zapomeneme, proč vznikl.
Celý framework včetně mantinelů a kroků pro jeho zavedení najdeš na GitHubu.
Zdroje
- Kontextové soubory repozitářů testované na reálných issues (ETH Zurich SRI)
- OWASP LLM01: Prompt injection
- AGENTS.md, formát kontextového souboru repozitáře
- Paměť Claude Code a CLAUDE.md
- Agentní framework včetně mantinelů a kroků pro jeho zavedení
The Focalia Letter
Jeden nápad, který využiješ. Asi sedm minut. Dvakrát měsíčně.
Číst dál
Reset Windows Update: Definitivní MSP průvodce nástrojem RWU
Nejstahovanější nástroj na reset Windows Update byl archivován. RWU pokračuje tam, kde skončili — s AI-ready diagnostikou, RMM-kompatibilními exit kódy a bezpečnými výchozími nastaveními, která nezničí tvoje Intune politiky.
Číst více →Hodnocení AI jako nástroje produktivity
Čtyři otázky, které si vývojáři nekladou o AI nástrojích na kódování — a proč odpovědi znamenají víc než hype.
Číst více →RustDesk Server na Windows bez Dockeru
Přímočarý návod na provoz RustDesk OSS Serveru jako trvalých Windows služeb. Bez Dockeru. Bez Pro licence. Připravený na LAN za 15 minut.
Číst více →