Ondřej Surý, director of DNS engineering at ISC, who previously created the CZ.NIC Labs project that develops the Knot DNS server, summarized the experiments on using large language models for analyzing, correcting, and modernizing the BIND 9 DNS server codebase, prototyping new projects, and preparing educational materials for students. The impressions from using AI have been that large language models are well-suited for quickly creating prototypes, understanding unfamiliar code, and automating simple routine tasks, but when it comes to solving larger issues, it is doubtful that they save time, since a lot of time is spent on task definition, learning, and verifying results, as well as subsequent refinement.
In the first experiment, the AI assistant Claude Code was tasked with detecting issues in the BIND 9 DNS server codebase, focusing on security problems and code modernization. None of the proposed fixes were accepted into the codebase, as Claude generated technically correct but practically useless code. For example, issues such as reserved identifiers and potential integer overflows were noted, which the compiler prevents and do not require fixes. The experiment was deemed a pointless waste of time.
In the second experiment, Ondřej asked Claude to write a telemetry system that integrates with various packages and minimizes metadata leaks. Claude Code prepared prototypes of the client and server, but without a proper understanding of the environment and issues arising during testing. Additionally, Google Gemini and ChatGPT were involved for verification, and each AI model found errors in the outputs of the other models.
Pentru o dezvoltare rapidă a prototipurilor, metoda s-a dovedit utilă, dar Ondřej a menționat că, în timpul lucrului, s-a simțit ca un secretar al unui robot stăpân. La început, obținerea rapidă a prototipului a inspirat optimism, dar la final a apărut senzația că întregul proces de dezvoltare cu ajutorul AI a durat mai mult decât scrierea codului manual de la zero. S-a pierdut mult timp analizând soluția propusă de AI, verificând prezența modificărilor inutile și reîncercând-o — prototipul a trebuit refăcut, deoarece calitatea codului generat de AI a fost mediocră și codul conținea un număr mare de construcții repetitive.
Al treilea experiment a fost generarea unui balancer de încărcare în limbajul Rust, utilizând pachetele crate Domain și Tokio. Claude Code a reușit să genereze prototipul de lucru solicitat, dar Ondřej nu știe atât de bine Rust și bibliotecile implicate pentru a evalua calitatea muncii realizate.
Al patrulea experiment a fost legat de pregătirea în Google Gemini a materialelor auxiliare, testelor și întrebărilor pentru cursul de lecții pe care Ondřej îl predă la universitate. Acest experiment a fost considerat cel mai de succes, deși nu au lipsit problemele — AI a inventat un cuvânt ceh care nu există pentru un termen de criptografie. De asemenea, s-a observat o abundență a lucrărilor studențești trimise, generate de modele de limbaj mari, care trebuie returnate pentru refacere din cauza neconformității cu nivelul universitar și a referințelor la surse incorecte.
În plus, se poate menționa un alt experiment realizat de directorul de inginerie al companiei Cloudflare. Cu ajutorul modelului Claude Code, după aproximativ o săptămână și 1100 de dolari cheltuiți pe token-uri, a fost posibilă pregătirea unei implementări alternative a API-ului pentru cadrul Next.js, sub forma unui plugin pentru instrumentul Vite. Proiectul a fost denumit vinext și publicat pe GitHub. Noua implementare este de patru ori mai rapidă decât compilarea Next.js folosind Turbopack și creează pachete pentru front-end-uri care ocupă cu 57% mai puțin spațiu.
Proiectul implementează 94% din cele șaisprece API-uri de bază Next.js și poate fi utilizat ca o înlocuire transparentă pentru Next.js, precum și pentru desfășurarea proiectelor pe platforma Cloudflare Workers fără a necesita straturi suplimentare, cum ar fi OpenNext, și fără legătura cu Node.js. Scopul cheie al vinext este de a oferi posibilitatea utilizării API-urilor Next.js pe platforme diferite de Vercel, fără a desfășura un server propriu. În forma actuală, este suportat doar Cloudflare Workers și există un prototip pentru Vercel, dar în viitor se așteaptă suport și pentru alte platforme de calcul fără server, cu care poate funcționa Vite, inclusiv Netlify și AWS Lambda.
Sursa: opennet.ro
