La verità su Vibe Coding

Vibe Coding, presumibilmente una tecnologia AI multi-agente capace di sviluppare e pubblicare autonomamente applicazioni complete, può gestire app semplici come un gioco Snake o un sito web basilare. E basta.
Se sei fortunato, un’applicazione del genere potrebbe funzionare sorprendentemente bene dopo una iterazione autonoma. Tuttavia, se inizi a cercare di migliorarla, modificarla o aggiungere funzionalità, scoprirai rapidamente che diventa ingombrante e costosa.
Non fraintendetemi: penso che Vibe Coding sia un’ottima tecnologia che può già essere molto utile, purché le vostre aspettative si allineino con quello che può realisticamente fare.
Quando ho iniziato a sviluppare il mio plugin Nexus Polyglot per WordPress, ho usato Bolt partendo da una pagina vuota. La prima iterazione mi ha dato un plugin di traduzione basilare ma completamente funzionale. Dovevo solo aggiungere la mia chiave API di Claude e cliccare il pulsante traduci. Tuttavia, questo era un approccio molto basilare e non avrebbe portato valore a nessun utente WordPress. Ho quindi deciso di approfondire per creare un plugin reale, pronto per il commercio, che aggiungesse valore. Bolt ha rapidamente mostrato i suoi limiti.
Ho quindi provato diversi strumenti. Stavo già usando Continue, un’estensione di Visual Studio Code che permette l’uso di qualsiasi modello LLM localmente o remotamente con le proprie chiavi API. Era molto buggy. Sono passato ad Augment Code e Cline, e infine mi sono stabilito su Claude Code. Oggi, seleziono il mio strumento Vibe Coding basandomi su quello che sento possa gestire in modo affidabile.
Passo dopo passo, sono riuscito a migliorare il plugin Nexus Polyglot con le mie competenze di sviluppo basilari, e ho imparato molto lungo il percorso. Ma mi è costato sia tempo che spese AI.
Oggi, ho un esempio perfetto di quello che succede durante ogni iterazione: costa soldi e tempo significativi, e mostra perché è obbligatorio capire e rivedere il codice proposto. Altrimenti, rischi una tana del coniglio infinita dove Vibe Coding aggiunge bug, codice ridondante e codice morto, rendendolo un incubo su cui fare affidamento.
Il mio plugin Nexus Polyglot per WordPress ha due funzionalità principali (e molte altre che non è necessario dettagliare qui):
- Automatizzare le traduzioni (aggiungendo codici lingua e punteggi di valutazione qualità)
- Automatizzare il raggruppamento delle traduzioni (assegnando ID di gruppo ai post correlati)
Queste funzionalità sono correlate ma distinte. Ad esempio, potrei voler eliminare un gruppo senza perdere i metadata di traduzione come codici lingua o punteggi di qualità.
Ho chiesto a Claude Code di:
- Aggiungere una funzione « elimina gruppo », permettendo a un utente di eliminare un gruppo su richiesta senza eliminare i post in quel gruppo.
- Aggiungere una funzione « rimuovi post dal gruppo », permettendo a un utente di rimuovere un post da un gruppo.
Questa è parte del piano di esecuzione che ha proposto:
Se l’utente elimina un gruppo, rimuovi il riferimento al gruppo, il codice lingua e la valutazione qualità da tutti i post di quel gruppo.
Tradotto in codice:
if ($group_id) {
delete_post_meta($post_id, '_nexus_polyglot_group_id');
delete_post_meta($post_id, '_nexus_polyglot_language');
delete_post_meta($post_id, '_nexus_polyglot_quality_assessment');
}
Se non avessi letto il codice, avrei incontrato una brutta sorpresa durante i test, con dati critici eliminati dai post.
L’approccio corretto dovrebbe essere:
Se l’utente elimina un gruppo, rimuovi solo il riferimento al gruppo.
if ($group_id) {
delete_post_meta($post_id, '_nexus_polyglot_group_id');
}
La sensazione è la stessa in Vibe Coding come con gli strumenti chat come ChatGPT o Claude AI: è come se questi strumenti fossero programmati per essere eccessivamente zelanti, cercando di dare un senso di « ti darò di più per i tuoi soldi » agli utenti, mentre in realtà, il risultato è spesso l’opposto: disinformazione, inaffidabilità e perdita di fiducia.
Alla fine, come con qualsiasi strumento, è imperativo imparare e capire come funziona, il suo comportamento, e—abbastanza divertente—con gli LLM come con gli umani, capire il loro carattere e le tendenze nascoste per gestire meglio le vostre interazioni con loro.