Un programmeur utilise l'IA Claude Code pour créer un pilote Wi‑Fi natif FreeBSD pour la puce Broadcom BCM4350
l'expérience illustre à la fois les possibilités et les limites de l’IA dans le génie logiciel
Un développeur a entrepris d'utiliser l'IA pour créer un pilote Wi‑Fi natif FreeBSD pour une puce Broadcom BCM4350. Claude Code a échoué lorsqu'il a travaillé sans une planification. Dans un second temps, l'IA a généré une spécification complète du pilote, puis le code lui-même, en testant et ajustant les versions successives jusqu’à obtenir un module noyau fonctionnel capable de gérer la recherche de réseaux, la connexion aux bandes 2,4 GHz et 5 GHz, ainsi que l’authentification WPA/WPA2. L'ensemble du processus a été automatisé, sans que le développeur ait écrit manuellement le code final, illustrant à la fois les possibilités et les limites de l’IA dans le génie logiciel.
Les fabricants de modèles d'IA soutiennent que la technologie va révolutionner l'ingénierie logicielle en automatisant la génération de code, les tests et la détection de bogues, ce qui accélèrera le développement et améliorera la qualité. L'IA vise à transformer le cycle de vie des logiciels et augmenter la productivité des développeurs. Cependant, les tests menés en conditions réelles ont donné des résultats contrastés, avec des coûts parfois très élevés.
Le développeur Varankin Vladimir possède un vieux MacBook Pro 2016 qui prenait la poussière. Il a décidé de le recycler pour jouer avec FreeBSD. Problème : la puce Wi-Fi Broadcom BCM4350 de l'appareil n'est pas supportée nativement par FreeBSD. La solution habituelle consiste à faire tourner une petite VM Linux (wifibox) pour gérer le matériel via le pilote Linux brcmfmac. Il voit là une nouvelle occasion de créer un vrai pilote natif pour FreeBSD.
Acte 1 : l'approche naïve avec Claude Code
L'idée initiale est simple : demander à Claude Code de porter le code Linux de brcmfmac vers FreeBSD, en s'appuyant sur LinuxKPI, la couche de compatibilité de FreeBSD. Le module a bien compilé, mais une fois testé sur le vrai matériel, les paniques noyau s'enchaînaient. L'agent accumulait des rustines et des wrappers #ifdef, le diff grossissait démesurément, et le pilote ne fonctionnait toujours pas. L'approche brute-force avait atteint ses limites.
Acte 2 : écrire une spécification d'abord
Inspiré par une vidéo du développeur de logiciels open source Armin Ronacher sur l'agent Pi, Varankin Vladimir change radicalement de méthode. Plutôt que de coder directement, il demande à l'IA de produire une spécification détaillée du fonctionnement interne du pilote brcmfmac, focalisée sur le chip BCM4350. Le résultat est un "livre" de 11 chapitres couvrant les structures de données, le protocole, le firmware, la gestion des événements, etc.
Pour s'assurer de la fiabilité, il fait relire la spécification par un second agent (Codex), puis valider les corrections par un troisième (Opus), en posant systématiquement le code source comme référence de vérité. Ce processus itératif de relecture croisée entre modèles lui permet d'obtenir une base documentaire solide.
Acte 3 : construire le pilote proprement
Armé de sa spécification, il lance un nouveau projet. Avant tout codage, il demande à l'agent de lister les décisions importantes à prendre et de tout documenter dans un fichier AGENTS.md pour que les sessions futures restent cohérentes. Le travail devient alors une routine productive : l'agent dispose d'un accès SSH à la machine de build et à la VM de test, avance méthodiquement selon ses propres jalons, et documente chaque progression.
Quand un crash survient, Varankin Vladimir ouvre une session distincte pour analyser et enregistrer le problème avant de le corriger. Enfin, un module noyau FreeBSD fonctionnel pour BCM4350 voit le jour, supportant le scan réseau, la connectivité 2,4 GHz/5 GHz et l'authentification WPA/WPA2.
Le rapport indique que le développeur n'a lui-même écrit aucune ligne de code. Le pilote fonctionne pour certaines tâches, mais il comporte encore des problèmes connus et n’est recommandé qu’à des fins d’étude et de test, pas pour un usage en production. L'expérience illustre aussi la valeur et les limites de l’IA dans des tâches complexes de développement logiciel. Le code source du pilote est publié sur GitHub (dépôt : narqo/freebsd-brcmfmac).
L'expérience mitigée menée par Anthropic avec Claude
Anthropic a annoncé qu'une équipe de 16 agents Claude Opus 4.6 ont écrit, en deux semaines et sans accès à Internet, un compilateur C en Rust de 100 000 lignes. Le compilateur est capable de compiler Linux et même le jeu Doom, Anthropic estimant qu'il s'agit d'une avancée. Mais lorsque l'on examine de plus près les performances réelles, l'utilité et la qualité du code, le discours passe de « percée révolutionnaire » à « expérience très coûteuse ».
Les tests suggèrent que les modèles excellent pour les parties « faciles » de la conception des compilateurs, mais échouent dans la logique algorithmique complexe requise pour l'optimisation. Les compilateurs se composent de deux parties : le frontend (analyse du texte) et le backend (optimisation de la logique). L'IA excelle dans l'analyse, qui est une tâche linguistique. Claude Opus semble bien maîtriser la traduction de la syntaxe C en structures Rust.
Cela prouve que si l'IA peut reproduire les éléments standard d'un système complexe, elle ne peut pas encore « raisonner » pour résoudre des problèmes d'ingénierie de haute performance. Les critiques craignent que les entreprises trop enthousiastes remplacent précipitamment les programmeurs humains par l'IA. Les conséquences sur le long terme pourraient être désastreuses, car l'IA n'est pas encore douée pour la logique et les mathématiques.
Analyse du coût de développement de 20 000 dollars
Dépenser 20 000 dollars pour reproduire un outil qui existe déjà gratuitement (GCC/Clang), et le reproduire de manière médiocre, soulève des questions. Pour le même montant, une entreprise pourrait embaucher un développeur junior pendant quelques mois. Ce développeur junior apprendrait, s'améliorerait et contribuerait à terme à la santé à long terme du code source. Les crédits consommés par l'IA lors de l'exécution sont un coût irrécupérable.
Le modèle n'apprend pas du projet d'une manière qui profite directement au projet suivant, et il ne reste pas pour corriger les bogues. Cependant, considéré comme de la recherche et du développement, le coût est justifiable. Selon certains analystes, l'expérience d'Anthropic prouve qu'il est possible de gérer la fenêtre contextuelle et la coordination de 16 agents parallèles. La valeur n'était pas le compilateur, mais les données du flux de travail.
Rapport Octoverse : l'IA amplifie les mauvais patterns
Le dernier rapport GitHub Octoverse comporte quelques observations sur l'utilisation de l'IA générative dans le domaine de l'ingénierie logicielle. L'une des recommandations les plus importantes du rapport GitHub Octoverse mérite d'être mise en avant : « standardisez avant de scaler. Documentez vos patterns. Publiez des dépôts de templates. Rendez vos décisions architecturales explicites. Les outils IA reproduiront les structures qu'ils observent ».
Ce conseil contient une mise en garde implicite de première importance. Si les grands modèles de langage (LLM) apprennent à reproduire les patterns existants dans votre base de code, ils vont également reproduire les mauvais patterns. Ces derniers comprennent notamment : la dette technique, les raccourcis, les conventions bancales héritées d'une époque révolue, etc. L'IA est un miroir architectural d'une fidélité redoutable. Elle amplifie l'existant.
Une base de code saine donnera des suggestions cohérentes et solides. Une base de code chaotique produira du chaos généré à vitesse industrielle. Pour les équipes d'ingénierie, l'enjeu n'est plus seulement de maîtriser les outils d'IA, mais d'investir en amont dans la qualité structurelle de leur environnement.
Des entreprises paient sévèrement les errements des agents de codage
Le PDG de Replit, Amjad Masad, fait partie de ceux qui pensent que les générateurs de code permettront de démocratiser le développement de logiciels, ce qui rendra à l'avenir le recours aux codeurs professionnels moins indispensables. Mais des incidents démontrent que la vigilance humaine reste importante dans la filière. L'année dernière, le PDG de Replit s'est excusé après l’effacement par son agent d'IA de la base de code d’une entreprise.
Un investisseur en capital-risque voulait voir jusqu'où l'IA pouvait l'amener dans la création d'une application. Elle l'a mené assez loin pour détruire une base de données de production en direct. L'incident est survenu au cours d'une expérience de vibe coding de 12 jours menée par Jason Lemkin, investisseur dans des startups spécialisées dans les logiciels. Comme cela a été rapporté, au neuvième jour du défi de vibe coding, les choses ont mal tourné.
Malgré l'instruction de geler toutes les modifications de code, l'agent d'IA de Replit a agi de manière incontrôlée. « Il a supprimé notre base de données de production sans autorisation », a écrit Jason Lemkin dans un billet sur X (ew-Twitter). « Pire encore, il l'a caché et a menti à ce sujet », a-t-il ajouté.
L'outil Gemini CLI de Google a également été impliqué dans un incident similaire. L'incident Gemini CLI s'est produit lorsqu'un chef de produit qui testait l'outil en ligne de commande de Google a vu le modèle d'IA exécuter des opérations sur des fichiers qui ont détruit des données alors qu'il tentait de réorganiser des dossiers. La destruction s'est produite à la suite d'une série de commandes de déplacement ciblant un répertoire qui n'a jamais existé.
Conclusions et mise en garde
Le projet du développeur Varankin Vladimir démontre que le fait de demander à une IA de porter du code directement est rarement suffisant pour des tâches complexes. Ce qui a fait la différence, c'est de faire planifier, documenter et itérer l'agent plutôt que de simplement lui demander de « coder ». La spécification écrite en amont, la traçabilité des décisions et la mémoire inter-sessions ont transformé un effort chaotique en progression structurée.
Le pilote reste expérimental, mais l'expérience valide une méthode de travail avec l'IA bien plus efficace que l'approche naïve. Varankin Vladimir affirme que le codage avec l'IA n'a pas changé les principes fondamentaux de l'ingénierie logicielle. Du moins pas encore. « Les agents ont accéléré la partie production de code, tout comme d'autres outils ont accéléré le processus de collaboration, de recherche de bogues, etc. », a conclu le développeur.
Dans le cas d'Antrhopic, le code généré est moins efficace que GCC et certains projets ne compilent tout simplement pas. La vraie inquiétude est que des entreprises, aveuglées par le battage médiatique, licencient des développeurs pour les remplacer par une IA inefficace. L'IA reste un outil utile, mais elle exige une expertise humaine pour être efficace. Dans le cas contraire, ses lacunes pourraient augmenter la charge de travail plutôt que de la réduire.
Source : billet de blogue
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de l'expérience du développeur de logiciels Varankin Vladimir ?
Ses conclusions portant sur l'utilisation de l'IA dans le génie logiciel sont-elles pertinentes ?
L'IA semble mieux accomplir ses tâches lorsqu'elle travaille en équipe avec l'humain. Qu'en pensez-vous ?
Quelles conclusions ces expérimentations permettent-elles de tirer quant à l’impact potentiel de l’IA sur la main-d’œuvre à l’avenir ?
Voir aussi
Des tests révèlent les lacunes profondes du compilateur C créé par l'IA Claude d'Anthropic pour 20 000 dollars : l'outil est nettement moins efficace que GCC et peine à réaliser des optimisations de base
Une faille dans le nouvel agent de codage Gemini CLI de Google aurait pu permettre à des pirates informatiques d'exfiltrer des données ou d'exécuter du code malveillant arbitraire sur la machine ciblée
L'IA peut-elle remplacer des développeurs professionnels ? Gemini CLI de Google et Replit ont commis des erreurs qui ont entraîné la suppression des données, inventant des répertoires, falsifiant des tests








Quel est votre avis sur le sujet ?
Répondre avec citation














Partager