Vibe Coding: tutti possono diventare programmatori grazie all'Intelligenza Artificiale?
Il "vibe coding" rivoluziona la programmazione grazie all’AI: i Large Language Model (LLM) permettono di scrivere codice da semplici descrizioni testuali. Ma tutti possono diventare programmatori? Un approfondimento.

Negli ultimi tempi si parla sempre più spesso di "vibe coding", un termine introdotto da Andrej Karpathy, co-fondatore di OpenAI ed ex direttore dell'IA di Tesla. Questo nuovo approccio alla programmazione utilizza modelli di linguaggio di grandi dimensioni (LLM) per generare codice direttamente da semplici descrizioni in linguaggio naturale (prompt). In sostanza, anziché scrivere manualmente ogni singola riga di codice, ci si affida sempre più all'intelligenza artificiale, che interpreta le nostre richieste e genera autonomamente il codice necessario, permettendo agli sviluppatori di risparmiare tempo prezioso e focalizzarsi sugli aspetti strategici e creativi.
Recentemente, Dario Amodei, CEO di Anthropic, ha fatto una previsione forte durante un intervento al Council on Foreign Relations:
In soli tre o sei mesi, l’intelligenza artificiale scriverà il 90% di tutto il codice prodotto. Tra 12 mesi, potremmo trovarci in un mondo in cui l’AI scriverà essenzialmente tutto il codice.
Questa affermazione evidenzia la rapidità con cui il settore sta evolvendo e l'importanza per sviluppatori e aziende di adattarsi rapidamente a questa nuova realtà tecnologica.
Recentemente, ho avuto l'occasione di approfondire questo argomento durante la trasmissione Progress su Sky TG24, dove ho discusso di come questi strumenti stiano trasformando radicalmente lo sviluppo software e di come sia necessario affrontare con consapevolezza le sfide poste da questa innovazione.
Un estratto dalla trasmissione
Il servizio completo sui canali di Sky TG24
Vibe Coding: come cambia il ruolo degli sviluppatori
L’intelligenza artificiale non sostituisce necessariamente gli sviluppatori, ma ne trasforma profondamente il ruolo, permettendo loro di operare più velocemente e di concentrarsi maggiormente sulla creatività e sulla risoluzione di problemi complessi. Personalmente ho sperimentato quanto questi strumenti possano incrementare la produttività: utilizzando assistenti basati su LLM, ad esempio, ho sviluppato sistemi di analisi predittiva delle prenotazioni turistiche, script per l'ottimizzazione di campagne marketing e sistemi multi-agente per traduzioni avanzate, già in uso in produzione.


Questi strumenti, ormai integrati nel lavoro quotidiano, hanno dimostrato chiaramente la loro efficacia e capacità innovativa.
Editor avanzati e AI: il futuro del coding?
Oggi esistono già editor specializzati come Cursor e Augment, progettati per sfruttare pienamente le potenzialità dell’AI. Credo che, nel prossimo futuro, tutti gli sviluppatori useranno questo tipo di supporto, soprattutto se consideriamo i modelli di linguaggio che sono stati rilasciati recentemente, che sono estremamente performanti in quest’ambito.
Un'introduzione a Cursor
Questi strumenti sono connessi con l'intera codebase, cioè con ogni elemento che compone le applicazioni in sviluppo, permettendo un livello di assistenza e automazione senza precedenti. Tuttavia, ciò non elimina il bisogno di competenze tecniche, ma potenzia significativamente quelle esistenti, offrendo suggerimenti innovativi, anticipando potenziali problemi, risolvendo eventuali bug, e proponendo soluzioni rapide ed efficienti.
L'AI non genera skill, ma potenzia ed estende competenze già consolidate.
Chiunque può davvero diventare programmatore?
Uno degli aspetti più discussi riguardo al "vibe coding" è se davvero consenta a chiunque di diventare programmatore, senza alcuna preparazione specifica. La risposta non è semplice, e va scomposta in scenari.
Finché si tratta di sistemi molto semplici, chiunque può usare l’AI per sviluppare. Per una demo, ad esempio, ho usato Gemini 2.0 di Google per creare un sistema (con interfaccia grafica) che permette di caricare un PDF e di scegliere un range di pagine, per scaricare una porzione del documento. In questo caso, non servono particolari competenze per descrivere al modello le azioni da compiere. Tale lacuna, però, determina l'assenza di consapevolezza rispetto al codice sviluppato. Tuttavia, in questo caso, siamo in una situazione a "rischio zero": si tratta di uno script che viene usato in locale per un processo personale.




Un esempio di semplice applicazione sviluppata attraverso Gemini 2.0 di Google
Lo sviluppo di applicazioni più strutturate, che vengono distribuite pubblicamente, e che quindi devono essere affidabili e sicure, invece, richiede una competenza tecnica approfondita, indispensabile sia per fornire all'AI istruzioni dettagliate, sia per assicurare la qualità e la sicurezza del prodotto finale.
Nel mio sistema predittivo, ad esempio, ho fornito al modello specifiche precise: come trattare i dati, come "pulirli", il tipo di rete neurale da usare, la struttura della rete, i processi da compiere, ecc..
In altre parole..
L'AI democratizza l'accesso al coding, ma non elimina la necessità di competenze specialistiche.
Quello che segue è un altro esempio di utilizzo di Gemini 2.5 (rilasciato dopo la pubblicazione di questo post) in cui mostro delle semplici interazioni per generare codice.
Gemini 2.5: test del modello
I modelli diventano sempre più potenti, e il supporto agli sviluppatori sempre più efficace.
Perché resta cruciale il ruolo umano
Nonostante l’AI sia impressionante nella generazione del codice e nell'automatizzazione dei processi, il ruolo umano resta cruciale, soprattutto in due fasi fondamentali: progettazione e controllo. Solo chi possiede solide competenze tecniche può fornire all'intelligenza artificiale istruzioni accurate per creare software complessi. Inoltre, l'intervento umano è indispensabile per garantire qualità, sicurezza e affidabilità, assicurando che il risultato finale rispetti standard e aspettative. Distribuire software senza una completa consapevolezza del suo funzionamento sarebbe irresponsabile e rischioso.
Questo non significa che questi sistemi non sarebbero in grado di procedere autonomamente su molti aspetti: sistemi come Devin, ad esempio, sono impressionanti.. e magari possono dare moltissimi spunti interessanti e suggerire soluzioni alle quali non avevamo pensato. Ma è fondamentale avere consapevolezza di ogni singolo passaggio che l’algoritmo compie.
Devin: un AI software engineer
Come amo dire spesso attraverso una metafora, abbiamo leve potentissime che ci permettono di spostare grandi massi, ma decidere dove spostarli rimane un compito esclusivamente umano. Competenze come la capacità critica, la valutazione dei rischi, la comprensione profonda delle esigenze degli utenti e l'etica restano essenziali per utilizzare la tecnologia in modo sicuro e vantaggioso.
L'AI come postbruciatore per piloti esperti
Mi piace paragonare l'intelligenza artificiale nello sviluppo software al postbruciatore di un moderno jet militare: un incredibile potenziamento, che solo un "pilota esperto" sa sfruttare pienamente e in sicurezza.
L'AI amplifica competenze esistenti, ma
non le sostituisce completamente (oggi).
- GRAZIE -
Se hai apprezzato il contenuto, e pensi che potrebbe essere utile ad altre persone, condividilo 🙂