13 points par GN⁺ 2025-04-01 | 1 commentaires | Partager sur WhatsApp
  • Un article de réflexion critique sur le Vibe Coding, une manière de coder en expérimentant un « état de flow » avec l’IA pendant le développement
  • L’auteur s’y est appuyé ces deux derniers mois, mais estime finalement que le résultat n’était pas satisfaisant en termes de productivité et de coût
  • Le Vibe Coding n’est pas une méthodologie de développement précise, mais plutôt une forme de développement centrée sur un état ou une émotion
    • Écrire du code en suivant le flux, en s’appuyant sur des assistants de codage IA (Cline, Roo Code, Cursor, etc.)
    • Travailler sans plan clair, uniquement à l’intuition et à l’immersion, en cherchant une impression de progrès guidée par la dopamine

Les problèmes du Vibe Coding

  • Perte de temps : au début, tout semble aller vite, mais faute de structure, on se laisse entraîner par les erreurs ou les changements
  • Hausse des coûts : plus la fenêtre de contexte de l’IA grandit, plus le coût des appels API augmente
    • Exemple : envoi de centaines de milliers de tokens, génération de milliers de lignes → au final, une facture lourde
  • Davantage de retouches : un code créé rapidement au départ finit par ne pas correspondre à l’objectif, ce qui conduit à devoir tout reprendre

Il y a aussi des avantages

  • Le débogage répétitif et la récompréhension permettent d’améliorer sa compréhension de la structure du code et du langage lui-même
  • L’auteur se concentre actuellement sur l’apprentissage de Python et développe peu à peu la capacité à comprendre les erreurs et à bien orienter le modèle

Vibe Coding vs. chat IA vs. recherche web

  • Vibe Coding : utile pour l’exploration initiale ou les essais expérimentaux, mais inadapté à un développement structuré
  • Chat IA (ChatGPT, etc.) : utile pour obtenir des réponses rapides et générer du boilerplate, mais une confiance aveugle est risquée (risque d’hallucinations de l’IA)
  • Recherche web : indispensable pour trouver des concepts et des solutions exactes, mais cela peut prendre du temps

La combinaison actuellement préférée : Gemini + Open WebUI

  • Gemini Code Assist (utilisé dans VS Code) :
    • Gratuit, et particulièrement efficace pour générer des tests et corriger des erreurs
    • Surtout utile pour ceux qui découvrent les tests unitaires
  • Open WebUI :
    • Prend en charge différents modèles et offre des possibilités de personnalisation
    • Permet de configurer des prompts adaptés à des usages précis (codage, articles scientifiques, brevets, etc.)
    • Adapté à des tâches efficaces en termes de rapport coût/efficacité, comme l’alignement de texte ou la conversion de tableaux

Un choix inefficace : les agents IA illimités

  • Roo Code, Cline, etc. tournent longtemps et consomment beaucoup de tokens
    • En particulier, les solutions basées sur Claude offrent de bonnes performances, mais leur coût est excessivement élevé
  • À la place, Gemini 2.0, DeepSeek V3/Chat, etc. sont gratuits ou peu chers, tout en restant performants

Conclusion : à la recherche d’un meilleur équilibre

  • On ne peut pas dire que le Vibe Coding soit totalement mauvais
    • Il aide à stimuler la créativité et explorer des idées
  • Mais ce n’est pas une manière de développer durable
    • Face aux délais et aux coûts, il faut des alternatives réalistes
  • La combinaison optimale actuelle de l’auteur :
    • Gemini Code Assist (gratuit, très bon pour les tests unitaires)
    • Open WebUI (avantageux en matière de contrôle et de coût)
  • Projets à venir :
    • Envisager des apps de chat payantes comme Perplexity (20 $/mois, avec aussi une offre gratuite)
    • Les coûts d’API dépassant 30 $/mois, une réduction structurelle des dépenses est nécessaire
    • À long terme, faire tourner des modèles en local est aussi envisagé, avec une possible migration si des modèles plus efficaces apparaissent

1 commentaires

 
GN⁺ 2025-04-01
Avis Hacker News
  • Il est intéressant de lire des retours sur la manière dont d'autres utilisent les LLMs pour coder

    • Personnellement, j'ai l'impression que les LLMs ont dépassé la « vallée de l'étrange » de la programmation et améliorent fortement la productivité
    • Si l'on explique bien le problème et les contraintes, ils peuvent générer correctement des milliers de lignes de code
    • Il est important de relire le code généré par le LLM, et il s'en sort bien quand on formule des demandes précises
    • Demander « peux-tu me dire comment tu comptes implémenter la solution ? » est utile
    • Le résultat est surprenant. Le style peut varier, mais la structure est souvent très juste
  • Le vibe coding convient aux prototypes exploratoires, pas à l'écriture de code de production

    • C'est acceptable pour des outils personnels, mais pas pour du code destiné à être distribué à d'autres
    • Il faut comprendre le code et itérer dessus
    • Le vibe coding est défini comme le fait de ne pas vraiment se soucier du code
  • Le vibe coding consiste à entrer dans un « flow » et générer facilement du code

    • Blague disant que les scènes de hackers au cinéma auraient été plus cool si elles avaient utilisé ChatGPT
    • Juger la justesse du code uniquement sur le fait qu'il s'exécute n'est pas une bonne approche
    • Il est important au minimum de relire ce que produit le LLM
  • Je pense que le vibe coding n'a rien à voir avec le développement

    • Même des non-professionnels peuvent produire du petit code, mais les systèmes à grande échelle restent difficiles
    • Les LLMs sont utiles pour générer du code boilerplate, mais il faut corriger quand des problèmes surviennent
    • Les nouveaux « vibe coders » ne comprennent pas le problème et essaient en boucle
  • Je dépense 30 $ par jour pour utiliser Claude Code

    • Le vibe coding coûte cher
  • Travailler avec une structure en arbre est utile

    • On dessine d'abord la vue d'ensemble, puis on remplit les détails
    • C'est efficace quand on travaille avec des LLMs
    • C'est structuré, mais cela peut toujours être considéré comme du vibe coding
  • Karpathy est doué pour trouver des noms

    • Le nouveau terme s'est bien imposé
  • J'utilise beaucoup les LLM, mais la notion de vibe vient au départ d'une blague en ligne

    • Il est important de bien formuler les questions, et cela ressemble au développement
    • Les tests sont importants, et l'apprentissage progresse vite grâce au LLM
  • Il y a une vraie valeur à exprimer sa pensée dans un langage formel

    • Les mathématiques peuvent aussi s'exprimer en langage naturel, mais la clarté et la concision de la formalisation sont utiles
    • Le code est un moyen de rendre claires des idées ambiguës
    • Il n'est pas souhaitable que tous les systèmes soient écrits dans un langage ambigu
  • Les chats IA donnent de meilleurs résultats que la recherche web

    • Pour écrire des requêtes SQL, Gemini donne de meilleurs résultats