Ondřej Surý, directeur de l'ingénierie DNS à l'ISC, ancien créateur du projet CZ.NIC Labs, qui développe le serveur DNS Knot, a évalué les expériences sur l'utilisation de grands modèles linguistiques pour analyser, corriger et moderniser le code source du serveur DNS BIND 9, créer des prototypes de nouveaux projets et préparer des supports pour l'enseignement aux étudiants. Les impressions sur l'utilisation de l'IA se résument au fait que les grands modèles linguistiques sont bien adaptés pour la création rapide de prototypes, la compréhension de code inconnu et l'automatisation de tâches routinières simples, mais qu'il est douteux qu'ils permettent de gagner du temps pour résoudre des problèmes plus complexes, car beaucoup de temps est consacré à la définition du problème, à l'étude et à la vérification des résultats ainsi qu'à la revalidation ultérieure.
Lors de la première expérience, l'assistant IA Claude Code a été chargé de détecter des problèmes dans le code source du serveur DNS BIND 9, en se concentrant sur les problèmes de sécurité et de modernisation du code. Aucune des corrections proposées n'a été intégrée dans le code source, car Claude a généré un code techniquement correct mais pratiquement inutile. Par exemple, les problèmes signalés concernaient des identifiants réservés et des débordements d'entiers potentiels, qui sont prévenus par le compilateur et ne nécessitent pas de modifications. L'expérience a été jugée une perte de temps inutile.
Lors de la deuxième expérience, Ondřej a demandé à Claude d'écrire un système de télémétrie, intégrable avec différents packages et minimisant les fuites de métadonnées. Claude Code a préparé des prototypes de client et de serveurs, mais sans une compréhension adéquate de l'environnement et des problèmes rencontrés lors des tests. De plus, Google Gemini et ChatGPT ont été impliqués pour vérifier, et chaque modèle d'IA trouvait des erreurs dans les résultats des autres modèles.
Pour la création rapide de prototypes, la méthode s'est avérée utile, mais Ondřej a noté qu'il se sentait comme le secrétaire d'un robot maître. Au début, la rapidité de génération du prototype inspirait de l'optimisme, mais à la fin, il a eu l'impression que tout le processus de développement avec l'IA avait pris plus de temps que d'écrire le code manuellement depuis le début. Beaucoup de temps a été perdu à analyser la solution proposée par l'IA, à vérifier l'absence de modifications inutiles et à retravailler — le prototype a dû être refait, car la qualité du code après l'IA s'est révélée médiocre et le code contenait un grand nombre de constructions répétées.
Le troisième expériment consistait à générer un équilibrage de charge en Rust en utilisant des paquets crate, Domain et Tokio. Claude Code a pu générer le prototype fonctionnel demandé, mais Ondřej ne connaît pas assez bien Rust et les bibliothèques impliquées pour évaluer la qualité du travail réalisé.
Le quatrième expériment était lié à la préparation de matériel d'appoint, de tests et de questions pour le cours de conférences qu'Ondřej enseigne à l'université, dans Google Gemini. Cet expériment est considéré comme le plus réussi, bien qu'il n'ait pas été exempt de problèmes — l'IA a inventé un mot tchèque inexistant pour un terme en cryptographie. Il a également été noté l'abondance de travaux d'étudiants envoyés à lui, générés par de grands modèles linguistiques, qui doivent être renvoyés pour révisions en raison de leur non-conformité au niveau universitaire et de références à des sources incorrectes.
En outre, on peut noter un autre expériment mené par le directeur de l'ingénierie de Cloudflare. Avec le modèle Claude Code, en dépensant environ une semaine et 1100 dollars en jetons, une implémentation alternative de l'API du framework Next.js a été préparée sous la forme d'un plugin pour l'outil Vite. Le projet a été nommé vinext et publié sur GitHub. La nouvelle implémentation est quatre fois plus rapide que la construction de Next.js avec Turbopack et génère des bundles pour les front-ends occupant 57 % moins d'espace.
Le projet implémente 94 % des seize API de base de Next.js et peut être utilisé comme un remplacement transparent de Next.js ainsi que pour le déploiement de projets sur la plateforme Cloudflare Workers sans nécessiter de couches supplémentaires, telles que OpenNext, et sans dépendance à Node.js. L'objectif principal de vinext est de permettre l'utilisation de l'API Next.js sur des plateformes autres que Vercel, sans déployer de serveur dédié. Actuellement, seules Cloudflare Workers sont prises en charge, et un prototype pour Vercel est en développement, mais il est prévu que d'autres plateformes de calcul sans serveur, avec lesquelles Vite peut fonctionner, comme Netlify et AWS Lambda, soient également prises en charge à l'avenir.
Source : opennet.ru
