OndĆej SurĂœ, directeur de l'ingĂ©nierie DNS chez ISC et ancien fondateur de CZ.NIC Labs, dĂ©veloppeur du serveur DNS Knot, a prĂ©sentĂ© les rĂ©sultats d'expĂ©rimentations menĂ©es avec de grands modĂšles de langage pour analyser, corriger et moderniser le code source du serveur DNS BIND 9, prototyper de nouveaux projets et Ă©laborer des supports de formation pour les Ă©tudiants. L'utilisation de l'IA a permis de conclure que les grands modĂšles de langage sont bien adaptĂ©s au prototypage rapide, Ă la comprĂ©hension de code inconnu et Ă l'automatisation des tĂąches simples et rĂ©pĂ©titives. Cependant, pour des problĂšmes plus complexes, le gain de temps qu'ils permettent est discutable, car une part importante du temps est consacrĂ©e Ă la formulation du problĂšme, Ă l'examen et Ă la validation des rĂ©sultats, ainsi qu'Ă leur optimisation.
Lors de la premiĂšre expĂ©rience, l'assistant IA Claude Code a Ă©tĂ© chargĂ© de dĂ©tecter les problĂšmes dans le code source du serveur DNS BIND 9, en se concentrant sur les failles de sĂ©curitĂ© et la modernisation du code. Aucune des corrections proposĂ©es n'a Ă©tĂ© intĂ©grĂ©e au code source, car Claude a gĂ©nĂ©rĂ© un code techniquement correct mais pratiquement inutilisable. Par exemple, des identificateurs rĂ©servĂ©s et des dĂ©passements d'entiers potentiels, empĂȘchĂ©s par le compilateur et ne nĂ©cessitant aucune correction, ont Ă©tĂ© identifiĂ©s comme des problĂšmes. L'expĂ©rience a Ă©tĂ© jugĂ©e comme une perte de temps.
Dans la seconde expĂ©rience, OndĆej a demandĂ© Ă Claude de concevoir un systĂšme de tĂ©lĂ©mĂ©trie compatible avec diffĂ©rents logiciels et minimisant les fuites de mĂ©tadonnĂ©es. Claude Code a prĂ©parĂ© des prototypes du client et serveurmais sans une comprĂ©hension adĂ©quate de l'environnement et des problĂšmes rencontrĂ©s lors des tests. Google Gemini et ChatGPT ont Ă©galement Ă©tĂ© utilisĂ©s, et chaque modĂšle d'IA a mis en Ă©vidence des erreurs dans le fonctionnement des autres.
La mĂ©thode s'est avĂ©rĂ©e adaptĂ©e au prototypage rapide, mais OndĆej a remarquĂ© qu'en la mettant en Ćuvre, il se sentait comme le secrĂ©taire d'un robot tyrannique. Au dĂ©part, la gĂ©nĂ©ration rapide de prototypes Ă©tait encourageante, mais finalement, le processus de dĂ©veloppement avec l'IA a semblĂ© plus long que l'Ă©criture manuelle du code. Un temps considĂ©rable a Ă©tĂ© consacrĂ© Ă l'analyse de la solution proposĂ©e par l'IA, Ă la vĂ©rification des modifications superflues et Ă sa refonte ; le prototype a dĂ» ĂȘtre réécrit, car la qualitĂ© du code aprĂšs l'intervention de l'IA Ă©tait mĂ©diocre et comportait de nombreuses rĂ©pĂ©titions.
La troisiĂšme expĂ©rience consistait Ă gĂ©nĂ©rer un Ă©quilibreur de charge en Rust Ă l'aide des bibliothĂšques Domain et Tokio. Claude Code a rĂ©ussi Ă gĂ©nĂ©rer le prototype fonctionnel demandĂ©, mais OndĆej ne maĂźtrise pas suffisamment Rust et les bibliothĂšques impliquĂ©es pour Ă©valuer la qualitĂ© du travail.
La quatriĂšme expĂ©rience consistait Ă utiliser Google Gemini pour prĂ©parer des supports de cours, des tests et des questions pour un cours magistral dispensĂ© par OndĆej Ă l'universitĂ©. Cette expĂ©rience a Ă©tĂ© jugĂ©e la plus concluante, malgrĂ© quelques problĂšmes : l'IA a créé un mot tchĂšque inexistant pour un terme de cryptographie. On a Ă©galement constatĂ© un grand nombre de travaux d'Ă©tudiants, gĂ©nĂ©rĂ©s par de grands modĂšles de langage, qui ont dĂ» ĂȘtre renvoyĂ©s pour rĂ©vision en raison de leur non-conformitĂ© aux normes de l'universitĂ© et de rĂ©fĂ©rences Ă des sources erronĂ©es.
Une autre expĂ©rience menĂ©e par le directeur de l'ingĂ©nierie de Cloudflare mĂ©rite d'ĂȘtre mentionnĂ©e. En utilisant le modĂšle Claude Code, en y consacrant environ une semaine et 1 100 $ en tokens, ils ont pu dĂ©velopper une implĂ©mentation alternative de l'API du framework Next.js, sous forme de plugin pour la boĂźte Ă outils Vite. Ce projet, baptisĂ© vinext, est disponible sur GitHub. Cette nouvelle implĂ©mentation est quatre fois plus rapide que la compilation de Next.js avec Turbopack et gĂ©nĂšre des bundles frontend 57 % plus petits.
Le projet implĂ©mente 94 % des seize API principales de Next.js et peut ĂȘtre utilisĂ© comme une alternative transparente Ă Next.js. Il peut ĂȘtre dĂ©ployĂ© sur la plateforme Cloudflare Workers sans nĂ©cessiter de couches supplĂ©mentaires telles qu'OpenNext ni de 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Ă©ploiement de serveur dĂ©diĂ©. Actuellement, seule la plateforme Cloudflare Workers est prise en charge, un prototype pour Vercel Ă©tant disponible. La prise en charge d'autres plateformes de calcul sans serveur compatibles avec Vinext, notamment Netlify et AWS Lambda, est prĂ©vue.
Source: opennet.ru
