“Mi spiace, non posso aiutarti con questo problema, non so programmare”. Quante volte abbiamo pronunciato o sentito questa frase? Il confine tra chi può e chi non può creare software è sempre stato netto, invalicabile. Fino ad ora. Il vibecoding (un termine coniato dal ricercatore Andrej Karpathy, che non è proprio un desso avendo Co-fondato OpenAI) sta capovolgendo questo paradigma con la forza di un terremoto.
Io stesso ho trascorso gli ultimi mesi a costruire app che analizzano il contenuto del mio frigorifero, trascrivono podcast e organizzano i miei bookmark sui social media. Tutto questo senza scrivere una sola riga di codice. L’intelligenza artificiale ha trasformato la programmazione da una disciplina tecnica in un processo quasi conversazionale, dove l’idea conta più della sintassi e della logica algoritmi ca. Ovviamente non è tutto oro quello che luccica, e ovviamente non è tutto perfetto. Ma sorprende, e non poco.
Confessioni di un (non) programmatore
Perdonate la brutta espressione, ma devo dirla: io con la programmazione sono una fava. Non ho mai scritto una riga di Python. No, non conosco JavaScript. Non distinguo C++ da un’equazione matematica particolarmente complicata. A parte qualche momento della mia adolescenza in cui ho smanettato con basic, html, Asp, php, siti web e animazioni Flash (ah, i bei tempi!), non sono mai stato un ingegnere del software né aspiro a lasciare i mondi della pubblicità e del giornalismo per una carriera nel settore tech.
Eppure, negli ultimi mesi mi sono ritrovato a programmare come un forsennato. O meglio, a far programmare come un forsennato qualcun altro per me: un instancabile assistente digitale che non chiede pause caffè e non si lamenta quando cambio idea per la quinta volta. È come avere un genio della lampada tecnologico: esprimo un desiderio e lui lo realizza, anche se a volte interpreta le mie richieste in modi… creativi.
E non sto parlando di quelle app “fai-da-te” con interfacce drag-and-drop che ti permettono di creare versioni semplificate di quello che hai in mente. No, sto parlando di strumenti complessi e personalizzati, creati su misura per risolvere problemi specifici della mia vita quotidiana. Il tutto grazie a questa nuova tendenza chiamata vibecoding.
Cos’è il vibecoding (e perché dovrebbe interessarvi)
Il termine “vibecoding” potrebbe suonare come l’ennesimo neologismo tech destinato a scomparire tra qualche mese. Ma dietro questa parola si nasconde una tendenza che sta cambiando radicalmente il modo in cui creiamo software.
In parole povere, il vibecoding consiste nel costruire applicazioni funzionanti semplicemente descrivendo ciò che si desidera a un’intelligenza artificiale. “Computer! Programma questo & quello!” (ma quanto mi piace Star Trek?) Niente conoscenze tecniche, niente linguaggi di programmazione, niente frustrazione per quel maledetto punto e virgola mancante che fa impazzire il compilatore. Solo un’idea, e ovviamente la pazienza di guidare l’AI attraverso il processo creativo.
Come ha scritto lo stesso Karpathy: “Non è davvero programmazione. Vedo cose, dico cose, eseguo cose e faccio copia-incolla di cose, e per lo più funziona”. Una descrizione che farebbe rabbrividire qualsiasi purista della programmazione, ma che cattura perfettamente l’essenza di questo nuovo approccio: l’idea conta più del codice, la visione più della tecnica. È un po’ come se anziché imparare una lingua straniera, avessimo improvvisamente a disposizione un traduttore simultaneo così bravo da farci sembrare perfettamente fluenti. No, l’esempio non calza.
Il mio laboratorio di creazioni digitali
Tra le mie creazioni degli ultimi mesi, posso annoverare strumenti che farebbero sorridere (o forse rabbrividire) qualsiasi sviluppatore professionista. Ho costruito un’app che trascrive e riassume podcast lunghi, per quelle volte in cui non ho tempo di ascoltare tre ore di conversazione per estrarre i 10 minuti (o gli argomenti specifici) che mi interessano davvero.
Ancora: ho creato uno strumento che organizza i miei segnalibri sui social media in un database interrogabile, perché apparentemente salvare contenuti interessanti senza mai rivederli è uno dei miei hobby preferiti. Ho perfino sviluppato una web app che mi dice se un mobile entrerà nel bagagliaio della mia auto (si, sto traslocando), risparmiandomi quella scena imbarazzante al negozio di arredamento in cui mi ritrovo a fare calcoli approssimativi con le braccia allargate. Mentre mia moglie mi guarda come ogni moglie dovrebbe fare con suo marito: cioè come si guarda un cretino.
E sono sempre la fava di prima, il che vi fa capire che il vibecoding, forse, ha molto senso di esistere.
Come funziona il vibecoding
Gli strumenti di coding AI esistono da anni. I primi, come GitHub Copilot, erano progettati per aiutare i programmatori professionisti a lavorare più velocemente, completando le loro righe di codice nello stesso modo in cui ChatGPT completa una frase. Serviva comunque saper programmare per sfruttarli al meglio e intervenire quando l’AI si inceppava.
Negli ultimi anni sono emersi nuovi strumenti costruiti per sfruttare modelli di intelligenza artificiale più potenti, che permettono anche ai neofiti di programmare come professionisti. Nomi come Cursor, Replit, Bolt e Lovable sono diventati i nuovi migliori amici degli “sviluppatori per caso”.
Il processo è quasi ipnotico: inserisci una descrizione del problema che vuoi risolvere, e l’AI inizia a lavorare. Righe misteriose di codice scorrono sullo schermo, e pochi secondi dopo (se tutto va bene) emerge un prototipo più o meno funzionante. Puoi suggerire modifiche e revisioni, e quando sei soddisfatto, puoi pubblicare il tuo nuovo prodotto sul web o eseguirlo sul tuo computer.
Il mio esperimento con il frigorifero
Voglio raccontarvi come è nata una piccola app DEL TUTTO INUTILE (nel senso che potrei fare questa cosa a mano, ma volevo vedere l’effetto che fa), così potrete capire quanto sia sorprendente e a tratti sconcertante questo processo.
Ho chiesto a Bolt di costruirmi un’app che potesse aiutarmi a preparare il cestino per mia figlia, basandosi su una foto del contenuto del mio frigorifero.
L’app ha prima analizzato il compito e lo ha scomposto in parti. Poi si è messa all’opera generando un’interfaccia web di base, scegliendo uno strumento di riconoscimento delle immagini per identificare gli alimenti nel mio frigorifero e sviluppando un algoritmo per raccomandare pasti basati su quegli ingredienti.
Quando l’AI aveva bisogno che prendessi una decisione (se volevo che l’app elencasse i valori nutrizionali dei cibi che stava consigliando, per esempio) mi proponeva diverse opzioni. Poi tornava a scrivere codice. Quando incontrava un intoppo, cercava di debuggare il proprio codice o tornava al passaggio precedente e provava un metodo diverso.
Circa 10 minuti dopo aver inserito la mia richiesta, l’app era pronta. Mi ha suggerito un generico panino alla fesa di tacchino. Non esattamente una rivelazione culinaria, lo ammetto, ma considerando che l’alternativa sarebbe stata aprire il frigorifero e fissarne il contenuto per 15 minuti prima di optare… per il panino alla fesa di tacchino, direi che è anche inutile, n mio caso. Però, ripeto, sorprende. E di certo qualcuno con più fantasia di me può tirarne fuori grandi cose. Tutto magnifico allora? Beh, beh.
Quando le cose non vanno come previsto
Non tutti i miei esperimenti di vibecoding sono stati coronati da successo. Da settimane sto cercando di costruire un “pilota automatico per la posta in arrivo” capace di rispondere automaticamente alle mie email, imitando il mio stile di scrittura. Ho incontrato ostacoli quando ho tentato di integrare flussi di lavoro AI in app come Google Photos e iOS Voice Memos, che non sono progettate per funzionare bene con add-on di terze parti.
E, naturalmente, l’AI talvolta commette errori. Una volta, quando ho cercato di trasformare un lungo articolo che avevo scritto in un sito web interattivo, l’AI ha incluso circa metà del testo e omesso l’altra metà.
Il vibecoding, in altre parole, trae ancora beneficio dalla supervisione umana, o almeno dalla presenza umana nelle vicinanze. Ed è probabilmente meglio per progetti hobbistici, non per compiti essenziali. Un po’ come quando lasci guidare un adolescente: meglio essere seduti sul sedile del passeggero, pronti a intervenire.
Questo, però, potrebbe non essere vero ancora per molto.
Il futuro dei programmatori (e dei non programmatori)
Molte aziende di AI stanno lavorando su “agenti del software” che potrebbero sostituire completamente i programmatori umani. Già oggi l’AI sta ottenendo punteggi di livello mondiale nei test di programmazione competitiva, e diverse grandi aziende tech, inclusa Google, hanno esternalizzato una grossa fetta del loro lavoro di ingegneria a sistemi AI.
Sundar Pichai, CEO di Google, ha recentemente dichiarato che il codice generato dall’AI costituisce più di un quarto di tutto il nuovo codice implementato in Google. Una statistica che, ne sono certo, aiuta i programmatori di Google a dormire sonni tranquilli.
Se fossi un programmatore junior (il tipo che l’AI sembra più probabile sostituire) potrei essere nel panico riguardo alle mie prospettive di lavoro. Ma sono solo un tipo a cui piace armeggiare e costruire strumenti che migliorano la mia vita in piccoli modi. E il vibecoding è un’area in cui l’AI sta indiscutibilmente migliorando.
La rivincita dei creatori dilettanti
Da quando ho parlato della mia esperienza di vibecoding in alcuni tra i canali di Futuro Prossimo, ho ricevuto mail da una dozzina di altre persone che hanno costruito i propri strumenti con l’assistenza dell’AI. “Colleghi” fave come me (qualcuno più bravo, devo dire) mi hanno raccontato delle app nutrizionali che hanno creato per aiutarli a seguire le loro diete, o degli strumenti che stanno usando per riassumere le newsletter che ricevono via email.
La cosa interessante è che nessuno di loro sarebbe stato in grado di creare questi strumenti senza l’AI, a meno che non avessero deciso di intraprendere una nuova carriera come sviluppatori.
Come la mia app del panino alla fesa di tacchino, pochi di questi strumenti sono trasformativi di per sé. Ciò che è nuovo e degno di nota è che con pochi tasti, dei dilettanti possono ora costruire prodotti che in precedenza avrebbero richiesto piccoli team di sviluppo composti da gente “seria”. È come se improvvisamente chiunque potesse costruirsi una macchina su misura nel proprio garage, senza dover studiare ingegneria meccanica. Bello, e anche brutto se ci pensate. Brutto per chi?
Le implicazioni di un mondo “codardo” dal Vibecoding
Non sono ingenuo riguardo all’AI, né cieco agli effetti che le app di coding AI potrebbero avere sulla società se continuassero a migliorare. Penso sia possibile che un’AI che automatizza la creazione di software utile possa anche automatizzare la creazione di codice malevolo, o persino portare ad attacchi informatici autonomi. E mi preoccupa, ovviamente e tanto, che l’ingegneria del software sia solo la prima professione white-collar a sperimentare gli effetti di sostituzione del lavoro degli strumenti AI.
È come avere un genio della lampada che può esaudire qualsiasi desiderio, ma con la consapevolezza che potrebbe interpretare le tue richieste in modi inquietanti. “Voglio un’app che mi aiuti a gestire meglio il mio tempo” potrebbe trasformarsi in un sistema di sorveglianza che ti manda notifiche passive-aggressive ogni volta che passi più di 5 minuti sui social media.
Per ora, costruire app per automatizzare compiti fastidiosi o dispendiosi in termini di tempo nella mia vita mi sembra un uso dell’AI buono come un altro. Quindi continuerò a fare vibecoding, almeno fino a quando mia figlia non sarà in grado di prepararsi da sola il panino alla fesa di tacchino. O fino a quando l’AI non deciderà che ha cose migliori da fare che aiutarmi a decidere se mettere la mela o la banana nel suo cestino del pranzo.
E agli sviluppatori professionisti là fuori, voglio dire: i vostri posti di lavoro sono al sicuro. Per ora. Perché se c’è una cosa che ho imparato dal mio viaggio nel vibecoding, è che c’è ancora un abisso tra ciò che un dilettante può costruire con l’aiuto dell’AI e ciò che un team di ingegneri esperti può creare. Parola di fava.
Quell’abisso, però, si sta restringendo. E lo sta facendo più velocemente di quanto molti di noi pensassero possibile.