Un mot du traducteur

  • L’essence du “Vibe Coding” consiste à accumuler de manière frénétique la dette technique au rythme de l’IA.
  • La programmation IA est une épée à double tranchant : c’est un outil fantastique pour la création de prototypes, mais pour des projets centraux nécessitant un entretien à long terme, cela peut être le début d’un désastre.
  • Permettre à des personnes non techniques de développer des produits essentiels avec l’IA, c’est comme donner une carte de crédit illimitée à un enfant — un moment de gloire remplacé par des dettes infinies à l’avenir.
  • La clé pour maîtriser l’IA n’est pas d’abandonner la réflexion, mais d’améliorer sa capacité à construire des théories. Nous devons être les maîtres des rênes, et non nous laisser entraîner par l’IA.

Le “Vibe Coding” est synonyme de création de dette technique

Steve Krouse

Bien que cela puisse prêter à confusion pour le grand public, le terme “Vibe Coding” a été introduit par Andrej Karpathy pour désigner une approche de programmation assistée par IA, où l’on en vient à “ne même plus sentir l’existence du code”.

Code hérité / Dette technique

Pour désigner ces codes incompréhensibles, nous avons un terme : code hérité / dette technique.

Le code hérité est souvent critiqué, et ce n’est pas sans raison. Mais le vrai problème réside dans le fait que le code existe bel et bien. En le consultant directement, il semblerait facile de le comprendre, n’est-ce pas ?

Faux. Le code incompréhensible est une véritable dette technique. Pour s’approprier un code inconnu et le faire fonctionner, cela nécessite un temps considérable, sans parler de l’ajout de nouvelles fonctionnalités sans introduire de nouveaux bugs — un défi encore plus grand.

La programmation est avant tout la construction de théories, et non l’accumulation de lignes de code. Nous en avons tous conscience. C’est pourquoi nous critiquons ceux qui tentent de quantifier la productivité des développeurs par le volume de code écrit.

Lorsque vous pratiquez le “Vibe Coding”, vous accumulez de la dette technique à la même vitesse que l’IA génère du code. Ainsi, le “Vibe Coding” s’avère être le choix parfait pour le développement de prototypes et les projets éphémères : après tout, seuls les codes nécessitant un entretien à long terme deviennent des codes hérités !

Prototypes et codes éphémères

J’ai moi-même utilisé le “Vibe Coding” avec plaisir pour développer quelques petites applications, telles que :

Je ne prévoyais pas de faire évoluer ces applications, donc il n’était pas essentiel de comprendre leur code. De plus, ces applications étant de petite taille, même si un jour il devenait nécessaire de revenir dessus, la dette technique serait limitée. En agissant ainsi, j’ai développé mes applications bien plus rapidement qu’avec les méthodes traditionnelles, le processus étant d’une fluidité incroyable.

Le “Vibe Coding” est une question de degré

Le “Vibe Coding” représente un degré d’appropriation du code. Plus vous comprenez en profondeur, moins vous vous appuyez sur vos seules impressions.

shapes at 25-07-30 10.32.53.png

Pour formuler une demande, un ingénieur peut demander le développement d’”une application Web avec une base de données persistante”, tandis qu’une personne non technique pourrait simplement demander “de créer une application” (sans distinction entre application Web et application native, sans connaître la persistance des données), dans ce cas, le degré de “sensation” du premier sera bien plus faible.

Donner une carte de crédit à un enfant

Le scénario le plus catastrophique serait de permettre à un non-programmeur de développer un grand projet nécessitant un entretien à long terme en utilisant le “Vibe Coding”. C’est comparable à donner une carte de crédit à un enfant sans lui expliquer ce qu’est la “dette”.

On peut facilement imaginer l’excitation des premiers temps : “Mon dieu, il suffit de passer cette petite carte pour obtenir ce que je veux !”

Cela ressemble tellement à la tendance actuelle : “L’IA peut tout faire ! Tout le monde peut être développeur ! Regardez l’application que l’IA a générée pour moi !”

Cependant, un mois plus tard, la facture de la carte de crédit arrivera à échéance : “Avais-je vraiment besoin d’acheter ces choses ? Comment vais-je gérer ce désastre maintenant ?”

Les développeurs utilisant le “Vibe Coding” feront face à la même situation : “Mon code a échoué ! À quoi servent tous ces fichiers et dossiers ? Comment dois-je résoudre cela ? Puis-je récupérer les 400 dollars que j’ai dépensés pour que l’IA génère du code ?”

Si vous ne comprenez pas du tout le code, votre seule issue sera de demander à l’IA de continuer à réparer. C’est comme “vivre à crédit”, en utilisant le plafond d’une nouvelle carte de crédit pour rembourser l’ancienne.

En 2025, comment programmer sérieusement avec l’IA

Si vous envisagez de construire un projet sérieux nécessitant un entretien à long terme en 2025, le conseil d’Andrej est judicieux :

Vous devez traiter l’IA comme un stagiaire qui vient d’arriver et lui tenir une très courte laisse. Ce stagiaire est un véritable génie, avec une connaissance pointue des logiciels, comme une encyclopédie vivante. Mais en même temps, il est excessivement enthousiaste, bavard et sans discernement sur ce qu’est un bon code. Donc, vous devez insister : ralentissez, restez sur vos gardes, soyez prudent et même un peu paranoïaque. Profitez de chaque occasion pour apprendre par la pratique, au lieu de lui déléguer complètement votre travail.

— Andrej Karpathy, twitter

Comment nous embrassons l’IA pour construire

Chez Val Town, nous avons intégré l’IA à nos produits de plusieurs manières. Notre assistant IA, Townie, agit tel un agent intelligent, capable de lire et écrire du code, d’exécuter des programmes, de consulter des journaux et d’itérer sans cesse jusqu’à ce que la tâche soit accomplie.

Townie est un excellent outil pour le “Vibe Coding”. Je le recommande vivement à ceux qui comprennent les compromis à faire. Parfois, je l’utilise pour du “Vibe Coding” rapide ; et lorsque je travaille sur des projets qui me tiennent vraiment à cœur, je tire la laisse pour le laisser faire des modifications “chirurgicales”. Ces deux modes sont à la fois amusants et efficaces.

Le domaine de la programmation IA évolue à une vitesse fulgurante, rendant l’avenir incertain. Mais je reste convaincu que la construction de théories demeure au cœur de la création de logiciels complexes. Cela signifie que l’expertise technique humaine reste indispensable ! Je suis également optimiste quant au fait que l’IA continuera à transformer la programmation pour le mieux de manière inattendue.

Cependant, si vous avez des amis sans formation technique qui dépensent sans compter en poursuivant leur rêve d’application “valant des milliards” avec du “Vibe Coding”, veuillez leur transmettre cet article. Le “Vibe Coding” ne les mènera pas à la réussite. Ils devront tôt ou tard apprendre à déchiffrer le code par eux-mêmes 😱, et comprendront finalement une vérité implacable : plutôt que de réparer un système hérité incompréhensible, il vaut mieux repartir de zéro pour bâtir une nouvelle base de code structurée.


Cet article est une version condensée d’une présentation que j’ai donnée le mois dernier, sur le thème du rôle du cerveau humain dans la programmation. Merci à ma fiancée Emily pour écoute patiente de mes réflexions sur ces sujets durant des mois, et pour avoir filmé ma présentation. Merci à Malte et Rippling d’avoir organisé cet événement.

Je remercie Geoffrey Litt, Jimmy Koppel, Max McDonnell, Tom MacWright, Charmaine Lee, Brent Jackson, et Dan Shipper pour leurs retours sur cet article. Je remercie également Simon Willison et Andrej Karpathy d’avoir émis des points de vue rationnels au milieu de l’engouement et du pessimisme entourant l’IA.

Source de l’article : https://blog.val.town/vibe-code