Il vibe coding è un modo di sviluppare software in cui si descrive all’intelligenza artificiale generativa, in linguaggio naturale, ciò che si vuole ottenere e si lascia che sia l’IA a scrivere, modificare e correggere il codice, senza necessariamente leggerlo o comprenderlo. Chi utilizza questo approccio si concentra soprattutto sul risultato, cioè sul fatto che l’applicazione svolga le funzioni richieste, più che sul codice che la fa funzionare.
Il termine è stato coniato da Andrej Karpathy, informatico tra i fondatori di OpenAI ed ex direttore dell’intelligenza artificiale di Tesla, in un post su X del 2 febbraio 2025: Karpathy descriveva un modo di programmare in cui si accettano le modifiche proposte dall’IA senza esaminarle, affidandosi al risultato ottenuto. Lo considerava particolarmente adatto a piccoli progetti sperimentali, come quelli realizzati in un fine settimana.
Il nome deriva dall’inglese “vibe”, che significa atmosfera, sensazione: richiama l’idea di lasciarsi guidare da ciò che si vuole ottenere, anziché concentrarsi sui dettagli tecnici necessari per realizzarlo.
Un esempio? Una persona chiede a un assistente AI: “Crea una piccola applicazione per gestire le prenotazioni delle sale riunioni, con un calendario e la possibilità di modificare o cancellare una prenotazione”: l’assistente genera il codice, la persona prova l’applicazione e, se qualcosa non funziona, descrive il problema all’IA, che propone una correzione. Il lavoro procede attraverso richieste successive, senza che chi lo guida debba necessariamente scrivere una riga di codice.
Che differenza c’è tra vibe coding e programmazione assistita dall’IA?
La differenza principale tra vibe coding e programmazione assistita dall’IA sta nel grado di controllo che la persona mantiene sul codice prodotto.
Nella programmazione assistita dall’IA, uno sviluppatore utilizza strumenti per farsi suggerire funzioni, individuare errori e velocizzare alcune attività: il codice viene però letto, compreso, verificato e integrato consapevolmente nel progetto.
Nel vibe coding (almeno nel significato originario proposto da Karpathy) la persona si concentra sul risultato e può accettare il codice generato senza comprenderne il funzionamento.
Con il tempo, però, il termine ha assunto un significato più ampio e viene spesso utilizzato per indicare qualsiasi sviluppo di applicazioni attraverso istruzioni in linguaggio naturale, anche quando il codice viene controllato da programmatori esperti.
È questo il significato più generale registrato dal dizionario Collins, che nel novembre 2025 ha scelto “vibe coding” come parola dell’anno, definendolo come l’utilizzo dell’intelligenza artificiale, guidata dal linguaggio naturale, per aiutare a scrivere codice.
La distinzione è importante perché utilizzare l’IA per programmare non significa necessariamente fare vibe coding, e soprattutto perché i controlli necessari cambiano a seconda di quanto si conosce e si verifica il software prodotto.
Come funziona il vibe coding?
Il vibe coding funziona attraverso cicli successivi di richieste, prove e correzioni.
Si parte descrivendo all’IA che cosa si vuole realizzare: un sito web, un’applicazione, una dashboard o un piccolo strumento per automatizzare un’attività.
L’assistente genera una prima versione del software, che può essere provata subito; se il risultato non è soddisfacente, la persona fornisce nuove indicazioni: l’IA modifica il codice e il ciclo ricomincia, fino a ottenere un risultato considerato soddisfacente.
Per fare vibe coding si possono utilizzare strumenti diversi: piattaforme come Lovable, Bolt e Replit permettono di creare applicazioni attraverso interfacce visuali, spesso direttamente dal browser. Strumenti come Cursor, Claude Code e Codex di OpenAI consentono invece di lavorare anche sui file di un progetto, modificare il codice ed eseguire comandi. Le funzionalità possono sovrapporsi e continuano a evolvere.
Il fatto di ottenere rapidamente una prima versione funzionante, però, non significa che il software sia pronto per essere utilizzato in un contesto reale.
Bisogna saper programmare per fare vibe coding?
Non necessariamente: uno degli aspetti più interessanti del vibe coding è che permette anche a persone senza competenze di programmazione di creare prototipi e piccole applicazioni.
Saper descrivere ciò che si vuole ottenere, però, non equivale a saper valutare come è stato costruito. Un’applicazione può sembrare funzionare correttamente e avere comunque problemi di sicurezza, errori nella gestione dei dati o comportamenti imprevisti; le competenze tecniche diventano particolarmente importanti quando il software deve essere utilizzato da altre persone, gestire informazioni riservate o collegarsi ai sistemi aziendali.
Quando in azienda più persone iniziano a utilizzare strumenti di IA, anche senza essere sviluppatori, diventa importante occuparsi della loro preparazione: ne parliamo nell’articolo dedicato alla formazione sull’intelligenza artificiale prevista dall’articolo 4 dell’AI Act.
Quali sono i vantaggi del vibe coding per le aziende?
Il principale vantaggio del vibe coding per un’azienda è la possibilità di trasformare rapidamente un’idea in un prototipo funzionante, per verificare se può essere utile prima di investire in un progetto di sviluppo.
Questo approccio permette di sperimentare strumenti interni, automatizzare piccole attività e provare nuove soluzioni senza avviare subito un progetto di sviluppo tradizionale; inoltre, può anche migliorare la comunicazione tra chi conosce un problema aziendale e chi sviluppa software.
Il prototipo non sostituisce il progetto di sviluppo, ma può aiutare a chiarire le esigenze e a evitare di investire tempo in funzionalità poco utili.
Il valore maggiore del vibe coding sta spesso nella sperimentazione: realizzare una dimostrazione in poco tempo è diverso dal costruire un software affidabile, sicuro e facile da mantenere.
Quali sono i rischi del vibe coding?
Il rischio principale del vibe coding è utilizzare software senza sapere davvero come funziona: un’applicazione generata dall’IA può contenere errori difficili da individuare, utilizzare librerie vulnerabili, gestire male le credenziali di accesso o esporre informazioni riservate.
Il problema non è soltanto teorico: in un’analisi pubblicata nel 2025, Veracode, azienda specializzata nella sicurezza del software, ha sottoposto a test di sicurezza codice generato da oltre cento modelli di IA su 80 compiti di programmazione.
Nel 45% dei casi esaminati, il codice non ha superato le verifiche di sicurezza: il dato non significa che il 45% di tutto il codice prodotto dall’IA sia vulnerabile, ma mostra perché non sia prudente considerarlo sicuro senza controlli.
Gli errori diventano particolarmente problematici quando un’applicazione viene collegata a database aziendali, sistemi di pagamento o servizi utilizzati dai clienti.
C’è poi un problema di manutenzione: se nessuno in azienda comprende il codice, correggere un errore o aggiungere una funzione può diventare complicato; continuare a chiedere modifiche all’IA non garantisce che l’applicazione mantenga una struttura coerente nel tempo.
Un altro rischio riguarda il controllo degli strumenti utilizzati: un dipendente potrebbe creare autonomamente una piccola applicazione e iniziare a utilizzarla con dati aziendali senza che l’impresa ne sia a conoscenza.
In questo caso il vibe coding può intrecciarsi con il fenomeno della shadow AI, cioè l’utilizzo di strumenti di intelligenza artificiale non approvati o non conosciuti dall’azienda.
Il vibe coding può sostituire gli sviluppatori?
No: il vibe coding rende alcune attività di programmazione accessibili anche a chi non è sviluppatore, ma non elimina il bisogno di competenze tecniche.
L’IA può generare codice e aiutare a correggere errori, ma progettare un’applicazione richiede anche decisioni sull’architettura, sulla sicurezza, sulle prestazioni e sulla manutenzione.
Un software aziendale deve spesso integrarsi con altri sistemi, rispettare requisiti normativi e continuare a funzionare anche quando cambiano le condizioni in cui viene utilizzato.
Il vibe coding può quindi essere uno strumento utile sia per chi programma sia per chi vuole sperimentare un’idea senza partire da zero.
La differenza sta nel modo in cui viene utilizzato: un conto è creare rapidamente qualcosa per vedere se funziona, un altro è assumersi la responsabilità di un’applicazione su cui altre persone o un’azienda devono poter contare.


