dupflo.dev
Florian Dupuis[FR]11 minvibe-coding, agentic-engineering, learning-in-public

Le vibe coding n'a pas qu'une seule définition, il en a une par développeur

J'ai publié une courte vidéo qui donnait « la vraie définition » du vibe coding. Le commentaire le plus liké disait exactement l'inverse, et il avait raison. Le mot ne décrit pas une pratique : il décrit une relation entre une pratique et le niveau de celui qui la fait. Un référentiel.

Le commentaire le plus liké sous ma dernière vidéo fait neuf mots :

Le vibe coding c’est bien pour les vrais développeurs.

Huit personnes l’ont validé. Je venais de passer quatre-vingts secondes à expliquer le contraire.

Aucun de nous deux n’avait tort. C’est tout le problème.

Ce que j’ai dit dans la vidéo

La vidéo dure quatre-vingts secondes et a dépassé les dix mille vues. Ma définition y tient en trois phrases, et je l’ai présentée comme la bonne :

C’est cette vibe, cette phase, où tu demandes un truc à l’IA, une idée de projet révolutionnaire, un SaaS, un logiciel, et elle crache du code. Tu copies-colles et tu croises les doigts. C’est ça la vraie définition du vibe coding.

Puis je proposais la sortie : passer à l’ingénierie agentique, donner un vrai environnement à son IA, des règles, des outils, de quoi tester et se corriger. Du « ça marche sur ma machine » au « je sais pourquoi ça fonctionne ».

Je maintiens la sortie. Ce que je retire, c’est « la vraie ».

Ce que le mot voulait dire au départ

Le terme n’est pas né dans un débat de commentaires. Il vient d’un tweet d’Andrej Karpathy, le 2 février 2025.

Andrej Karpathy@karpathy

Il y a une nouvelle forme de code que j’appelle le « vibe coding » : tu te laisses complètement porter par les vibes, tu embrasses les exponentielles, et tu oublies jusqu’à l’existence du code. C’est possible parce que les LLM (Cursor Composer avec Sonnet, par exemple) deviennent trop bons. Et puis je parle simplement à Composer avec SuperWhisper…

2 février 2025 · traduit de l'anglais

Deux choses à retenir, et elles sont rarement citées ensemble.

D’abord, la voix est dans la définition d’origine. Karpathy précise qu’il parle à son IA au micro. Le vibe coding, tel qu’il l’a écrit, c’est un échange oral, des phrases lancées spontanément, un flow. Ce n’est pas « copier-coller ».

Ensuite, il décrivait ça pour des projets jetables du week-end. Une pratique assumée comme jetable, par quelqu’un qui sait exactement ce qu’il abandonne en la choisissant.

En un an et demi, le mot a couvert tout le développement assisté par IA, puis il est devenu une façon de disqualifier les gens. Personne ne l’a redéfini. Chacun l’a rempli avec ce qu’il connaissait.

Bande dessinée : quatre personnes tirent à la corde sur un panneau de bois planté en terre où est écrit VIBE CODING, chacune dans une direction différente. Un débutant en sweat crie « It's about the feeling! », un influenceur avec un ring light « Think of the engagement! », un développeur chevronné à lunettes « No, it's structured intuition! » et un commentateur brandissant un téléphone fissuré « The internet is wrong! ». Au fond, un homme s'éloigne calmement sur un chemin, une pancarte neuve AGENTIC ENGINEERING sur l'épaule, sans se retourner.
Illustration générée par IA avec Nano Banana (Higgsfield), à partir d'un prompt écrit pour cet article.

Les commentaires, un par référentiel

Il y a aussi eu des commentaires hostiles. Je ne les publierai pas : ils ne disent rien du vibe coding, seulement de la personne qui les écrit. Les quatre qui suivent, eux, m’ont appris quelque chose.

C’est en répondant aux commentaires que j’ai compris ce que je regardais. Ce ne sont pas des avis divergents sur un même mot. Ce sont quatre positions différentes, et chacune est cohérente depuis là où elle est écrite.

AbouZeloufInstagram 1

On peut très bien utiliser du vibe coding pour prototyper rapidement, puis basculer vers une méthode agentique quand le produit devient sérieux.

Ma réponse

C’est vrai ! Le tout c’est de savoir prendre la décision quand c’est le bon moment.

Ici, le vibe coding est un outil qu’on choisit, avec une date de péremption qu’on décide soi-même. Il ne subit rien.

SéŋʑõInstagram 8

Le vibe coding c’est bien pour les vrais développeurs.

Ma réponse

Exactement, parce qu’ils comprennent ce qu’ils font, même si parfois ça mérite un peu plus de structure, notamment sur les nouveaux projets.

Même pratique, jugée bonne, parce qu’il pense à des gens qui comprennent ce qu’ils lisent.

AlexYouTube

ya le vibe coding et vibe coding, il faut regarder 2 ou 3 fois la vidéo.

Ma réponse

Oui, tu as tout compris : le vibe coding dépend du référentiel dans lequel on se trouve. Si tu es débutant et que tu vibe codes, tu as la mauvaise démarche, car tu approuves à l’aveugle ce que dit ton IA. Si tu es dev et que tu vibe codes, tu laisses ton IA piloter et tu sais normalement quand il faut reprendre la main.

Il avait la thèse de cet article avant moi, en une ligne.

KevinInstagram 1

perso j’en fais, du moins j’essaye de mettre en place une IA locale et de la perfectionner, et je pense que tu serais surpris de ce qui est déjà en place. La généralité met tout le monde dans le même panier.

Ma réponse

Point juste, en 90 s je généralise forcément. Je parle d’une direction, pas de ceux qui bossent déjà proprement, et t’as l’air d’en faire partie.

Kevin s’est braqué, il a raison, et c’est le commentaire qui m’a le plus servi. Il fait tourner une IA en local. Ma définition unique ne décrivait pas sa pratique, donc il l’a reçue comme une accusation. Je lui ai répondu qu’en quatre-vingt-dix secondes je généralise forcément. C’était vrai, et c’était insuffisant : le problème n’était pas la durée, c’était d’avoir parlé d’un seul référentiel comme s’il n’y en avait qu’un.

Le mot « référentiel »1, d’ailleurs, je ne l’ai pas écrit en préparant cet article. Je l’ai écrit dans une réponse à Alex, sans y réfléchir. C’est là que l’article a commencé.

Deux référentiels, une seule pratique

Voilà ce que ça donne quand on pose les deux côte à côte.

Pour un développeur, la vibe c’est la manière d’interagir. Parler à l’IA, être dans le flow, laisser piloter. Le contrôle n’a pas disparu, il a changé de forme : il relit les diffs, il voit passer la requête N+1, il sait à quel moment reprendre la main. C’est ce que je lui ai répondu : tu laisses ton IA piloter, et tu sais normalement quand reprendre le volant.

Pour quelqu’un qui s’est formé avec l’IA, la vibe c’est le fait de ne pas relire. Pas par paresse, ou pas seulement. Par manque de repères, et par ambition : le projet est trop grand pour ce qu’on sait faire. Et parfois parce qu’on s’est laissé appâter par ce que vendent les vendeurs de formation, comme si le développement était le nouveau dropshipping. Alors on laisse l’IA diriger, et on approuve.

On décrit la même pratique. Elle n’a pas les mêmes conséquences, parce que l’un voit passer les problèmes et l’autre non. Ce n’est pas une question de talent ni de sérieux. C’est une question de détection. On ne corrige pas ce qu’on ne voit pas.

Bande dessinée en deux cases séparées par un trait vertical. Le même code généré s'affiche sur les deux écrans. À gauche, un développeur chevronné à lunettes se penche, stylo rouge à la main, et entoure deux lignes identiques ; sa bulle de pensée dit « That query runs 300 times. » À droite, un débutant en sweat, casque autour du cou, se cale dans son fauteuil en cliquant sur un gros bouton ACCEPT ALL ; sa bulle dit « Looks good to me. »
Illustration générée par IA avec Nano Banana (Higgsfield), à partir d'un prompt écrit pour cet article.

Je sais de quoi je parle, j’étais dans le mauvais

Mon premier SaaS, Getzatjob, devenu depuis Applyzi, est devenu un tas de fonctionnalités codées par l’IA que je n’ai jamais eu envie de lire. Je me répétais « tant pis ». Ça, c’était du vrai vibe coding, dans le référentiel où il fait mal, et j’étais développeur depuis des années.

Ce qui m’a rattrapé n’est pas mon expérience. C’est la première vague de bugs, qui m’a fait comprendre qu’il fallait refactorer depuis la première ligne, et un produit qui ne donnait pas l’image qualitative de ce que je voulais fabriquer. J’ai eu la même leçon que le débutant, juste avec de quoi la lire.

Donc quand j’écris ceci, je ne le fais pas depuis le bon côté du référentiel. Je l’ai traversé.

L’objection que je n’ai pas vue venir

Alex a ajouté ça, et c’est la meilleure critique que la vidéo ait reçue :

Pour le dev agentique = devenir dev senior ; au moins 10 compétences à maîtriser et tester en permanence des « trucs ».

Autrement dit : ma sortie de secours est hors de portée de celui à qui je m’adresse. Je dis à un débutant de passer à l’ingénierie agentique, et l’ingénierie agentique demande à peu près tout ce qu’il n’a pas encore.

Je n’ai pas de réponse propre. J’ai une nuance : personne ne passe de l’un à l’autre en une fois. Ce qui sépare les deux référentiels, ce n’est pas dix compétences, c’est une habitude : relire ce qui sort avant de l’accepter. Elle ne coûte rien à installer et elle est la seule qui rende les neuf autres apprenables, parce qu’elle transforme chaque génération en occasion de comprendre quelque chose. Le reste vient après, ou ne vient pas.

Un an plus tard, l’auteur du mot y revient

Il y a une suite à cette histoire, et j’ai failli la raconter de travers.

Trois articles de presse que j’avais sous la main disaient la même chose : Karpathy aurait déclaré le vibe coding mort et l’aurait remplacé par l’agentic engineering. C’est ce que j’allais écrire. Puis je suis allé lire son post, publié le 4 février 2026, un an jour pour jour après le premier.

Il ne dit pas ça.

Il commence par confirmer ce que j’avançais plus haut : son tweet de 2025 était a shower of thoughts throwaway tweet, lancé sans réfléchir, et à cette époque les modèles étaient assez faibles pour que le vibe coding serve surtout à des fun throwaway projects, demos and explorations. Puis vient le passage qui compte.

Andrej Karpathy@karpathy

Aujourd’hui, un an plus tard, programmer via des agents LLM devient de plus en plus le workflow par défaut des professionnels, mais avec davantage de supervision et d’examen. Beaucoup de gens ont essayé de trouver un meilleur nom pour ça, afin de le distinguer du vibe coding. Mon préféré, pour l’instant, c’est « agentic engineering » : « agentic » parce que la norme, désormais, c’est que vous n’écrivez pas le code directement 99 % du temps, vous orchestrez des agents qui le font et vous exercez la supervision ; « engineering » pour souligner qu’il y a là un art, une science et une expertise. C’est quelque chose qui s’apprend et où l’on progresse.

4 février 2026 · traduit de l'anglais

Ce n’est pas un enterrement, c’est une distinction. Karpathy ne retire pas son mot : il constate que ce que font les professionnels aujourd’hui mérite un autre nom que celui-là. Le vibe coding reste ce qu’il a toujours été, une pratique assumée comme jetable. L’ingénierie agentique est autre chose, et elle avait besoin de son propre terme.

Et là, je dois reconnaître quelque chose. Ma vidéo s’appelle « Le vibe coding, c’est fini ». J’ai fait exactement ce que je reproche à ces trois articles : transformer une distinction en enterrement, parce qu’un enterrement se partage mieux qu’une nuance. Le référentiel depuis lequel j’ai lu Karpathy, ce jour-là, c’était celui de quelqu’un qui cherchait un titre.

Un terme qui a besoin qu’on demande « oui, mais toi, tu es qui ? » avant de savoir s’il est un compliment ou une insulte n’est plus un terme technique.

Ce que je retire

Tout comme l’IA est anthropocentrée2, la définition du vibe coding est centrée sur le profil de celui qui la pratique.

« Le vibe coding, c’est bien ou c’est mal ? » n’a pas de réponse tant qu’on n’a pas dit qui. Séŋʑõ avait raison depuis son référentiel, moi depuis le mien, et Kevin avait raison de refuser le panier commun.

Même son auteur a eu besoin d’un second mot pour nommer ce que le premier ne disait pas. Le vibe coding n’a pas grossi, il est resté à sa taille. C’est nous qui lui avons fait porter tout le reste.

Ce que je maintiens, en revanche, et pour tout le monde : la partie de la définition d’origine qui dit forget that the code even exists. Oublier que le code existe, ça marche pour un projet du week-end. Sur tout le reste, quelqu’un finira par devoir le lire. Autant que ce soit vous, et pas dans six mois.

Glossaire

1. Référentiel. Le cadre depuis lequel on observe et on juge. En physique, une mesure n’a pas de sens tant qu’on n’a pas dit depuis quel référentiel on la prend : la même vitesse vaut zéro pour le passager du train et cent trente pour celui qui regarde passer le train. Appliqué ici : le niveau de celui qui code, ses habitudes, et surtout ce qu’il est capable de voir passer dans ce que l’IA produit. Deux personnes peuvent décrire exactement la même pratique et arriver à des conclusions opposées, sans que ni l’une ni l’autre se trompe.

2. Anthropocentré. Conçu et évalué en prenant l’humain pour mesure de toute chose. Le mot vient de l’anthropocentrisme, la position philosophique qui place l’humain au centre. Un modèle de langage est anthropocentré de bout en bout : il est entraîné sur des productions humaines, évalué sur des tâches humaines, et conçu pour converser comme le ferait un humain. C’est aussi ce qui explique qu’on lui prête si facilement des intentions, une paresse ou une mauvaise foi qu’il n’a pas.

Sources

  • Andrej Karpathy, le tweet qui invente le terme, X, 2 février 2025. La citation reproduite plus haut est traduite de l’anglais.
  • Andrej Karpathy, sa rétrospective un an après, X, 4 février 2026. C’est le post où apparaît « agentic engineering ». Citation traduite de l’anglais.
  • Les trois reprises qui m’ont d’abord induit en erreur, en présentant cette distinction comme un abandon : The New Stack, IBM et Forbes.
  • Ma vidéo : le vibe coding, c’est fini, Instagram.
  • Les commentaires cités viennent des fils Instagram et YouTube de cette vidéo. Transcrits tels quels, à l’orthographe près, et sans capture pour ne pas exposer les comptes de leurs auteurs.
  • Les deux illustrations sont générées par IA, comme indiqué sous chacune d’elles.