Qu'est-ce que le Vibe Coding, l'apprentissage de la programmation assistée par l'IA à partir de zéro ?

Vibe Coding : le code disparaît, une nouvelle vague de développement logiciel basé sur l'intuition ?

La croissance exponentielle de l'intelligence artificielle générative continue de remodeler les industries, et le développement de logiciels ne fait pas exception. Vers le début de l'année 2025, une nouvelle vague de pensée provenant de la Silicon Valley aux États-Unis a commencé à attirer l'attention : il semblait que les développeurs pouvaient construire des produits avec peu ou pas de codage direct, grâce à des outils d'IA. Cette approche du développement, qui s'appuie sur l'intuition et rompt avec la pénibilité du codage traditionnel, a reçu un nom plutôt contemporain : l'"intelligence artificielle". Codage vibratoire .

En termes simples, le Vibe Coding représente une nouvelle philosophie du développement de logiciels. Le développeur décrit les exigences à l'IA en langage naturel, et l'IA est chargée de générer et de modifier le code. L'idée de base est de répondre aux "vibrations" du processus de développement, en adoptant pleinement les capacités de l'IA et même en "oubliant" l'existence du code lui-même dans une certaine mesure. Cette méthodologie remet en question une idée reçue de longue date dans l'industrie technologique selon laquelle le développement de logiciels doit reposer sur des ingénieurs dotés de compétences supérieures en matière de codage.

 

Développeur du concept : les observations d'Andrej Karpathy

Andrej Karpathy est l'une des personnes clés qui a fait connaître le concept Vibe Coding au grand public. Cet expert en IA de 38 ans est non seulement le cofondateur d'OpenAI, mais il a également dirigé l'équipe chargée de l'IA et de la vision de l'Autopilot chez Tesla. Actuellement, en tant que fondateur d'Eureka Labs, il s'efforce également de diffuser les connaissances en matière d'IA sur des plateformes telles que YouTube.

Karpathy a observé un nouvel état de la programmation : au lieu d'être obsédés par les détails syntaxiques du code, les développeurs demandent à l'IA, en langage naturel, d'apporter des modifications en se basant directement sur la présentation visuelle de l'application ou sur le retour d'information fonctionnel. Par exemple, un développeur peut dire "Réduire de moitié les marges intérieures de la barre latérale", sans avoir à trouver et à modifier manuellement le fichier CSS. Et lorsqu'il rencontre un message d'erreur, il lui suffit souvent de le copier et de le coller dans l'IA pour que le problème soit résolu.

Comme l'indique Karpathy lui-même, "il ne s'agit pas de codage au sens traditionnel du terme - je me contente d'observer, d'instruire, d'exécuter et de copier-coller, et la plupart du temps, cela fonctionne". Cette approche fait passer le développement de logiciels de la maîtrise de la syntaxe et du codage manuel à un niveau plus élevé de conceptualisation et d'expression des besoins.

Il fait même une remarque qui donne à réfléchir :"L'anglais, qui est en train de devenir le nouveau langage de programmation le plus en vogue. (Le nouveau langage de programmation le plus en vogue est l'anglais).

 

Frontières entre Vibe Coding et LLM Coding

Pour être clair, le Vibe Coding n'est pas actuellement un terme académique strictement défini, mais plutôt un mot à la mode utilisé dans les cercles technologiques pour discuter des méthodologies de développement de logiciels assistés par l'IA. Simon Willison, un programmeur bien connu, souligne qu'il est facile de confondre le Vibe Coding avec le codage à l'aide de grands modèles de langage (LLM), connu sous le nom de LLM Coding. Bien que les deux utilisent le développement assisté par l'IA, ils sont fondamentalement différents en termes de philosophie et de pratique :

  1. Différences conceptuelles fondamentalesVibe Coding : le Vibe Coding met l'accent sur le fait de "suivre le courant" et d'"oublier le code", les développeurs se concentrant davantage sur la mise en œuvre créative et l'architecture globale, et moins sur les détails techniques sous-jacents. Le codage LLM, quant à lui, place toujours le code au centre, et les développeurs doivent généralement avoir des connaissances en programmation pour comprendre et guider le contenu généré par l'IA.
  2. Orientation du rôle du développeurDans le codage Vibe, le développeur est davantage un commandant ou un collaborateur de l'IA, communiquant ses intentions principalement par le biais du langage naturel. Dans le codage LLM, le développeur est toujours profondément impliqué dans l'examen, la modification et le débogage du code, jouant un rôle plus proactif en tant que gardien technique.
  3. Façons d'interagir avec le codeVibe Coding encourage les développeurs à faire confiance aux suggestions de l'IA et à les adopter directement, parfois même en sautant l'examen détaillé des changements de code générés par l'IA (diffs) et en choisissant de "tout assimiler". Simon Willison le décrit de manière imagée : "Si le LLM écrit tout votre code, mais que vous révisez, testez et comprenez tout ce code, ce n'est pas du Vibe Coding - vous utilisez simplement le LLM comme un assistant dactylographique. "
  4. Exigences en matière de seuils techniquesVibe Coding réduit considérablement la barrière à l'entrée pour le développement de logiciels, permettant théoriquement à des programmeurs non professionnels de participer au processus de création de produits. LLM Coding simplifie également la programmation, mais les utilisateurs ayant des connaissances de base en programmation pourront utiliser plus efficacement ce type d'outil.
  5. Principaux objectifs de l'outilVibe Coding est souvent associé à des environnements ou des outils de développement de l'IA conçus à cet effet et hautement intégrés, tels que Curseur La fonction Composer de l'IA, Anthropique (utilisé comme expression nominale) Claude Le codage LLM utilise une série de modèles (tels que le Sonnet Claude 3.7 mentionné dans l'article original) et des outils de saisie vocale tels que Superwhisper. LLM Coding, quant à lui, utilise davantage des outils tels que le Copilote GitHub Les outils les plus populaires pour la complétion et la génération de code sont Code Llama, Code Llama, StarCoder, et bien d'autres.

 

Boîte à outils commune de Vibe Coding

Selon des initiés de l'industrie tels que Niall McNulty, chef de produit à Cambridge University Press, et Peter Yang, chef de produit à Roblox, les développeurs qui souhaitent s'essayer à Vibe Coding peuvent se tourner vers les outils suivants :

1. curseur AI

Cursor est un éditeur de code piloté par l'IA conçu pour améliorer la productivité du développement. Ses principales caractéristiques sont les suivantes

  • Outil de compositionCette fonction vise à automatiser une grande partie du processus de codage, l'utilisateur se contentant de décrire la fonctionnalité souhaitée en langage naturel.
  • Prise en charge de plusieurs modèlesL'intégration comprend la famille GPT d'OpenAI, le Sonnet Claude 3.5 d'Anthropic (ou la version 3.7, comme mentionné dans l'article original) et la famille DeepSeek et de nombreux autres modèles d'IA avancés.
  • Génération et optimisation du codeL'IA génère des extraits de code et même des fonctionnalités complètes sur la base d'indications en langage naturel, et contribue à la correction des bogues et à l'optimisation du code.
  • Détection des erreurs en temps réelL'éditeur peut indiquer instantanément les erreurs de syntaxe ou les problèmes logiques potentiels dans le code.

2. Claude 3.7 Sonnet

Développé par Anthropic, Claude 3.7 Sonnet (basé sur le message original et représentant les modèles avancés de la famille Claude) est un puissant modèle de langage à grande échelle dont les caractéristiques le rendent parfaitement adapté à la philosophie de Vibe Coding :

  • Outils d'artefactLes utilisateurs peuvent générer et itérer sur diverses formes de contenu telles que des blocs de code, des aperçus de sites, des composants interactifs, etc. en dehors de l'interface de dialogue en ligne.
  • capacité de programmation multilingueIl peut générer du code dans les principaux langages de programmation, y compris Python et JavaScript.
  • modèle d'utilisationLes versions gratuites sont disponibles en nombre limité, et les fonctionnalités complètes nécessitent un abonnement au service Claude Pro.

3. super chuchotement

Super Chuchotement est un moteur de synthèse vocale optimisé pour les scénarios de codage qui ajoute une interaction homme-machine plus naturelle à Vibe Coding - le développement par commandes vocales :

  • Intégration de l'éditeur: Peut être utilisé avec le curseur, Cline peut-être Planche à voile et de nombreux autres éditeurs travaillent ensemble.
  • Gains d'efficacitéLa parole humaine étant généralement 3 à 5 fois plus rapide que la frappe (~150+ WPM contre 40-80 WPM), cela pourrait théoriquement accélérer le processus de développement.
  • l'ergonomieLa réduction de la dépendance à l'égard du clavier peut contribuer à atténuer la fatigue physique associée à de longues heures de codage et offrir une expérience d'interaction plus intuitive.

 

Testez Vibe Coding : Quand la voix rencontre l'éditeur d'IA

La recherche de la "conformité sensorielle" par le Vibe Coding implique, d'une certaine manière, de se libérer de l'apport physique. Le codage vocal est une manifestation de cette philosophie. En combinant Super Whisper et Cursor AI, vous pouvez créer un environnement de développement piloté par la voix.

Étape 1 : Installation des outils

Tout d'abord, vous devez télécharger et installer Cursor AI. Ensuite, visitez le site officiel de Super Whisper pour installer l'application Superwhisper, qui est prise en charge sur les plateformes macOS et Windows.

Etape 2 : Configurer le mode d'encodage de Superwhisper

Après avoir ouvert l'application Superwhisper, effectuez les réglages suivants :

  1. Allez dans le menu Setup.
  2. Recherchez l'option Modes et cliquez sur Créer un mode.

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

  3. Sélectionnez Personnalisé pour créer un nouveau mode.
  4. Nommez le nouveau mode, par exemple "Python Coding" et sélectionnez Cursor dans l'option "Activate when...". Sélectionnez Cursor dans l'option "Activate when using" pour associer ce mode à Cursor AI. En même temps, le modèle de reconnaissance vocale et la langue cible (par exemple le chinois) peuvent être ajustés selon les besoins.

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

Une fois la configuration ci-dessus terminée, l'utilisateur peut utiliser les touches de raccourci qui lui ont été attribuées (par exemple, sous macOS, la valeur par défaut est Option + 空格键) Réveillez Superwhisper et sélectionnez le mode "codage Python" que vous venez de créer. Cela vous permettra d'entrer des commandes ou du code par la voix lorsque l'IA du curseur est active.

什么是 Vibe Coding?从零开始学习 AI 辅助编程

Notez que si d'autres applications installées sur le système sont susceptibles d'entrer en conflit avec la saisie vocale (par ex. ChatGPT ), vous devrez peut-être les désactiver temporairement pour que Superwhisper puisse prendre en charge la saisie vocale et se connecter à Cursor sans problème.

 

Démarrer avec Vibe Coding : un parcours de découverte pour les développeurs zéro-base

Même sans formation en programmation traditionnelle, le concept Vibe Coding offre la possibilité de participer à la création d'un logiciel. Voici un aperçu de la façon de commencer :

Étape 1 : Sélection et configuration de l'outil

  1. Installation de l'éditeur AITélécharger et installer Cursor AI ou d'autres outils qui soutiennent le concept de Vibe Coding. Visitez leur site web pour compléter le processus de téléchargement et d'installation.
  2. S'inscrire et se connecterLes services d'aide à la décision : Créer un compte et se connecter, généralement avec une période d'essai gratuite.
  3. Personnalisation: Suivez le guide pour effectuer les réglages de base.
  4. Choisir un modèle d'IALes modèles d'IA pilotés par le backend sont choisis en fonction des besoins du projet et des préférences personnelles. Par exemple, certains utilisateurs ont signalé que la famille de modèles Claude excelle dans la génération de code.

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

  5. Activation des fonctions expérimentalesPour une meilleure expérience de Vibe Coding, vous pouvez activer des fonctions expérimentales telles que "Auto Run".

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

Étape 2 : Créer le projet

  1. Ouvrez Cursor AI et configurez un espace de travail pour le projet en créant un nouveau fichier ou dossier à partir du menu.
  2. Définissez le type d'application que vous souhaitez créer, par exemple une simple page web, un petit jeu ou une extension Chrome.

Étape 3 : Communiquer les exigences à l'IA

  1. Activez l'interface interactive de l'IA (généralement une touche de raccourci dans le curseur). Command + K (ou un raccourci similaire).
  2. Utilisez le langage naturel (soit par la saisie au clavier, soit par la saisie vocale à l'aide d'un outil tel que Superwhisper) pour décrire clairement la fonctionnalité que vous souhaitez obtenir. Exemple :
    • "Créez une page HTML simple qui contient une zone affichant l'heure actuelle et un bouton de rafraîchissement."
    • "Générer la structure de base d'une extension Chrome qui permet de générer un code QR pour la page web en cours de consultation".
  3. On peut essayer d'appliquer le "Spécification, établissement de règles, orientations en matière de surveillance"pour communiquer avec l'IA :
    • SpécificationsLes objectifs sont clairs, par exemple : "Créer un bouton de connexion qui, lorsqu'il est cliqué, capture l'adresse électronique saisie par l'utilisateur".
    • Comment établir les règlesLes contraintes : Définir des contraintes, telles que "Utiliser Python et garder un style de code simple".
    • Supervision et orientationLes résultats de l'analyse de l'impact sur l'environnement (AI) doivent être évalués en fonction de l'impact sur la santé et la sécurité des personnes et des biens.

Étape 4 : Générer, exécuter et tester

  1. L'IA génère du code sur la base des instructions et l'affiche directement dans l'éditeur.
  2. Exécutez le code à l'aide des fonctions fournies par l'éditeur et observez les résultats réels (par exemple, Cursor AI fournit généralement des boutons pratiques pour exécuter une page web ou un script).
  3. Si un programme fonctionne mal, vous pouvez copier et coller le message d'erreur directement à l'IA, qui tente généralement de l'analyser et de fournir une solution sans explication supplémentaire.

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

Étape 5 : Répéter et améliorer

  1. Sur la base des résultats des tests, continuez à utiliser le langage naturel pour proposer des changements ou des améliorations à l'IA.
    • Par exemple, "Changer la couleur d'arrière-plan de la page en bleu clair".
    • Ou : "Ajouter une zone de saisie permettant à l'utilisateur de fixer une heure pour les rappels".
  2. L'IA mettra à jour le code en fonction des nouvelles instructions.
  3. Répétez ce cycle de "communication-génération-test-feedback" jusqu'à ce que l'application fonctionne à votre satisfaction.

Étape 6 : Déploiement et utilisation

  1. On peut demander à l'IA comment sauvegarder, emballer ou déployer l'application en cours de développement.
  2. Suivez le guide étape par étape fourni par l'IA pour compléter la procédure de validation de la demande.
  3. Si nécessaire, vous pouvez également demander à l'IA de vous expliquer comment utiliser l'application finalisée.

 

Le potentiel et les défis du Vibe Coding

Le Vibe Coding brosse un tableau séduisant de l'avenir : le développement de logiciels devient aussi naturel qu'une conversation, les idées peuvent être transformées en produits réels plus rapidement et les barrières techniques sont considérablement réduites. Ce modèle présente certainement un grand potentiel pour le prototypage rapide, le développement de fonctionnalités non essentielles ou la mise en œuvre d'applications simples par des personnes n'ayant pas de formation technique. Il peut accélérer le cycle d'innovation et impliquer davantage de personnes dans le processus créatif.

Toutefois, cette approche du développement, qui semble se faire sans effort, s'accompagne de défis évidents et de risques potentiels.

  • Qualité du code et maintenabilitéLe code qui s'appuie exclusivement sur le code généré par l'IA peut varier en termes de qualité, d'efficacité et de maintenabilité. Une base de code qui n'est pas examinée et comprise en profondeur par les développeurs peut devenir une "dette technique" ingérable à long terme.
  • Débogage de la complexitéEn cas de bogues profonds ou non évidents, les développeurs habitués au modèle de codage Vibe peuvent constater qu'ils ne disposent pas des connaissances sous-jacentes et des compétences de débogage nécessaires pour localiser et résoudre le problème. Le processus de débogage peut devenir un "bras de fer" répété avec l'IA, ce qui est inefficace.
  • Évolution des compétences des développeursLe code Vibe : Une dépendance excessive à l'égard du code Vibe peut conduire à une compréhension superficielle des principes fondamentaux de la programmation, des algorithmes et de la conception des systèmes. Si "oublier de coder" fait partie de la philosophie, il convient de se demander si cela n'affaiblit pas les compétences de base des ingénieurs.
  • Dépendance excessive et risque de blocageLa dépendance à l'égard d'outils ou de plates-formes d'IA spécifiques pour le développement peut présenter un risque de verrouillage du fournisseur. Dans le même temps, une confiance excessive dans les capacités de l'IA peut conduire les développeurs à négliger d'éventuelles vulnérabilités en matière de sécurité ou des failles logiques.
  • Éducation et choc culturelL'essor du Vibe Coding remet également en question l'enseignement traditionnel de l'informatique et la culture de l'ingénierie logicielle. La question de savoir comment cultiver une nouvelle génération de développeurs capables d'utiliser efficacement l'IA tout en possédant de solides connaissances fondamentales sera importante.

L'avenir du Vibe Coding en tant que tendance émergente du développement logiciel est plein d'incertitudes. Il est peu probable qu'il remplace complètement les pratiques de codage traditionnelles, mais il est probable qu'il serve d'aide puissante qui changera la façon dont les développeurs interagissent avec le code et aura un impact profond sur l'écosystème du développement logiciel. À l'avenir, le rôle de l'ingénieur logiciel sera probablement davantage axé sur l'analyse des besoins, la conception de systèmes, la commande et la collaboration en matière d'IA et l'évaluation critique des résultats générés par l'IA.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...