Vai al contenuto

Cos'è il vibe coding

Il termine vibe coding è stato coniato da Andrej Karpathy, cofondatore di OpenAI ed ex direttore AI di Tesla, con un post su X il 2 febbraio 2025. La definizione originale descrive un approccio alla creazione di software in cui ci si affida completamente all'AI, si accettano le modifiche senza leggere il codice generato e si lascia che il progetto cresca oltre la propria comprensione tecnica.

È da considerare insieme una proposta e una provocazione, il metodo infatti non si esaurisce nel chiedere alla macchina ma è il punto di partenza di un processo.

Da un tweet a un fenomeno globale

Il post originale di Karpathy su X raccoglie milioni di visualizzazioni in pochi giorni. L'idea è semplice e radicale allo stesso tempo, l'AI si è evoluta così tanto da essere capace da scrivere codice funzionante, quindi tanto vale lasciarla fare. Nel post Karpathy racconta di accettare tutte le modifiche generate dall'AI senza leggerle, di incollare i messaggi di errore senza aggiungere commenti e di lasciare che il progetto cresca oltre la sua comprensione.

Il concetto si diffonde in tre fasi distinte. Nei primi due mesi, tra febbraio e marzo 2025, la fase di viralità coinvolge il mondo delle startup, tanto che Merriam-Webster inserisce "vibe coding" nel suo dizionario di slang.

La seconda fase, quella della legittimazione, si estende da aprile a novembre 2025. Il CEO di Google Sundar Pichai dichiara pubblicamente di fare vibe coding con Replit, descrivendolo come un'esperienza piacevole e sorprendente. A novembre 2025 il Collins Dictionary nomina "vibe coding" parola dell'anno, riconoscendo il passaggio da gergo tecnico a fenomeno culturale.

La terza fase arriva tra la fine del 2025 e l'inizio del 2026, ed è quella della maturazione critica. Gli studi sulla sicurezza del codice generato dall'AI rivelano percentuali allarmanti di vulnerabilità. Gli incidenti in produzione si moltiplicano. Lo stesso Karpathy, nel febbraio 2026, dichiara il vibe coding "superato" e propone un concetto nuovo, quello di agentic engineering, che enfatizza la supervisione umana sugli agenti AI piuttosto che la cieca accettazione dei risultati.

Questa evoluzione in tre fasi racconta molto di come il mondo tecnologico elabora le novità, dall'entusiasmo iniziale alla scoperta dei limiti fino alla ricerca di un equilibrio. Il manuale segue un percorso analogo, partendo dall'attrattiva immediata del vibe coding per arrivare a un approccio più consapevole.

Lo spettro del vibe coding

Il vibe coding non è una pratica monolitica, nella pratica infatti esiste uno spettro ampio di approcci, dal completo affidamento all'AI fino alla supervisione attenta di ogni riga generata. Capire dove ci si posiziona su questo spettro è fondamentale per gestire rischi e aspettative.

In pratica lo spettro si articola su tre posizioni principali. Nella prima posizione l'AI funziona come assistente di scrittura, genera il codice ma l'utente lo rivede e lo comprende. Nella seconda posizione l'AI opera come un collega junior, produce soluzioni complete che l'utente valuta nel loro funzionamento senza necessariamente leggere ogni riga. Nella terza posizione, quella del vibe coding puro, l'utente descrive il risultato desiderato e accetta ciò che l'AI produce senza entrare nel merito tecnico.

I rischi si concentrano in modo prevedibile. Nella prima posizione sono minimi, perché la comprensione del codice consente di individuare problemi. Nella seconda posizione i rischi crescono, soprattutto per questioni non visibili nel funzionamento esterno, come vulnerabilità di sicurezza o gestione inefficiente dei dati. Nella terza posizione i rischi sono massimi, perché l'assenza di verifica rende invisibili anche problemi gravi.

Questo manuale parte dalla terza posizione, quella più naturale per un non-sviluppatore, e accompagna progressivamente verso la seconda. L'obiettivo non è trasformare il lettore in uno sviluppatore, ma fornirgli gli strumenti per valutare ciò che l'AI produce e per riconoscere le situazioni che richiedono attenzione.

Perché è rilevante per i non-sviluppatori

Per creare codice fino al 2024 servivano competenze di programmazione o un budget per commissionare il lavoro a chi le possedeva. Oggi un professionista in qualsiasi campo può descrivere uno strumento di cui ha bisogno e vederselo costruire in tempo reale.

Kevin Roose, giornalista del New York Times, ha introdotto il concetto di software for one per descrivere questa nuova categoria di software. Si tratta di strumenti creati da una singola persona per risolvere un proprio problema specifico, senza alcuna pretesa di distribuzione commerciale. Un foglio di calcolo non basta, un'applicazione professionale è eccessiva, e allora si costruisce esattamente ciò che serve. È forse l'applicazione più immediata del vibe coding per i professionisti, e nella pratica è spesso il punto di partenza.

L'esperienza di chi lavora con questo approccio su progetti di natura diversa suggerisce però che il quadro è più ampio di quanto il termine "vibe coding" lasci intendere. C'è un aspetto che spesso sfugge nella discussione, cioè il fenomeno non riguarda solo la programmazione. Delle due parole che compongono il termine, quella che porta il peso concettuale è "vibe", non "coding". Il coding è il dominio di applicazione, il vibe è il metodo. E quel metodo, la delega alla macchina di un compito produttivo con gradi variabili di specifica e di controllo, si applica già oggi alla scrittura, al design, all'analisi dati, alla produzione di contenuti.

Chi lavora con l'AI per scrivere testi si muove sullo stesso spettro descritto nella sezione precedente. Al livello più basso c'è chi incolla un prompt generico e pubblica il risultato senza rileggere. Al livello intermedio c'è chi dà istruzioni più precise, rilegge e aggiusta. Al livello più alto c'è chi configura l'AI con istruzioni di stile precise, fornisce specifiche dettagliate e rivede ogni passaggio.
Come si vede è lo stesso identico spettro del vibe coding, applicato a un dominio diverso.

Questa osservazione ha una conseguenza pratica importante per il lettore di questo manuale. È probabile che stia già utilizzando un approccio "vibe" nel proprio campo professionale, senza chiamarlo così. Il passaggio al vibe coding è dunque un'estensione di un metodo già familiare, non l'adozione di qualcosa di completamente nuovo.

La differenza critica nel passare da un dominio all'altro sta nel tipo di controllo che si è in grado di esercitare. Il controllo sul lavoro dell'AI opera su due livelli distinti. Il primo è l'analisi del meccanismo, leggere il codice generato, comprenderne la struttura, individuare vulnerabilità o inefficienze. Questo richiede competenza tecnica nel dominio e uno sviluppatore esperto lo fa naturalmente, così come uno scrittore professionista individua i problemi strutturali in un testo.

Il secondo livello è il test del risultato. L'applicazione fa quello che è stato chiesto? Funziona con input diversi? Produce effetti non richiesti? Questo tipo di controllo non richiede competenza di programmazione ma richiede sapere cosa si è chiesto, sistematicità nel provare casi diversi e attenzione agli effetti collaterali. Il test del risultato è sempre importante, ma diventa lo strumento di controllo principale quando non si è in grado di analizzare il meccanismo sottostante. Meno si padroneggia il dominio, più il test sistematico del risultato diventa essenziale. Per chi si avvicina al vibe coding senza esperienza di programmazione, imparare a testare efficacemente è una competenza centrale, ed è uno dei percorsi principali di questo manuale.

Va anche notato che il vibe coding non è un approccio riservato ai principianti. Sviluppatori esperti lo hanno adottato con entusiasmo, riconoscendo che ridefinisce il modo di lavorare di chi il codice lo sa già scrivere. La competenza non diventa superflua ma cambia forma, dal saper scrivere codice al saper dirigere un'AI che lo scrive.

Le aspettative, tuttavia, vanno calibrate. La complessità dei progetti raggiungibili si distribuisce su livelli distinti. Progetti semplici come landing page, calcolatrici specializzate e utility a funzione singola si completano in ore. Progetti di media complessità come dashboard, applicazioni CRUD e prototipi di SaaS richiedono giorni o settimane di lavoro. Progetti complessi con autenticazione, pagamenti e integrazioni multiple richiedono settimane di impegno costante e restano oltre il perimetro sicuro del vibe coding senza supervisione professionale, come pure le applicazioni enterprise e tutto ciò che gestisce dati sensibili.

La distanza tra "funziona per me sul mio computer" e "è pronto per essere usato da altri" è il punto che più spesso viene sottovalutato. Un'applicazione può comportarsi correttamente in fase di test e presentare problemi con dati reali, con utenti simultanei, con condizioni impreviste. Questo non deve scoraggiare ma è un passaggio da valutare con molta attenzione, ciascun livello di complessità ha il suo contesto d'uso legittimo.

Dal vibe coding all'agentic engineering

L'evoluzione del pensiero di Karpathy è istruttiva, avendo proposto come successore naturale del vibe coding quello che ha chiamato agentic engineering. La definizione che ne dà è precisa, "agentic" perché nella pratica corrente non si scrive più il codice direttamente nel 99% dei casi ma si orchestrano agenti AI che lo fanno, "engineering" per sottolineare che esiste un'arte, una scienza e una competenza specifica nel farlo bene.

Il passaggio di nomenclatura non è cosmetico, il vibe coding evidenzia l'andare oltre il controllo stretto linea per linea di codice ("dimenticati che il codice esiste"), l'agentic engineering enfatizza la supervisione intelligente e di conseguenza il ruolo di regista dell'utente.

Un dettaglio significativo completa il quadro. Per il suo progetto più recente, Nanochat, Karpathy ha scelto di scrivere il codice interamente a mano, osservando che gli agenti AI non funzionavano ancora abbastanza bene per quel tipo di lavoro. L'inventore del vibe coding ha dunque scelto il coding tradizionale quando la posta in gioco era alta. Non è una contraddizione ma una conferma, lo strumento va scelto in base al contesto.

Questo manuale usa "vibe coding" nel titolo perché è il termine che il pubblico cerca e riconosce. Il percorso che propone, tuttavia, accompagna il lettore dal vibe coding verso un approccio più vicino all'agentic engineering, dove la fiducia nell'AI si combina con la capacità di valutare i risultati e di intervenire quando necessario.