IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

"Vibe Coding" vs Réalité
Par Cendyne

Le , par Cendyne

0PARTAGES

8  0 
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.
La production de logiciels est désormais plus accessible, car de nouveaux outils permettent aux gens de décrire ce qu'ils veulent dans un langage naturel à un modèle de langage étendu (LLM). Cette idée fait son chemin car les agents LLM sont désormais accessibles à toute personne souhaitant s'abonner à des éditeurs tels que Cursor, GitHub, Windsurf et d'autres. Ces éditeurs disposent d'une option « agent » qui permet aux utilisateurs de demander quelque chose et, en réponse, des modifications sont apportées aux fichiers appropriés, plutôt qu'au seul fichier en cours d'examen. Au fil du temps, l'agent demandera d'exécuter des commandes pour effectuer des tests ou même d'exécuter des scripts qu'il a précédemment écrits dans le système de fichiers, comme vous le feriez si vous étiez en train de résoudre le problème.

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.
Les agents, en tant que concept, ne sont pas nouveaux. Google IO a inventé des mots à la mode comme « ère agentique » pour décrire ce concept. Il a été concrétisé par des technologies ouvertes comme AutoGPT, XAgent et, plus récemment, par Anthropic avec le Model Context Protocol (MCP).

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 ?
Vous pouvez constater cette autonomie par vous-même aujourd'hui dans Cursor.

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.
L'exécution des agents aujourd'hui est surestimée et ne répond pas aux besoins d'entreprises opérationnelles qui ont besoin d'experts pour développer et maintenir leurs capacités techniques au lieu de points d'échec uniques sur l'internet.

[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.

Tels qu'ils sont conçus actuellement, ces modèles ne peuvent pas apprendre de nouvelles informations. Ils ne peuvent pas faire mieux que l'ensemble de données avec lequel ils ont été créés. Au lieu de cela, leur capacité est réalisée par l'efficacité avec laquelle ils peuvent traiter les jetons entrant dans leur fenêtre contextuelle.

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.
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">my saas was built with Cursor, zero hand written code<br><br>AI is no longer just an assistant, it’s also the builder<br><br>Now, you can continue to whine about it or start building.<br><br>P.S. Yes, people pay for it</p>— leo (@leojr94_) <a href="https://twitter.com/leojr94_/status/1900767509621674109?ref_src=twsrc%5Etfw">March 15, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]

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.
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">guys, i'm under attack<br><br>ever since I started to share how I built my SaaS using Cursor<br><br>random thing are happening, maxed out usage on api keys, people bypassing the subscription, creating random shit on db<br><br>as you know, I'm not technical so this is taking me longer that usual to…</p>— leo (@leojr94_) <a href="https://twitter.com/leojr94_/status/1901560276488511759?ref_src=twsrc%5Etfw">March 17, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/TWITTER]

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....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !