
Il existe une tendance sur les médias sociaux où beaucoup répètent les mots d'Andrej Karpathy : « se laisser porter par les vibrations, embrasser les exponentielles, et oublier que le code existe. » Cette croyance - comme beaucoup de prises de position erronées de l'humanité - provient de la paresse, de l'inexpérience et d'une imagination illusoire. C'est ce qu'on appelle le « Vibe Coding ».
« Embrasser les exponentielles » semble provenir d'un drogué de la NFT.
Comme les adeptes de la NFT, il existe une bulle d'irréalité à laquelle ils s'accrochent pour justifier leur perception du monde.
En 2022, les gens ont pu copier du code dans ChatGPT et poser des questions ou demander des réécritures.
En 2023, les utilisateurs ont pu lui demander de réviser et d'éditer un fichier unique grâce à l'intégration d'un EDI tel que Copilot.
En 2024 et 2025, les utilisateurs ont pu lui demander de résoudre un problème spécifique dans le projet et lui demander de trouver les fichiers à éditer, de les éditer, puis de vérifier son propre travail et de corriger les erreurs qu'il a commises grâce au retour d'information sur les erreurs de linting et les tests unitaires.
Les agents LLM ayant autant de capacités, les gens peuvent déléguer l'idée d'affiner leurs idées imprécises à une implémentation précise élaborée par un LLM par le biais du « Vibe Coding ».
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">First - what is vibe coding? <br><br>A concise definition from <a href="https://twitter.com/stuffyokodraws?ref_src=twsrc%5Etfw">@stuffyokodraws</a>, and then an exploration of how technical vs. non-technical users approach these tools. <a href="https://t.co/PDEqsjEhHN">pic.twitter.com/PDEqsjEhHN</a></p>— Justine Moore (@venturetwins) <a href="https://twitter.com/venturetwins/status/1900294150693806473?ref_src=twsrc%5Etfw">March 13, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]
Si vous ouvrez un dossier vierge et lui demandez de mettre en place un projet initial, il peut faire beaucoup de choses à la fois. Sans règles, sans modèles à imiter et sans contraintes, il peut produire quelque chose qui vous semble plus adapté en quelques minutes que npx create-react-app ne pourrait jamais le faire.
Avec une simple instruction comme « Je veux créer un site web pour ma station de ski » et une dizaine de minutes à lui faire masser les erreurs qu'il a lui-même commises, c'est exactement ce que je peux obtenir.
Ce sont ces bonds en avant qui alimentent l'idée du « Vibe Coding ». Passer de rien à quelque chose de partageable et de personnel semble incroyable.
Ce moment m'a procuré une excitation que je n'avais pas ressentie depuis longtemps lorsque je codais. Cependant, cette excitation s'est rapidement dissipée à mesure que je m'éloignais de la toile blanche.
Lorsque le modèle peut interagir avec autre chose qu'une simple personne qui transmet ses résultats dans différents domaines, il est autonome. S'il peut effectuer des recherches sur le web ou dans une base de code, il peut enrichir son propre contexte avec les informations dont il a besoin pour répondre à la demande actuelle. En outre, lorsqu'il peut produire des résultats et obtenir un retour d'information immédiat et automatique sur ces résultats, il peut affiner sa solution sans qu'une personne n'intervienne.
Certaines actions, comme l'exécution de commandes dans la console ou la suppression de fichiers, demandent le consentement de l'utilisateur avant d'être exécutées. Ce consentement peut être approuvé à l'avance grâce à un mode appelé « YOLO ».
Un mode « On ne vit qu'une seule fois » ? Vraiment ?
Le concept d'agent a du mérite et peut aujourd'hui fournir des preuves de concept dans lesquelles des sociétés de capital-risque comme Y-Combinator investiront - des preuves de concept qui sont trash par des fondateurs non qualifiés espérant gagner la loterie tout en menant une vie de loisir.
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I’ve cracked vibe coding, TrendFeed has almost hit its first 10k month, and Ai built the entire thing<br><br>Im just sitting here sipping coffee, coding with Ai + MCP<br><br>Also more time to shitpost on X haha <a href="https://t.co/oaOFJZsuDl">pic.twitter.com/oaOFJZsuDl</a></p>— Sebastian Volkis (@sebastianvolkis) <a href="https://twitter.com/sebastianvolkis/status/1900162551725305901?ref_src=twsrc%5Etfw">March 13, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]
Le fondateur technique optimal pour un investisseur en capital-risque n'est pas l'ingénieur 10x. C'est quelqu'un qui fournira suffisamment de produits pour tester leur pertinence sur le marché et qui réussira ensuite à lever des fonds supplémentaires. L'exécution de sa vision et ses prouesses en matière de recrutement sont plus importantes que ses compétences techniques.
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">babe, come to bed<br><br>i can't, i'm vibe coding <a href="https://t.co/AnszFVzRYL">pic.twitter.com/AnszFVzRYL</a></p>— Ian Nuttall (@iannuttall) <a href="https://twitter.com/iannuttall/status/1900210274327470469?ref_src=twsrc%5Etfw">March 13, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]
Ces modèles sont formés à partir d'un code moyen peu soigné, de mauvaises réponses sur Stack Overflow et de déchets qui aboutissent sur Quora. Malgré la puissance et la capacité de Claude 3.7 Sonnet dans des contextes restreints, lorsqu'il est confronté à une base de code, même petite, il commet constamment des erreurs stupides qu'aucun développeur normal ne répéterait et qu'il continue de répéter à chaque heure de son fonctionnement.
Détails spécifiques sur les erreurs (vous pouvez ignorer cette partie)
- Clone régulièrement des interfaces TypeScript au lieu d'exporter l'original et de l'importer.
- Réinvente sans cesse des composants avec la même structure sans chercher dans la base de code une copie existante de ce composant.
- Ecrit une logique serveur de confiance du côté client, en utilisant des appels RPC pour mettre à jour la base de données.
- Au fur et à mesure qu'une fonctionnalité se développe, elle donne la priorité au maintien des erreurs précédentes plutôt qu'à la réévaluation de sa conception, même lorsqu'on lui demande de le faire. Il faut dire que l'implémentation précédente est carrément inutilisable pour qu'elle remplace sa conception.
- Cursor dispose d'une sorte de « mode concis » qu'il active en cas de forte charge, où le modèle sera toujours évalué au prix normal mais se comportera de manière inutile. Ce mode omettra des détails, laissera tomber des conclusions importantes et corrompra le résultat produit.
- On ne peut pas lui faire confiance pour produire des tests unitaires avec une couverture décente.
- Il casse souvent le code du projet pour l'adapter à un test unitaire plutôt que de corriger le test unitaire lorsqu'on lui demande de le faire.
- Lorsqu'on lui demande de corriger des styles avec des détails précis, il modifiera entièrement le mauvais composant.
- Lorsqu'on lui indique précisément où se trouvent de nombreux composants dupliqués et qu'on lui demande de les remanier, il ne remanie que la première instance de ce composant dans le fichier au lieu de toutes les instances dans tous les fichiers.
- Lorsqu'on lui demande de remanier son code, il ne cherche pas les ruptures qu'il a causées, même lorsqu'on lui demande de le faire.
- Produit allègrement des fichiers de plus de 1000 lignes qui dépassent sa fenêtre contextuelle au fil du temps, même lorsqu'on lui demande de remanier son code dès le début.
- Efface régulièrement des gestionnaires de route entiers s'ils ne sont pas liés à la hiérarchie des fichiers.
Si vous demandez à Claude 3.7 Sonnet de développer un schéma d'exécution pour valider un langage spécifique à un domaine et que vous lui demandez ensuite de remanier le fichier - parce qu'il est trop volumineux pour que sa fenêtre de contexte puisse continuer - il se dégradera et produira un non-sens incohérent avant d'avoir terminé son travail.
Il n'a pas tapé « I've » correctement et a réuni les mots « schema » et « refactored » en un seul.
Vous ne pouvez pas demander à ces outils aujourd'hui de développer une application React performante. Vous ne pouvez pas demander à ces outils de mettre en œuvre un flux d'enregistrement d'utilisateur sécurisé. Ils choisiront d'exécuter des fonctions telles que l'enregistrement de l'utilisateur sur le client plutôt que sur le serveur.
D'autres l'apprennent d'une manière plus dure.
Sans l'intervention d'un expert, le mieux que ces outils puissent faire aujourd'hui est de produire une maquette quelque peu fonctionnelle, où chaque changement futur au-delà risque de détruire la fonctionnalité existante.
Je ne peux pas - et je ne ferais pas - confiance à un membre de l'équipe qui code par vibration dans une application de production. La négligence constante que j'observe lors du « Vibe Coding » est atroce et inacceptable pour une clientèle de toute taille.
Aucun modèle disponible ne fait preuve d'une attention constante et nécessaire aux détails dans un environnement de production. Ils ne sont pas encore équipés ou conçus pour transformer des informations impliquant de multiples contextes inhérents à la production d'un produit numérique.
Ces outils sont optimisés pour produire des solutions qui tiennent dans un seul écran de démarquage et on leur demande maintenant de faire bien plus que ce pour quoi ils ont été formés. Au fur et à mesure que la fenêtre de contexte déborde et que le modèle se dégrade, il ne parvient même pas à formater correctement les appels MCP et, lorsqu'il atteint ce point de non-retour, il produit un journal qui donne l'impression d'avoir été torturé. Comme un robot qui perd un membre, il essaiera encore et encore de marcher pour tomber jusqu'à ce que l'éditeur mette la conversation en pause pour économiser des ressources.
Contourner le problème
Un "Twitch plays Pokémon" moderne se déroule en ce moment même : Claude joue à Pokémon. Il atténue le problème de la fenêtre contextuelle en commençant un nouveau contexte avec des informations fournies par son incarnation précédente sous la forme de nombreux fichiers Markdown, qu'il peut ensuite lire comme s'ils étaient nouveaux et rechercher via MCP au cours de sa lecture.
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">So, what makes this possible? Claude was given a knowledge base to store notes, vision to see the screen, and function calls which allow it to simulate button presses and navigate the game.<br><br>Together, they allow Claude to sustain gameplay with tens of thousands of interactions. <a href="https://t.co/uGXp63EcYY">pic.twitter.com/uGXp63EcYY</a></p>— Anthropic (@AnthropicAI) <a href="https://twitter.com/AnthropicAI/status/1894419032415043894?ref_src=twsrc%5Etfw">February 25, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]
Malgré cela, il peut faire de mauvaises suppositions et passer 43 heures à s'évanouir intentionnellement, encore et encore, au Mont Moon (un itinéraire dans le jeu entre les lieux de l'histoire), sans faire de progrès réels pour atteindre son prochain objectif parce que, le temps de se remettre en question, sa fenêtre de contexte n'est plus en état de continuer.
Il s'est échappé et a progressé, mais seulement après que l'instance critique du modèle a suggéré que son hypothèse était incorrecte.
L'augmentation de la longueur de la fenêtre contextuelle améliorera certaines expériences immédiates, mais il s'agit d'un problème d'échelle qui nécessite une solution différente pour que les agents soient plus efficaces et, peut-être, pour que le « Vibe Coding » se rapproche de la réalité.
Un bullet journal formalisé sur MCP aiderait-il un modèle à être plus complet et à fournir des résultats plus fiables ?
Tant que le modèle le vérifie correctement avant de conclure que son travail est terminé !
Tant que le modèle le vérifie correctement avant de conclure que son travail est terminé !
Le problème suivant est que ces modèles ne peuvent pas ingérer des informations provenant de plusieurs sources simultanées en temps réel. Dans un terminal, nous pouvons exécuter le serveur et dans un autre des tests de bout en bout. Ces deux terminaux ont été créés à la demande de l'agent. Il ignore ou n'est pas alimenté par la trace de pile enregistrée par le serveur dans le premier terminal alors qu'il observe la sortie des tests de bout en bout qui échouent et réessayent, échouent et réessayent.
Pour que les agents aient l'impact promis par le battage médiatique, les LLM ont besoin d'un mécanisme robuste pour imiter le développement de la mémoire à court et à long terme sans intégrer finement les mémoires dans le modèle.
En outre, pour que les agents puissent contribuer à une équipe, il doit y avoir un moyen de développer des mémoires à long terme liées à l'organisation et à ses produits qui fusionnent et se réconcilient avec les mémoires personnelles de chaque membre de l'équipe.
Enfin, ces mémoires doivent être portables. Au fur et à mesure que les modèles s'améliorent et sont intégrés dans nos outils, les mémoires spécifiques à un domaine doivent pouvoir être utilisées par la prochaine génération de grands modèles de langage.
Conclusion
Le "Vibe Coding" peut vous permettre d'obtenir un concept fonctionnel à 80 %. Mais pour produire quelque chose de fiable, de sûr et qui vaille la peine de dépenser de l'argent, vous aurez besoin d'humains expérimentés pour faire le travail difficile qui n'est pas possible avec les modèles d'aujourd'hui.
Les agents démontrent suffisamment de capacités pour que les PDG influents de LinkedIn répandent avec confiance l'irréalité selon laquelle nous pouvons remplacer les emplois par l'« IA agentique ».
Les agents permettent effectivement à des personnes qualifiées de créer plus indépendamment qu'elles ne l'ont jamais fait. Pour l'instant, ils ne remplaceront pas ceux qui peuvent résoudre les problèmes difficiles que seules l'expérience et l'intuition peuvent identifier. Comme d'autres solutions « no-code », les agents donnent aux personnes moins qualifiées plus de capacités qu'elles n'en avaient la veille. Tant qu'ils n'auront pas développé leurs propres compétences, les « Vibe Coders » ne seront pas en mesure de produire des logiciels de qualité dans ce monde, quelle que soit l'exponentialité de l'agent par rapport à leurs propres compétences inférieures.
Gardez un œil sur la façon dont les agents LLM se développent et s'améliorent. Pour l'instant, ils méritent d'être évalués et discutés, mais ils ne sont pas prêts à ce que nous leur déléguions la tâche précise de créer des logiciels fiables, sécurisés et évolutifs qui alimentent notre société. Le « Vibe Coding » ne créera pas le "next big thing" en 2025.
Source : "Vibe Coding" vs Reality
Et vous ?


Voir aussi :




Vous avez lu gratuitement 39 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.