Coder avec une seule invite ? Le « vibe coding » n’est pas une solution miracle

Les vingt derniers pour cent coûtent quatre-vingts pour cent de votre temps 

vibe coding

Vibe coding est le phénomène du moment dans le développement de logiciels. Tout le monde peut-il coder aujourd’hui avec l’aide de l’IA ? Ce n’est pas si simple.

Le vibe coding semble bien parti pour devenir le mot informatique de l’année. La folie de l’IA trouve également rapidement son chemin vers le monde du développement de logiciels. Le large éventail d’outils artificiels donne l’impression que le codage est un jeu d’enfant : vous décrivez ce que vous voulez et, quelques instants plus tard, vous avez un logiciel prêt à l’emploi.

Cela ressemble au rêve de tout développeur. Vous vous épargnez des heures en n’ayant plus à écrire de code manuellement. Le vibe coding rend également le codage accessible aux profils non techniques. Tout développeur professionnel peut-il prendre une retraite anticipée ?

De l’invite au code

Le terme vibe coding est apparu récemment. Andrej Karpathy, l’un des cofondateurs d’OpenAI, peut être considéré comme l’inventeur du mot. Karpathy décrit le vibe coding comme suit : « Je vois juste des choses, je dis des choses, je fais des choses, je copie et je colle des choses, et généralement, ça marche ».

Coder avec l’aide de l’IA n’est pas nouveau : Github Copilot existe depuis 2021, ce qui, dans le monde de l’IA, est déjà une éternité. L’idée est que vous, en tant que développeur, n’écrivez plus de code, mais que vous le décrivez. L’assistant de codage IA crée le code sur la base d’une description textuelle.

Ainsi, en tant que programmeur, vous n’avez plus besoin d’être spécialisé dans un langage de programmation spécifique pour pouvoir y écrire du code. « Mais le vibe coding n’est pas forcément destiné aux non-développeurs. Il existe également des outils adaptés aux professionnels », déclare Menno Odijk, Field CTO chez Mendix, une filiale de Siemens.

Je vois juste des choses, je dis des choses, je fais des choses, je copie et je colle des choses, et généralement, ça marche.

Andrej Karapthy, cofondateur d’OpenAI, à propos du vibe coding

Vingt pour cent

Odijk n’est pas opposé à ces outils, mais il voit des limites à leur application dans un environnement de développement professionnel. « Avec le vibe coding, vous pouvez rapidement créer un prototype qui ressemble à ce que vous recherchez. Il y a beaucoup d’expérimentations, mais elles se heurtent à des limites. Les vingt derniers pour cent coûtent souvent quatre-vingts pour cent de votre temps ».

Il précise : « Le développement de logiciels d’entreprise se déroule selon un processus de construction standardisé avec des blocs, des frameworks et des normes sur la façon dont le logiciel doit être construit. Avec le vibe coding, vous vous heurtez rapidement à des difficultés. Le temps que vous gagnez alors, vous le perdez immédiatement pour rendre le code « prêt pour la production ». Ce sont ces vingt derniers pour cent dont je parle ».

Ceci est confirmé par Luigi van den Borne, développeur web et cofondateur de l’entreprise We Are Knights, basée à Campine. « D’expérience, je trouve l’IA utile pour les petites questions bien définies. Pour les grands projets, tels que la (re)écriture de code ou les revues de code, elle est moins fiable. La plus grande limite du vibe coding est que les réponses ne suivent souvent pas une ligne claire : on a parfois l’impression d’un assemblage de morceaux tirés « quelque part » d’Internet ».

Hâte et précipitation

« Faire fonctionner des modèles au sein de structures bien définies est l’un des grands thèmes du moment. L’IA est créative, mais dans le développement professionnel, il ne faut pas être trop créatif avec les normes. Il est difficile de prévoir l’avenir, mais je ne vois pas arriver de sitôt que nous construisions des applications d’entreprise uniquement avec des invites. La qualité ne doit pas se faire au détriment de la vitesse », poursuit Odijk.

C’est pourquoi tout développeur n’a pas besoin de maîtriser plusieurs langages de programmation. L’employeur d’Odijk, Mendix, mise fortement sur le low code : le développement d’applications avec le moins de lignes de code possible. Selon lui, cela peut parfaitement être concilié avec le codage piloté par l’IA.

« Les outils d’IA vous donnent du code, mais les personnes qui n’ont pas de connaissances en développement ne pourront toujours pas lire ce code. Le low-code jette alors un pont parce que vous travaillez avec des modèles visuels au lieu de code. Cela vous donne un peu moins de liberté parce que vous devez rester dans les blocs de construction, mais nous croyons fermement que c’est la meilleure façon de développer des logiciels ».

L’IA en façade

Il existe des situations où le vibe coding peut apporter une valeur ajoutée, reconnaît Odijk. « Il peut être utile pour concevoir la façade de l’application, car vous pouvez décrire avec des mots ce que vous voulez voir. Les outils peuvent concevoir quelque chose qui a l’air bien. Pour un utilisateur individuel, il est peut-être possible de concevoir une application complète avec des invites ».

Les exemples créatifs ne manquent pas. Il existe déjà aujourd’hui de nombreuses applications qui ont été entièrement développées avec le vibe coding, des « calculatrices de référencement » à une alternative gratuite à DocuSign. Mais pour chaque projet qui réussit, il y en a d’innombrables qui échouent.

« La majorité des projets d’IA n’entrent jamais en production », déclare Odijk. « Les connaissances et les données sont généralement les obstacles. Au sein de nombreuses organisations, il n’y a pas encore suffisamment de connaissances sur la façon d’aborder les projets d’IA du problème à la solution. Les LLM ne font pas tout. Cela exige une expertise et les bons outils que vous devez construire ou louer. La technologie évolue très rapidement ».

« L’IA n’est pas magique. La structuration des données est cruciale, car elles constituent la matière première de l’IA. Nous sommes maintenant habitués à l’IA, nous devons maintenant nous assurer que nous rendons les données appropriées, afin que les outils puissent en faire quelque chose de significatif. Ce volet est encore sous-estimé ».

Le vibe coding donne parfois l’impression d’un assemblage de morceaux tirés quelque part d’Internet.

Luigi van den Borne, cofondateur de We Are Knights

Stagiaire enthousiaste

La conversation avec Odijk prend soudain une tournure philosophique. « Le vibe coding concerne la façon dont vous développez des logiciels, mais qu’est-ce qu’un logiciel ? Cela change tout autant. L’IA est maintenant également dans le code pour effectuer des tâches de manière autonome. Cela exige d’autres compétences que le développement de logiciels classique. En tant que développeur, vous ne savez plus toujours ce que votre logiciel va faire ».

Si les logiciels changent, la vie du développeur change également. Odijk : « Les compétences de base resteront pertinentes. Mais dans quelques années, il ne sera peut-être plus nécessaire de se spécialiser dans des langages de programmation spécifiques. L’accent se déplace vers l’écriture basée sur des invites et le maintien de la qualité et des garde-fous. Un programmeur devient plutôt un contrôleur ».

« Le métier ne disparaîtra pas, j’en suis convaincu, mais l’ensemble des tâches change. Comprendre ce que le client veut et le spécifier devient une compétence plus importante que l’écriture de code. Les outils d’IA pourront rapidement remplacer un programmeur junior, mais les développeurs expérimentés continueront à jouer un rôle important. Mais comment obtenir encore des seniors si vous n’avez plus besoin de juniors ? », conclut Odijk avec une question ouverte.

lire aussi

Écrire ou contrôler du code ? « Restez expert dans ce que vous demandez à l’IA de faire »

Van den Borne : « L’essentiel reste que vous, en tant que développeur, devez être capable de lire, de comprendre et d’évaluer de manière critique le code. Le rôle du programmeur passe progressivement de tout écrire soi-même à davantage diriger, examiner et affiner. L’IA prend de plus en plus en charge les tâches répétitives et quotidiennes, ce qui me permet de consacrer plus de temps à des projets plus complexes ».

« Par rapport à il y a cinq ans, je remarque surtout que la recherche de bugs est beaucoup plus fluide : ce qui prenait parfois des heures auparavant est maintenant souvent résolu en quelques minutes. On a un peu l’impression d’avoir un bon stagiaire à côté de soi qui est toujours au courant des dernières techniques et qui vous aide avec enthousiasme, mais qui rate parfois la balle », conclut van den Borne.