Ondřej Surý, ředitel inženýrství DNS v organizaci ISC, který v minulosti vytvořil projekt CZ.NIC Labs vyvíjející DNS server Knot, zhodnotil experimenty s využitím velkých jazykových modelů pro analýzu, opravy a modernizaci kódu DNS serveru BIND 9, vytváření prototypů nových projektů a přípravu materiálů pro výuku studentů. Jeho dojmy z používání AI shrnuly, že velké jazykové modely se dobře hodí pro rychlou výrobu prototypů, porozumění neznámému kódu a automatizaci jednoduchých rutinních úkolů, ale při jejich použití k řešení větších úkolů je pochybná časová úspora, jelikož mnoho času zabere formulace úkolu, zkoumání a ověřování výsledku, stejně jako následné úpravy.
V prvním experimentu byl AI asistentovi Claude Code dán úkol zjistit problémy v kódu DNS serveru BIND 9, zaměřující se na bezpečnostní problémy a modernizaci kódu. Žádné z navržených oprav nebylo zahrnuto do kódu, protože Claude vygeneroval technicky správný, ale prakticky nepoužitelný kód. Například jako problémy byly zaznamenány rezervované identifikátory a potenciální přetečení celých čísel, které byl kompilátor schopen zabránit a které nevyžadovaly opravy. Experiment byl považován za zbytečné plýtvání časem.
Ve druhém experimentu Ondřej požádal Claude, aby napsal systém telemetrie, který by se integroval s různými balíčky a minimalizoval úniky metadat. Claude Code připravil prototypy klienta a serveru, ale bez dostatečného porozumění prostředí a problémům, které se objevily během testování. Dále pro ověření byly zapojeny Google Gemini a ChatGPT, přičemž každý AI model nalézal chyby v výsledcích práce ostatních modelů.
Pro rychlé vytvoření prototypu se metoda ukázala být užitečná, ale Ondřej poznamenal, že se při práci cítil jako tajemník robota-pána. Zpočátku rychlé získání prototypu vzbuzovalo optimismus, ale nakonec vznikl pocit, že celý proces vývoje pomocí AI zabral více času než psaní kódu ručně od nuly. Mnoho času bylo stráveno analýzou řešení navrženého AI, ověřováním bezvýznamných změn a přepracováním — prototyp musel být předělán, protože kvalita kódu po AI byla průměrná a kód zahrnoval velké množství opakujících se konstrukcí.
Třetím experimentem byla generace vyrovnávače zátěže v programovacím jazyce Rust pomocí crate-paketů Domain a Tokio. Claude Code se podařilo vygenerovat požadovaný funkční prototyp, ale Ondřej není natolik zběhlý v Rustu a používaných knihovnách, aby mohl posoudit kvalitu odvedené práce.
Čtvrtý experiment se týkal přípravy v Google Gemini pomocných materiálů, testů a otázek k přednáškovému kurzu, který Ondřej vyučuje na univerzitě. Tento experiment byl označen jako nejúspěšnější, i když se neobešel bez problémů — AI vymyslelo neexistující české slovo pro pojem v kryptografii. Bylo také zaznamenáno množství studentských prací, které byly vygenerovány velkými jazykovými modely a musely se vracet k přepracování z důvodu nesouladu s úrovní univerzitní práce a odkazy na nesprávné zdroje.
Dále je možné zmínit ještě jeden experiment provedený ředitelem pro inženýrství společnosti Cloudflare. S pomocí modelu Claude Code, po vynaložení přibližně jednoho týdne času a 1100 dolarů na tokeny, se podařilo připravit alternativní implementaci API rámce Next.js, která byla zformována jako plugin k nástroji Vite. Projekt dostal název vinext a byl publikován na GitHubu. Nová implementace je čtyřikrát rychlejší než sestavení Next.js pomocí Turbopacku a vytváří balíčky pro frontend, které zabírají o 57 % méně místa.
Projekt realizuje 94 % ze šestnácti základních API Next.js a může být použit jako transparentní náhrada Next.js a nasazení projektů na platformě Cloudflare Workers bez použití dalších vrstev, jako je OpenNext, a bez vazby na Node.js. Klíčovým cílem vinext je umožnit používání API Next.js na platformách odlišných od Vercel a bez nasazení vlastního serveru. V současné podobě je podporován pouze Cloudflare Workers a je zde prototyp pro Vercel, ale v budoucnu se očekává podpora i dalších platforem bezserverového výpočtu, se kterými může pracovat Vite, včetně Netlify a AWS Lambda.
Zdroj: opennet.ru
