Ondřej Surý, Director of DNS Engineering at ISC, who previously established the CZ.NIC Labs project that developed the Knot DNS server, summarized the experiments using large language models for analyzing, correcting, and modernizing the codebase of the BIND 9 DNS server, creating prototypes for new projects, and preparing educational materials for students. His impressions of using AI pointed to the fact that large language models are well-suited for rapid prototyping, understanding unfamiliar code, and automating simple routine tasks. However, when it comes to tackling larger challenges, it is questionable whether they save time, as significant time is spent on task definition, learning, and checking outcomes, as well as subsequent refinements.
Im ersten Experiment wurde der KI-Assistent Claude Code damit beauftragt, Probleme im Code der DNS-Server-Basis BIND 9 zu identifizieren, wobei der Fokus auf Sicherheitsproblemen und der Modernisierung des Codes lag. Keine der vorgeschlagenen Lösungen wurde in die Codebasis übernommen, da Claude technisch korrekten, aber praktisch nutzlosen Code generierte. So wurden beispielsweise reservierte Bezeichner und potenzielle ganzzahlige Überläufe als Probleme identifiziert, die vom Compiler verhindert werden und keiner Bearbeitung bedürfen. Das Experiment wurde als nutzlose Zeitverschwendung eingestuft.
Im zweiten Experiment bat Ondřej Claude, ein Telemetriesystem zu entwickeln, das in verschiedene Pakete integriert werden kann und die Leckage von Metadaten minimiert. Claude Code erstellte Prototypen für den Client und сервера, jedoch ohne das nötige Verständnis für die Umgebung und die während der Tests auftretenden Probleme. Zusätzlich wurden Google Gemini und ChatGPT zur Überprüfung herangezogen, wobei jedes KI-Modell Fehler in den Ergebnissen der anderen Modelle fand.
Die Methode erwies sich als nützlich für die schnelle Erstellung eines Prototyps, aber Ondřej bemerkte, dass er sich dabei wie der Sekretär eines Roboters fühlte. Zunächst schürte die rasche Erstellung des Prototyps Optimismus, doch letztendlich hatte er das Gefühl, dass der gesamte Entwicklungsprozess mit KI mehr Zeit in Anspruch nahm, als wenn man den Code von Grund auf manuell geschrieben hätte. Viel Zeit wurde dafür aufgewendet, die vom KI vorgeschlagene Lösung zu durchdringen, unsinnige Änderungen zu überprüfen und Überarbeitungen vorzunehmen – der Prototyp musste neu gestaltet werden, da die Qualität des Codes nach der KI mittelmäßig war und er viele wiederholte Strukturen enthielt.
Das dritte Experiment bestand darin, einen Lastenausgleichs-Generator in Rust unter Verwendung der crate-Pakete Domain und Tokio zu erzeugen. Claude Code konnte den angeforderten funktionierenden Prototyp generieren, doch Ondřej kennt Rust und die verwendeten Bibliotheken nicht gut genug, um die Qualität der geleisteten Arbeit zu bewerten.
Das vierte Experiment bezog sich auf die Vorbereitung von unterstützenden Materialien, Tests und Fragen für den Vorlesungskurs, den Ondřej an der Universität lehrt. Dieses Experiment wurde als das erfolgreichste anerkannt, obwohl es nicht ohne Probleme war – die KI erfand ein nicht existierendes tschechisches Wort für einen kryptografischen Begriff. Zudem wurde die Vielzahl der eingereichten studentischen Arbeiten vermerkt, die von großen Sprachmodellen generiert wurden und aufgrund von Unstimmigkeiten mit dem universitären Niveau sowie falschen Quellen zurückgegeben werden mussten.
Zudem kann ein weiteres Experiment erwähnt werden, das vom Engineering Director von Cloudflare durchgeführt wurde. Mithilfe des Claude Code Modells und mit einem Zeitaufwand von etwa einer Woche sowie 1100 Dollar für Token wurde eine alternative Implementierung des Next.js API-Frameworks in Form eines Plugins für das Vite-Toolkit vorbereitet. Das Projekt erhielt den Namen vinext und wurde auf GitHub veröffentlicht. Die neue Implementierung ist viermal schneller als der Build von Next.js mit Turbopack und erstellt Bundles für Frontends, die 57% weniger Speicherplatz beanspruchen.
Das Projekt implementiert 94 % der sechzehn grundlegenden APIs von Next.js und kann als transparente Alternative zu Next.js sowie für die Bereitstellung von Projekten auf der Cloudflare Workers-Plattform verwendet werden, ohne dass zusätzliche Schichten wie OpenNext erforderlich sind und ohne Bindung an Node.js. Der Hauptzweck von vinext besteht darin, die Nutzung der Next.js-APIs auf Plattformen jenseits von Vercel zu ermöglichen, ohne dass ein eigener Server bereitgestellt werden muss. Aktuell werden nur Cloudflare Workers unterstützt, und es gibt einen Prototyp für Vercel, doch in Zukunft wird die Unterstützung auch für andere serverlose Computing-Plattformen, die mit Vite arbeiten können, wie Netlify und AWS Lambda, erwartet.
Quelle: opennet.ru
