Alors que Sam Altman, PDG d’OpenAI, vante les talents d’écriture créative d’un prochain modèle OpenAI, de nombreux développeurs et ingénieurs logiciels adoptent ce qu’on appelle le « vibe coding » (ou codage d’ambiance). Cette expression n’a que six semaines, mais elle continue de susciter le débat sur Reddit et divers canaux Slack, y compris ici chez IBM.
En résumé, le vibe coding est un terme récemment utilisé par Andrej Karpathy, cofondateur d’OpenAI et ancien directeur senior de l’IA chez Tesla, pour décrire à quel point les LLM sont devenus performants en matière de raisonnement et de codage. (Pensez à Sonnet de Claude ou à l’éditeur de code d’IA Cursor.) Il a écrit sur X que les développeurs peuvent « se laisser porter par l’ambiance, adopter l’exponentiel et oublier que le code existe ». Comme l’explique Ars Technica : « Au lieu d’être une question de contrôle et de précision, le vibe coding consiste à s’abandonner au flux ».
Joshua Noble, stratège technique chez IBM, estime que le vibe coding est né d’une plaisanterie. Mais l’expression est restée, et l’incubateur Y Combinator a même créé une vidéo explicative de 30 minutes intitulée « Vibe Coding Is the Future » (Le vibe coding est l’avenir).
Si le vibe coding est l’avenir, il est encore imparfait aujourd’hui. « Je pense que c’est plutôt si vous êtes à court d’idées ou si vous vous sentez paresseux, laissez simplement CoPilot s’en charger un peu et voyez où cela vous mène, explique M. Noble. Je me contente de voir, d’écrire, d’exécuter et de copier-coller, et cela fonctionne la plupart du temps. »
Ash Minhas, responsable du contenu technique chez IBM, est d’accord : « Le vibe coding est une réalité, dit-il. C’est un peu comme si l’on pouvait s’inspirer et transformer cette inspiration en quelque chose. » Pour illustrer ses propos, M. Minhas raconte que son frère et lui ont eu l’idée de créer une application qui aide les utilisateurs à trouver leur chiffre FIRE (« Financial Independence, Retire Early », ou indépendance financière pour une retraite anticipée). « Si vous avez des compétences techniques, c’est fantastique », ajoute-t-il.
Maintenant que l’IA est présente dans presque tous les aspects de l’économie, pourrait-elle perturber le travail des développeurs et des ingénieurs logiciels ? La capacité à utiliser les LLM pour coder, déboguer ou tester pourrait améliorer de nombreuses opérations, explique Shalini Harkar, responsable de la promotion de l’IA chez IBM à Bangalore.
« De nos jours, les développeurs se concentrent davantage sur la résolution de problèmes complexes du monde réel qui ont un impact important dans la vie quotidienne, sur la conception d’architectures efficaces, sur la mise en place de stratégies de commercialisation plus rapides et sur la promotion de l’innovation plutôt que sur des tâches routinières », explique-t-elle.
Michael (Max) Maximilien, ingénieur émérite chez IBM, demande toujours à son équipe d’effectuer des tests manuels sur le code. « Mais de plus en plus, vous n’avez pas besoin de rédiger le test, dit-il. En fait, il suffit d’écrire le code, puis de demander au LLM de rédiger le test à votre place ; la plupart du temps, il fait du bon travail. Vous améliorez donc considérablement votre productivité. »
En plus de ce gain d’efficacité, l’IA peut aider les développeurs moins expérimentés à peaufiner leurs compétences et à acquérir une expérience pratique à un rythme beaucoup plus rapide. « Vous pouvez dire : "Voici ce que j’essaie de faire", et elle écrit la première version du code, explique Maximilien. [Ensuite], vous le corrigez et vous continuez à avancer. C’est ça, l’accélération. »
À ce stade précoce, le vibe coding reste encore une sorte de plaisanterie entre développeurs, une forme d’art réservée aux connaisseurs de code. Mais cela pourrait également être le signe que nous sommes prêts à redéfinir ce que signifie la collaboration avec l’IA dans le domaine de l’informatique et du génie logiciel.
Pour certains observateurs, l’avenir de la technologie pourrait également inclure davantage de connexions entre humain et machine. « L’avenir du codage privilégiera à la compréhension du langage naturel, aux algorithmes sensibles aux émotions et à l’analyse des sentiments en temps réel, rendant les interactions entre l’homme et l’ordinateur plus intuitives », explique Vrunda Gadesha, rédactrice de contenu technique chez IBM.
Et si les humains feront toujours partie intégrante du processus, l’IA facilite considérablement la partie codage. « Le génie logiciel complexe nécessitera toujours, à un moment donné du processus, l’intervention d’un humain pour examiner l’optimisation, une logique métier très spécifique ou des cas limites, explique M. Noble. Mais quand on pense au codage, au simple fait de coder une application dédiée à tel ou tel objectif, la quantité de travail que l’on peut confier à un grand modèle de langage augmente considérablement. Et c’est assez passionnant. »
Service entièrement géré et à locataire unique pour le développement et la livraison d’applications Java.
Utilisez les logiciels et outils DevOps pour créer, déployer et gérer des applications cloud natives sur de nombreux appareils et environnements.
Le développement d’applications cloud implique de les créer une fois, de les itérer rapidement et de les déployer n’importe où.