33 points par GN⁺ 2026-04-07 | 9 commentaires | Partager sur WhatsApp
  • La fuite du code source de Claude a mis en lumière les dégâts que peut causer, sur la qualité réelle d’un projet, la foi aveugle dans le « vibe coding »
  • Le vibe coding pose comme principe de ne jamais regarder l’intérieur du code, mais cela relève du pur mythe ; en pratique, une structuration humaine via des fichiers de planification, des skills, des règles, etc., est indispensable
  • L’IA est réellement très performante pour des tâches comme la déduplication du code et la résorption de la dette technique, mais pour en tirer parti, un humain doit examiner le code, identifier les problèmes et les expliquer à l’IA
  • Il est rare que l’IA reconnaisse d’elle-même qu’« il y a du code spaghetti ici, il faut le nettoyer » ; des résultats de haute qualité apparaissent quand l’humain fournit d’abord la direction et le contexte
  • Comme le dit la formule « un mauvais logiciel est un choix du développeur », la baisse de qualité n’est pas le fait de l’IA, mais le résultat d’une prise de décision
  • Autrement dit, la dégradation de la qualité logicielle n’est pas la faute de l’IA ; elle relève des choix que font les développeurs eux-mêmes

La fuite du code source de Claude et le problème du vibe coding

  • Le code source de Claude a fuité, et beaucoup s’en sont moqués en raison de sa faible qualité
  • Parmi les causes avancées figure l’excès de dogfooding, c’est-à-dire une culture d’usage trop aveugle de son propre produit
  • Le dogfooding en soi est une bonne idée, mais il peut se transformer en pratique quasi cultuelle dépassant toute limite raisonnable

La réalité du vibe coding

  • Le vibe coding est une approche qui pose comme principe de ne contribuer en rien au code, et même de ne pas le regarder
  • Pourtant, le vrai vibe coding “pur” est un mythe — en pratique, il existe toujours un framework conçu par des humains, fait de fichiers de planification (listes de tâches), de skills, de règles, etc., et sans cette structure l’IA fonctionne très mal
  • Le code étant écrit en anglais et donc lisible par tous, certains développeurs refusent malgré tout de le consulter au nom de l’idée que « regarder l’intérieur, c’est tricher »
  • En réalité, le simple examen du code par une seule personne a permis de découvrir une duplication massive entre les agents et les tools ; c’était un problème qu’on aurait facilement repéré si quelqu’un avait pris un instant pour regarder

IA et nettoyage de la dette technique

  • Les projets logiciels démarrent souvent avec de la dette technique, et autrefois son traitement pouvait à lui seul prendre un an
  • Avec l’IA, ce travail de remise en ordre peut être terminé en quelques semaines, ou résorbé progressivement en parallèle du développement de nouvelles fonctionnalités
  • L’IA excelle dans le nettoyage du code, mais elle reste mauvaise pour détecter seule les problèmes — elle donne de bons résultats quand un humain lui dit « il y a du code spaghetti ici » et lui fournit des indications

La bonne manière d’utiliser l’IA — une approche fondée sur le dialogue

  • Pour résoudre correctement les problèmes de duplication, les étapes suivantes sont proposées :
    • dresser la liste des éléments présents à la fois côté agent et côté tool
    • examiner des exemples puis déterminer si chaque élément relève d’un agent ou d’un tool
    • discuter des critères d’ensemble et établir des lignes directrices générales
    • auditer tous les éléments puis corriger ceux qui ont été mal classés
    • pour les éléments présents des deux côtés, examiner les deux versions puis les fusionner en une seule
  • Le mode Ask est fait pour ce processus : le cœur de la méthode consiste à examiner les exemples ensemble et à corriger l’IA lorsqu’elle cherche à acquiescer de manière excessive
  • Après suffisamment d’échanges, on peut avoir l’impression que l’IA a produit un résultat “one-shot”, mais il s’agit en réalité d’un résultat qui repose sur de nombreuses interactions humaines préalables
  • L’équipe de Claude applique le dogfooding de manière extrême sans passer par ce processus, au point de refuser le minimum d’effort consistant à regarder brièvement l’intérieur du code et à expliquer le problème

Cas d’usage concret

  • Exemple de workflow de l’auteur : il lance la conversation en disant « auditons le code inatteignable dans cette base de code » ou « cette fonction fait mal aux yeux »
  • Il poursuit la discussion jusqu’à obtenir une direction exploitable, explique ce qu’il faut faire, puis continue à débattre jusqu’à ce que l’IA arrête de dire des bêtises
  • Ensuite, il établit un plan et lance le build ; c’est sa manière de travailler au quotidien

La qualité logicielle est une question de choix

  • Utiliser l’IA n’implique pas qu’il faille accepter un logiciel de mauvaise qualité
  • Même des bibliothèques créées sans aide de l’IA par des développeurs excessivement bien payés peuvent être de mauvaise qualité
  • Un mauvais logiciel est le résultat d’une décision personnelle ; il faut en assumer la responsabilité et viser une meilleure qualité

9 commentaires

 
koreacglee 2026-04-07

Avec les agents IA en full automation pour générer, merger, relire et valider le code de façon totalement autonome, on en est arrivé à une ambiance où, tant que le code se structure tout seul et qu’on n’a quasiment plus à s’en occuper sauf quand les agents s’emmêlent entre eux ou qu’un développeur doit intervenir de temps en temps, tout serait réglé — et les développeurs qui n’y arrivent pas sont traités comme des anormaux incapables de suivre la tendance… Puis quand on voit des gens qui, au quotidien, balançaient à la pelle du code ultra boilerplate et des suites de patterns simplistes tout en touchant de très gros salaires, et qui maintenant fanfaronnent en disant qu’avec l’IA on n’a même plus besoin de coder, c’est franchement pathétique.

 
kurthong 2026-04-07

Il faut microgérer jusqu’aux moindres détails pour produire un code d’une qualité à peu près correcte. À mon avis, l’automatisation totalement autonome n’a aucun sens, sauf pour produire en masse du véritable code boilerplate. Ceux qui parlent d’autonomie totale sont de deux choses l’une : soit ils n’y connaissent pas grand-chose, soit ce sont des escrocs.

 
blacksocks 2026-04-09

Des projets à moitié finis prolifèrent…
Et ceux qui ne comprennent la programmation qu’à moitié s’enthousiasment…

 
qwertypotter 2026-04-07

Il vaudrait mieux considérer le dogfooding non pas comme une exclusivité, mais comme du « dog pudding ».

 
caniel 2026-04-07

dog食...

 
iolothebard 2026-04-07

Le titre et le contenu sont différents… ?

 
summerpicnic 2026-04-07

On dirait plutôt une critique qui conclut d’emblée que le vibe coding revient à ne pas faire de revue de code, puis plaque des justifications derrière.

En plus, y mêler Claude Code n’a pas de sens. Si on parle d’un niveau d’exigence sur la qualité, disons des principes d’ingénierie comparables à ceux de la maintenance du noyau Linux, alors on n’aborde pas les problèmes de qualité du code de manière aussi fragmentaire. Dans la grande majorité des cas, c’est une approche propagandiste, du genre « il paraît que c’est comme ça », et non quelque chose qui a été réellement testé directement.

C’est un peu comme dire que le design des bâtiments de Samsung n’est pas terrible et qu’ils sont encore loin d’avoir rattrapé Sony.

 
euphcat 2026-04-07

Quand j’ai essayé Claude Code pour la première fois, j’ai dit à des amis étrangers : « J’ai testé le vibe coding pour la première fois ! » Après avoir écouté ce que je racontais, ils m’ont répondu : « Non, ça ce n’est pas du vibe coding ; le vrai vibe coding, c’est justement le fait de ne même pas regarder le code. » J’ai l’impression que le « vibe coding » dont on parle souvent en Corée est défini de manière bien plus large que dans le monde occidental. Sur Hacker News, le vibe coding est effectivement défini comme le fait de ne pas faire de revue de code.

 
GN⁺ 2026-04-07
Réactions sur Hacker News
  • C’est étrange de voir des gens prendre la qualité du code source divulgué de Claude Code comme preuve que le « vibe coding » a échoué
    Pour moi, c’est plutôt l’inverse. C’est la preuve qu’on peut enfreindre les règles traditionnelles du « bon code » tout en créant un produit populaire et à succès

    • La plupart des codes produit que j’ai vus étaient choquants au premier regard. C’était vrai aussi bien chez BigCo qu’en startup
      À cause des délais, du code bricolé à la va-vite reste souvent en production tel quel
      Même dans les projets perso, les premiers commits sont désordonnés, puis on crée plus tard une branche de nettoyage pour remettre de l’ordre
      Mais en entreprise, on a rarement le temps de faire une deuxième ou une troisième version, donc c’est finalement le premier jet qui part en prod
      Honnêtement, je m’inquiète parfois à l’idée qu’un jour du code signé de mon nom fuite. Mais c’est la réalité
    • Le mauvais code peut bien fonctionner à court terme, mais sur la durée il finit forcément par poser problème
      Quand on modifie du code et qu’on se dit « ça a l’air un peu forcé », le corriger tout de suite est au final le meilleur moyen de gagner du temps
      Je n’ai pas encore assez de recul sur les LLM pour être affirmatif
    • Le fait qu’on puisse « réussir en enfreignant les règles du bon code », en réalité, ça a toujours été vrai
    • Le « vibe coding » est un spectre selon le degré d’intervention humaine
      Claude Code est essentiellement un produit simple, dont la vraie valeur réside dans le modèle lui-même
      Autrement dit, c’est un produit à faible risque où une faible qualité du code ne pose pas de gros problème, ce qui a rendu ce cas possible
  • Cela ne viole pas non plus le concept de « vibe coding ». On donne des idées abstraites de haut niveau, et c’est l’IA qui écrit le code concret
    Claude Code correspond au niveau AI Level 7 (humain pour la spec, bot pour le code), et l’auteur dit préférer le niveau 6
    Le niveau idéal varie selon les personnes. Certains estiment que la limite est au niveau 5 ou moins, d’autres considèrent que le niveau 2 ou plus est déjà risqué

    • Dans mon domaine, la vision par ordinateur, l’UI ou l’app sont vers les niveaux 6 à 7, mais sur le pipeline de rendu ou les algorithmes, l’intervention de l’IA gêne au contraire
      Le bon niveau dépend de la complexité et de la nouveauté du domaine
    • La clé pour bien utiliser l’IA, c’est d’appliquer des niveaux différents selon les composants
      Par exemple, dans l’app que je développe, la partie algorithmique est au niveau 0, l’UI au niveau 7, et le middleware quelque part entre les deux
      Le vrai savoir-faire consiste à trouver le niveau adapté à chaque zone du code
    • Je travaille autour du niveau 5. Avec TDD, la sûreté des types, la rédaction de specs, etc., je mets beaucoup de garde-fous
      Dans les langages dynamiques, aller plus loin me met mal à l’aise. Si je devais monter au niveau 7 ou plus, je pense qu’il vaudrait mieux passer entièrement à un langage à typage statique
    • Ceux qui progresseront le plus à l’avenir seront les développeurs capables de pousser jusqu’au niveau maximal de cette échelle
      Le codage ne subsistera plus qu’en partie, comme la forge artisanale, et le reste sera automatisé
      Mais cela permettra à une seule personne d’accomplir ce qu’une équipe entière faisait auparavant
    • En entreprise, je suis au niveau 4, mais sur mes projets perso je glisse discrètement jusqu’au niveau 6
      La tentation est grande d’accepter une fonctionnalité sans comprendre complètement comment elle marche
  • L’auteur de ce texte est le créateur de BitTorrent. Ce n’est pas un simple blogueur

    • Ça fait plaisir de voir Bram revenir dans ce genre de débat
    • La plupart des gens ne savent même pas ce qu’est BitTorrent, mais ils semblent quand même en saisir la « vibe »
    • Vu son parcours, j’aurais aimé qu’il fournisse un peu plus d’éléments à l’appui de ses affirmations
  • L’usage que je préfère avec Claude Code, c’est l’amélioration de la qualité du code
    Des tâches qui sembleraient être une perte de temps pour un humain deviennent acceptables si une IA peut les faire presque gratuitement
    Rationaliser des motifs de test répétitifs, garder une cohérence dans la sérialisation JSON, supprimer le code dupliqué, etc.
    Au final, la base de code devient plus petite et plus facile à maintenir. C’est une sorte de linting à grande échelle

    • Je fais quelque chose de similaire en lançant plusieurs modèles en parallèle (Opus, GPT5.4, Gemini) pour la détection de bugs et l’amélioration du code
      Je croise les résultats produits par chaque modèle, puis à la fin Opus établit la liste finale et applique les corrections
      Il y a beaucoup de changements inutiles, mais les problèmes détectés sont réellement utiles
  • L’angle du « dogfooding » est intéressant
    Le vrai sujet n’est pas la qualité du code, mais la capacité des utilisateurs à évaluer de manière critique les résultats de l’IA
    Il y a une différence totale entre un ingénieur expérimenté qui garde son jugement en utilisant l’IA, et quelqu’un qui délègue ce jugement à l’IA
    Le problème, c’est que les outils ne font pas la différence entre les deux, et que le marketing vise plutôt la seconde catégorie

  • Les défenseurs du « vibe coding » affirment que la qualité du code importe peu, parce que les LLM peuvent itérer bien plus vite que les humains
    Pour un humain, chaque étape (écriture–vérification–correction) coûte cher, alors qu’un LLM peut itérer rapidement pour un simple coût en tokens
    Mais je reste sceptique face à cette approche. J’ai vu trop de cas où ça casse en pratique
    Cela dit, si les LLM continuent de progresser, ils auront peut-être raison

  • Sur le spectre du « vibe coding », il y a deux grandes catégories
    D’un côté, les gens sans bagage technique qui trouvent ça fascinant ; de l’autre, les détracteurs de l’IA
    Entre les deux existe une couche intermédiaire discrète mais très productive. Ces gens sont optimistes tout en étant expérimentés
    J’ai moi-même dépensé environ 2 500 $ de crédits Claude Code sur les six derniers mois, et même si la plupart des résultats n’ont jamais été déployés, j’en ai tiré une valeur énorme

    • Certains demandent comment on mesure un « gain de productivité ». C’est difficile à quantifier, mais le ressenti est net
  • Je ne suis pas d’accord avec l’idée que « Claude Code ne sert à rien »
    La plupart des webapps ne sont que des CRUD simples. 99 % des entreprises n’ont même pas 50 000 utilisateurs

    • Les applications d’entreprise ont peu d’utilisateurs, mais une charge CPU ou DB bien plus importante
      Dans une entreprise où j’ai travaillé, à cause d’un code inefficace, il fallait faire tourner le programme 22 heures par jour
    • Il faut distinguer « utilisateurs » et « utilisateurs payants ». Ce n’est pas la même chose
    • En réalité, déployer quoi que ce soit à 100 personnes, c’est déjà un enfer. Je ne pense pas que l’ère des « citizen developers » arrivera
  • Ce phénomène fait penser à la théorie de l’innovation de Clayton Christensen
    Les entreprises en place, satisfaites de leurs produits actuels très rentables, ignorent les nouvelles technologies de moindre qualité ; puis ces technologies finissent par suffisamment progresser pour renverser le marché
    Claude Code est déjà à un niveau « suffisamment bon », et si l’IA continue de progresser, elle finira par dépasser le code écrit à la main

    • Même si les progrès de l’IA s’arrêtaient, nous créerions de nouveaux outils et de nouveaux patterns centrés sur les modèles actuels
    • Mais l’ambiance du moment est trop optimiste. On entend déjà des dirigeants parler de supprimer les tests et les code reviews. J’ai l’impression que les risques sont sous-estimés
  • Autour du « vibe coding », on peut distinguer plusieurs profils
    ① les personnes ayant un intérêt financier, ② les développeurs fatigués du code, ③ les débutants qui construisent quelque chose pour la première fois
    Les ② n’ont pas envie d’apprendre du neuf, et les ③ découvrent sincèrement la joie de créer
    Le codage avec l’IA peut être pour eux une bonne porte d’entrée

    • Il existe aussi un autre groupe : ceux qui adorent coder mais veulent produire davantage, des très performants
      J’en fais partie. Cela fait 30 ans que j’aime coder, mais le temps nécessaire pour concrétiser ce que j’imaginais était toujours trop long
      Maintenant, cet écart disparaît, et cela me donne un sentiment de libération. Mon objectif est d’apprendre à aller plus vite sans sacrifier la qualité
    • J’ai moi aussi vu d’excellents ingénieurs utiliser activement l’IA tout en ne baissant pas leurs standards, et produire davantage
    • En réalité, l’industrie du logiciel de ces dix dernières années a été l’ère de la complexité inutile
      À force de copier les problèmes des grandes entreprises, on a perdu en productivité et gagné en fatigue
      Aujourd’hui, grâce à l’IA, on peut ignorer cette complexité et obtenir directement des résultats
      Même si un nouveau framework ou une nouvelle méthode de déploiement apparaît, il n’est plus nécessaire de s’en soucier. L’IA s’en charge
    • Mais il se peut aussi que ceux que vous décrivez comme des « gens qui ne veulent pas apprendre » soient au contraire des gens qui apprennent du nouveau
      Ce type de conflit se répète à chaque transition générationnelle dans la tech
    • Personnellement, la baisse de qualité (sloppiness) actuelle me fait plutôt perdre de l’intérêt