Můj stack webového vývojáře vyžaduje práci s velkými jazykovými modely. Z nějakých důvodů dávám přednost OpenAI / Codex před Anthropicem a Claude Code. Honba za senzačním oznámením, který alternativní jazykový model pro vibecoding je právě nový nejlepší napříč benchmarky, mě nechává chladným. Už několikrát jsem si vyzkoušel, že na středně výkonném počítači (Macbook Pro M3 s 36 GB RAM) mají smysl jen jako nouzovka.
Samozřejmě používám i jiné online služby jako zálohu a tam tyto modely mám k dispozici. Z těch hlavních si zatím platím jen ChatGPT Plus za 20 dolarů a tokeny v Codexu prostě čas od času narazí na svůj limit.
Ornith: open source model pro agentní kódování
Benchmarky a testování finanční náročnosti nových verzí modelů jako Qwen, Kimi, GLM a jiných s tím, že na vyzkoušení spálí několik tisíc korun, to nechávám jiným. Ale když se objevil model Ornith, tak mě zaujal. Sliboval totiž něco docela nového.
Ornith mě oslovil svým konceptem self-scaffoldingu. Model se během tréninku neučí jen samotné řešení úloh, ale i to, jak si navrhnout postup – plánovat, používat nástroje a opravovat vlastní chyby. Nejede podle předem naučeného scénáře.
Benchmarky naznačovaly, že při podobné velikosti dokáže řešit agentní úlohy lépe než tehdejší Qwen 3.5. V praxi mi subjektivně připadal velmi svižný.
Vyzkoušel jsem dvě verze. 9B Dense mám doteď na Macbooku v LM Studiu a používám ji jako zálohu pro občasné jednoduché úpravy kódu volané z PhpStormu (přes AI Asistent a pi.dev). Nemůžu si na nic stěžovat. I na lokální model je poměrně rychlý a úpravy jsou smysluplné. Na limity této verze Ornith jsem narazil ve dvou situacích:
- Ve chvíli, kdy jsem chtěl nějakou čistě vizuální záležitost v HTML a CSS. Neustále vytvářel nové změny, ale nikdy nedosáhl, co jsem potřeboval.
- U velkých projektů a úkolů má tendenci se zacyklit, je zkrátka příliš malý. Proto jej používám jen na drobné úpravy například frontendových skriptů v rámci jediného souboru.
Variantu 35B MoE jsem využíval s DeepInfra (než ji přestal podporovat) a musím říct, že mě mile překvapila svou rychlostí. Ta se mi zdála v mém workflow vyšší než u Qwen 3.6 podobné velikosti.
Ornith 35B zvládal i dlouhé kontexty na rozdíl od své menší verze. Testoval jsem jej na různých malých i větších úpravách webů v PHP a Hugo s PhpStormem a AI Asistant, s pi.dev, s Goose, s GitHub Copilotem a také v editoru Zed. Ve všech případech spokojenost. Bohužel DeepInfra už Ornith nepodporuje a zatím jsem nenašel, kde jinde bych si jej mohl připojit. Lokálně je na můj hardware moc velký.
Je škoda, že kolem Ornithu nebylo větší mediální pozdvižení (u nás o něm psal snad jen Patrick Zandl). Přitom právě přístup Ornithu k agentnímu kódování mi přišel zajímavější než samotná honba za benchmarky.
Cisco Antares a poněkud zklamání z bezpečnostních kontrol projektů
Druhý model, který mě v poslední době zaujal, je bezpečnostně zaměřený Cisco Antares s otevřenými vahami. 350M a 1B varianty jsou k dispozici na Hugging Face a dovedou procházet váš kód a hledat v něm bezpečnostní zranitelnost.
Není to určeno k provádění penetračních testů. Prostě to pomocí nástrojů příkazového řádku projde soubory a odhadne v nich zranitelnost. Zní to dobře, modely jsou dostatečně malé na to, aby běžely lokálně, což se u kontroly zranitelností hodí.
Samotný model lze připojit přes OpenAI kompatibilní API, ale jeho způsob práce s nástroji není bez dalšího adaptéru kompatibilní s běžnými agenty, jako jsou Goose nebo GitHub Copilot. Cisco však poskytuje CLI nástroj, s nímž provedete bezpečnostní kontrolu.
⚠️ Pozor: CLI je na Hugging Face dostupné pouze u varianty 1B. U menší není soubor s nástrojem pro příkazový řádek připojený.
Stažení je sice zdarma, ale musíte v Hugging Face odsouhlasit podmínky použití a předat své osobní údaje. Pro použití na Macu v LM Studiu není oficiální kvantizace dostupná. Sáhl jsem po nějaké s GGUF, což ale způsobovalo řadu problémů, nakonec jsem skončil u kvantizace MLX.
Antares CLI umí vyhledávat konkrétní CWE zranitelnosti. Umí také projít kód a vyhledat v něm všechny možné potenciální problémy bez rozdílu a zobrazit v textovém rozhraní nalezené problémy. Výsledky ukládá i do JSONu.
💡 Common Weakness Enumeration (CWE) je veřejně dostupný katalog typických softwarových zranitelností a programátorských chyb, který spravuje organizace MITRE. Každý typ chyby má své jedinečné číslo (například CWE-89 pro SQL Injection), takže bezpečnostní nástroje i vývojáři mluví stejným jazykem při popisu nalezených problémů.
Bohužel to bylo zklamání. Chvíli jsem si myslel, že problém je v samotném CLI. Protože je napsané v Pythonu, věnoval jsem tři až čtyři hodiny času, abych opravil nejpalčivější problémy:
- Nekonečné smyčky, kdy model provádí desítky opakování stejných příkazů. Detektor duplicity sice existoval, ale nepřepnul agenta do ukončovacího režimu.
- Neplatné a vymyšlené cesty: model odevzdával překlepy, adresáře nebo úplně neexistující soubory.
- Ruční kontrola kódu opakovaně nepotvrdila problémy, které model označil.
- Sweep s osmi paralelními workery se mi dvakrát časově shodoval s pádem macOS v ovladači Apple GPU. Po omezení na jediného workera se problém už neopakoval.
V tu chvíli mi došlo, že už netestuji bezpečnostní model, ale samotnou orchestraci okolo něj. Úpravy CLI pomohly odlišit chyby orchestrace od limitů samotného modelu. CLI nyní dokázalo zastavit smyčku, odmítnout neexistující cestu a vyžadovat přečtení souboru.
Každá další pojistka ale odhalila nový problém: Antares si vymyslel jinou cestu, opakoval neplatné odevzdání nebo nedokázal dodat důkaz. Orchestrace může malý model usměrnit a zabránit falešnému reportu, nemůže mu však dodat schopnost spolehlivějšího bezpečnostního úsudku.
Nakonec jsem to vzdal. V mých testech poskytly větší obecné modely rychleji použitelné a lépe doložené výsledky, byť za cenu cloudového zpracování kódu.
Antares navíc hlásí jen předpokládané špatné soubory, nikoli jejich konkrétní místa nebo čísla řádků. Velmi mi také vadí, že nejde snadno propojit s klasickými chatovacími nástroji.
Pravděpodobně si Antares ještě chvíli v počítači nechám, ale toto bylo vyloženě zklamání. Přesto nelituji času, který jsem testování věnoval. Ornith mi ukázal zajímavý směr vývoje agentních modelů. Antares naopak připomněl, že specializovaný model ještě automaticky neznamená lepší nástroj. Nakonec stejně nejvíc rozhoduje, jak dobře zapadne do každodenní práce.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Přidat komentář