Ondřej Surý, der Engineering-Direktor von DNS bei der ISC-Organisation und der frühere Schöpfer des Projekts CZ.NIC Labs, das den DNS-Server Knot entwickelt, hat die Ergebnisse von Experimenten zur Verwendung großer Sprachmodelle zur Analyse, Korrektur und Modernisierung des Quellcodes des DNS-Servers BIND 9, zur Erstellung von Prototypen neuer Projekte und zur Vorbereitung von Lehrmaterialien für Studenten zusammengefasst. Die Eindrücke aus der Nutzung von KI zeigen, dass große Sprachmodelle gut für die schnelle Erstellung von Prototypen, das Verständnis unbekannten Codes und die Automatisierung einfacherer Routineaufgaben geeignet sind. Es ist jedoch zweifelhaft, ob sie bei der Lösung größerer Aufgaben Zeit sparen, da viel Zeit für die Aufgabenstellung, das Studieren und Überprüfen des Ergebnisses sowie für die nachfolgende Überarbeitung benötigt wird.
Im ersten Experiment wurde der KI-Assistent Claude Code beauftragt, Probleme im Quellcode des DNS-Servers BIND 9 zu erkennen, wobei der Fokus auf Sicherheitsproblemen und der Modernisierung des Codes lag. Keine der vorgeschlagenen Korrekturen wurde in den Quellcode aufgenommen, da Claude technisch korrekten, aber praktisch nutzlosen Code generierte. So wurden beispielsweise reservierte Bezeichner und potenzielle Ganzzahlüberläufe als Probleme angeführt, die vom Compiler verhindert und daher nicht bearbeitet werden mussten. Das Experiment wurde als sinnlose Zeitverschwendung eingestuft.
Im zweiten Experiment bat Ondřej Claude, ein Telemetriesystem zu entwickeln, das in unterschiedliche Pakete integriert werden kann und Datenlecks von Metadaten minimiert. Claude Code erstellte Prototypen des Clients und Server, jedoch ohne das notwendige Verständnis der Umgebung und der während der Tests auftretenden Probleme. Zusätzlich wurden Google Gemini und ChatGPT zur Überprüfung herangezogen, und jedes KI-Modell fand Fehler in den Ergebnissen der anderen Modelle.
Für die schnelle Erstellung eines Prototyps erwies sich die Methode als nützlich, aber Ondřej bemerkte, dass er sich während der Arbeit wie der Sekretär eines Roboterherrschers fühlte. Zunächst vermittelte die schnelle Gewinnung des Prototyps Optimismus, doch am Ende entstand das Gefühl, dass der gesamte Entwicklungsprozess mit Hilfe von KI mehr Zeit in Anspruch nahm als das manuelle Programmieren von Grund auf. Viel Zeit wurde darauf verwendet, die von der KI vorgeschlagene Lösung zu analysieren, auf sinnlose Änderungen zu überprüfen und sie umzubauen—der Prototyp musste neu gestaltet werden, da die Codequalität nach der KI mittelmäßig war und der Code viele sich wiederholende Konstruktionen beinhaltete.
Das dritte Experiment bestand darin, einen Lastenausgleichs-Generator in der Programmiersprache Rust unter Verwendung der Crate-Pakete Domain und Tokio zu erstellen. Claude Code gelang es, den angeforderten funktionsfähigen Prototyp zu generieren, aber Ondřej kennt Rust und die verwendeten Bibliotheken nicht gut genug, um die Qualität der geleisteten Arbeit zu bewerten.
Das vierte Experiment bestand in der Vorbereitung von Hilfsmaterialien, Tests und Fragen für den Vorlesungskurs, den Ondřej an der Universität unterrichtet, mithilfe von Google Gemini. Dieses Experiment wurde als das erfolgreichste anerkannt, obwohl es nicht ohne Probleme ablief – die KI erfand ein nicht existierendes tschechisches Wort für einen Fachbegriff der Kryptografie. Es wurde auch eine große Menge an von großen Sprachmodellen generierten studentischen Arbeiten festgestellt, die aufgrund von Unzulänglichkeiten im Vergleich zum universitären Niveau und ungenauen Quellenangaben zur Überarbeitung zurückgeschickt werden mussten.
Zusätzlich sollte ein weiteres Experiment erwähnt werden, das vom Engineering-Direktor des Unternehmens Cloudflare durchgeführt wurde. Mit Hilfe von Claude Code, in etwa einer Woche und mit 1100 Dollar für Token, konnte eine alternative Implementierung der API des Next.js-Frameworks in Form eines Plugins für das Vite-Tooling vorbereitet werden. Das Projekt wurde vinext genannt und auf GitHub veröffentlicht. Die neue Implementierung ist viermal schneller als der Aufbau von Next.js mit Turbopack und erzeugt Bundles für Frontends, die 57 % weniger Platz in Anspruch nehmen.
Das Projekt implementiert 94% der sechzehn grundlegenden APIs von Next.js und kann als transparente Alternative zu Next.js verwendet werden, um Projekte auf der Cloudflare Workers Plattform bereitzustellen, ohne zusätzliche Schichten wie OpenNext zu verwenden und ohne an Node.js gebunden zu sein. Das Hauptziel von vinext ist es, die Nutzung der Next.js APIs auf Plattformen, die nicht Vercel sind, zu ermöglichen und ohne ein eigenes Server-Deployment. Derzeit wird nur Cloudflare Workers unterstützt, und es gibt einen Prototyp für Vercel, aber in Zukunft wird die Unterstützung auch für andere Serverless-Computing-Plattformen erwartet, mit denen Vite arbeiten kann, einschließlich Netlify und AWS Lambda.
Quelle: opennet.ru
