Bolt.ai : L’effet Wow Face aux Limites Réelles
Bolt est une plateforme de développement web basée sur navigateur, développée par StackBlitz. Elle utilise Claude pour permettre la création d'applications web sophistiquées, back et front, sans compétences en codage. D'après Anthropic, l’intégration de Claude 3.5 a permis à Bolt de passer de zéro à 4 millions de dollars d’ARR en seulement quatre semaines.
Lorsque je lis "4M d'ARR en 4 semaines" pour Bolt, mon côté entrepreneur est impressionné.
Mais après avoir consacré une heure à ce produit, mon côté développeur l’est beaucoup moins, et au fond, c'était prévisible.
Pour mon test, j’ai voulu créer rapidement un outil pour expérimenter avec des prompts sur n’importe quel LLM, en commençant par Claude. Un truc très simple : un modèle de prompt, quelques paramètres, un bouton de sauvegarde, un bouton pour lancer le prompt, et une zone de résultat.
À la première génération, j’ai obtenu exactement cela, accompagné d'un bel effet "WOW".
Les ennuis ont commencé lorsque j'ai commencé à lui imposer quelques règles. Déjà, je lui ai demandé de supprimer une dépendance à React ET à Vue.js, ainsi que Tailwind, pour n'utiliser que Preact en front. Et là, c'est le drame.
Bolt, c'est un peu comme un dev junior persuadé de tout savoir et qui t’explique que "Vue.js va forcément révolutionner le monde", alors que toi, tu as vu des dizaines de "Vue.js" naître et mourir en 30 ans... Il obtempère, mais à chaque modification, il revient à la charge en recollant ses dépendances. Et à chaque itération, le code fonctionne de moins en moins bien, jusqu’à m’afficher une page blanche avec un message m’invitant à payer pour continuer…
Alors cela vient de moi, le problème, je le sais : ces outils sont prévus pour les gens qui ne codent pas et qui se fichent de savoir quelles sont les dépendances. Mais en même temps, pourquoi me montrer tout court le code à ce moment-là ?
D'un point de vue technique, le problème que Bolt, et je soupçonne aussi que Cursor.ai a le même, est lié à cette fameuse taille de la fenêtre de contexte. Car même avec les 128 000 tokens de Claude, il est impensable d’y faire tenir tous les fichiers d’un projet complet et toute la conversation qui a permis de les générer. Alors, comme pour un RAG, on "triche" : chaque itération est en réalité une "nouvelle" conversation qui génère des actions à appliquer sur une base de code que le LLM ne voit que partiellement.
Résultat, si Bolt insiste pour ajouter du Vue.js ou du Tailwind, alors que tu lui as demandé du Preact et du CSS basique, il "oublie" à chaque itération et continue de réinjecter ses dépendances. Au final, ta base de code devient un bazar ingérable.
En l’état, je ne vois pas un développeur formé utiliser ce type d’outil pour autre chose que du prototypage. Et encore, pour cela, il existe de meilleures alternatives.
En revanche, j’imagine que l’ARR s'explique facilement par tous ces utilisateurs qui n’ont aucune idée de ce que représente ce fatras de code mais restent sur un éternel effet wow. Tant que ça marche, ils continuent. Et s’il faut payer, ils paient.
Et lorsque l'inévitable moment de corriger un problème que Bolt ne saura pas trouver tout seul arrivera, ce sera la panique.