top of page

Vibe Coding - Storie di vita vissuta - Parte 1

Immaginate di sedervi con un caffè in mano, scrivere un paio di frasi e vedere un’intera applicazione prendere forma davanti ai vostri occhi. Design, database, autenticazione, documentazione, codice al sicuro – tutto pronto in meno tempo di quanto ne serva per una call inutile su Teams.

Fantascienza? No, è Vibe Coding.



Il termine "vibe coding" è stato coniato da Andrej Karpathy, un ingegnere AI che ha lavorato in Tesla e OpenAI. Nel febbraio 2025, Karpathy ha descritto in un tweet il suo nuovo modo di programmare, in cui si "abbandona alle vibrazioni" e alla potenza dell'AI, lasciando che l'AI gestisca i dettagli del codice. Il vibe coding rappresenta un cambio di paradigma: invece di scrivere codice riga per riga, si interagisce con l'AI in modo iterativo e conversazionale, descrivendo l'obiettivo e affinando il codice generato attraverso un dialogo continuo.


Da mesi ormai sto sperimentando questo nuovo modo di lavorare e finalmente posso raccontarvi cosa significa vivere questa esperienza da dentro da parte di chi è nel mondo dello sviluppo da quando aveva 13 anni.


Vibe Coding: scrivi un prompt, ottieni un software

La scena è questa: aprite un tool di AI, descrivete cosa volete in linguaggio naturale e lui sputa fuori codice. Bello, pulito, organizzato. Se serve modificarlo, basta aggiungere dettagli nei prompt successivi. Se ci sono errori, si correggono con un altro input.

E, in qualche iterazione, avete il vostro software funzionante.


Sembra magia. Ma lo è davvero? La risposta breve è: dipende. 🤷‍♂️


Ad esempio l'app che vedete in questo video è stata fatta in 25 minuti. Sotto vi racconto come.



Se sapete cosa state facendo, è un superpotere!


Se non avete esperienza, è un’arma a doppio taglio. Vi lascio con un mio post recente sui ruoli dell'AI.

Come sempre, la differenza la fa chi sta ai comandi. 


L’AI è uno strumento che amplifica le competenze di chi la usa: chi ha esperienza e una chiara visione del progetto può ottenere risultati incredibili. Chi parte da zero rischia di creare mostri di codice che crollano alla prima riga di input sbagliata.


E allora che succede? Che impariamo! Sbagliando, correggendo, riprovando. E qui viene il bello: il coding sta diventando accessibile a tutti.


Breve storia personale

Tanti anni fa, stavano finendo gli anni '90, quando ero ancora un 'bubbez', vista la mia fase divulgativa dello sviluppo applicativo in Microsoft, mi venne chiesto di fare un workshop di due mesi ad un team di C-Level di una grande società finanziaria italiana. Obiettivo? Insegnare loro le basi dei database con Access, nuovo nato di casa Microsoft, e della programmazione, sempre in Access, con VBA. Le 'vibes' in quel tempo erano che grazie agli strumenti visuali 'chiunque' avrebbe potuto iniziare a programmare. Però spiegare il concetto di form, eventi, macro, codice, a quel tempo vi garantisco non era semplice. Spiegarlo a dei manager di età media tra i 40 e i 55 anni lo era ancora meno.

Ma in due mesi siamo riusciti a sviluppare assieme un'app per aggregare e riclassificare i bilanci di 5 società del gruppo.

Ricordo perfettamente che avevano scelto da soli, coscientemente, di infilarsi in un buco nero come quello della programmazione. E mentre all'inizio erano tutti spaesati, dopo qualche settimana iniziavano tutti a mostrarmi le loro procedure, le loro query, i report che stavano facendo e ne è uscito un progetto che è durato per qualche anno. Solo un paio di loro sono andati avanti a sviluppare, in Access, ulteriori tool. Ma non dimenticherò mai l'entusiasmo, la voglia di mettersi in gioco, le difficoltà di capire quanto un database, seppur semplice come quello di Access, sia molto più complesso di un file Excel, di quanto brillassero loro gli occhi quando erano diventati autonomi nell'estrarre dati per loro preziosissimi che prima dovevano richiedere settimane perché 'l'EDP' preparasse loro qualcosa di tangibile. Da allora è passato molto tempo, l'informatica si è complicata molto, e ho trovato raramente manager, ad ogni livello, in grado e con la voglia di svilupparsi i propri tool.

Nel frattempo pure io avevo smesso di programmare e, vi confesso, ne ero felice. Perché per quanto lo sviluppo sia sempre stata la mia passione da quando avevo 12 anni, era diventato tutto molto complicato e, probabilmente, la mia pazienza e la mia mente erano in declino.


Ma oggi quelle vibes sono tornate, amplificate

Quando è uscito GPT-3, oltre a provare a chiedergli 'le solite cose' ho provato subito a farmi produrre codice. Ma era tutto troppo difficile, di nuovo. Anche con ChatGPT, con le varie versioni successive che miglioravano di molto la qualità del codice, eravamo nel 'Copy&Paste Development': si chiede a ChatGPT (o a uno dei suoi competitor) di produrre del codice, lo si copia in un editor, lo si testa, si verificano gli errori. Si copiano gli errori e si re-incollano nella chat, lui ci risponde con del codice nuovo, che proviamo, senza leggerlo, ad incollare dall'altra parte, il tutto in un ciclo infinito a bassa produttività.

Poi sono arrivati i copiloti che forniscono, dentro ad un ambiente di sviluppo, una chat che legge in tempo reale il codice che viene scritto, è in grado di modificarlo, è in grado di completarlo e suggerire modifiche. Strumenti più o meno interessanti come Copilot di GitHub, Cursor, fino ad arrivare a plugin estremamente potenti come Cline o Roo Code che sono, almeno per me, disarmanti per quanto riescono a darmi di nuovo la capacità di generare codice e applicazioni anche molto complesse senza che io sia necessariamente esperto di quel linguaggio o di quella tecnologia.


Cosa ci ho fatto?

  • Dashboard per analisi di mobilità dolce con Green Ride

  • App per generare contenuti strutturati in più lingue e seguendo linee di brand voice molto serrate

  • Chat con LLM, per capire dietro le quinte come funzionino.

  • Assistenti personali che hanno accesso alla mia telecamera e al microfono, e al mio schermo, che posso interrogare a voce su quello che sto facendo per ottenere risposte, suggerimenti, consigli

  • Analisi di video in real time che riconoscono volti, persone e animali, connesse alla telecamera esterna di casa mia, con il prossimo obiettivo che mi riconoscano e mi facciano entrare in casa senza che io debba usare le chiavi e che mi dicano se l'antifurto, di notte, quando piove, è suonato a causa del gatto che è passato davanti al sensore per ripararsi.

  • Analisi di tutti i miei bookmark internet storici, classificazione e creazione di un archivio che posso interrogare tramite LLM

  • Tutto quello che trovate su AI Cookbook su 01Net è stato fatto sostanzialmente in questo modo: creare Podcast, trascrivere riunioni, lavorare con testi lunghi e molto molto altro. Mi fermo...

Per un 'ex-geek' come me è stata una fase fantastica: avevo a disposizione un sacco di 'Stagisti AI' che mi aiutavano a tornare a programmare. Ovvero: io facevo l'analisi e davo le specifiche, loro programmavano, io controllavo, mi lamentavo che non funzionavano, mostravo ai miei colleghi cose fantastiche ecc.

E le Vibes di quegli anni '90' sono veramente esplose, nel frattempo, a chiunque si sia avvicinato a questi strumenti.


Cosa mancava

Tutto filava liscio quando si trattava di prototipare e creare app personali. Le soluzioni erano varie:

  • Molte giravano direttamente da riga di comando

  • Alcune offrivano una GUI desktop minimale

  • Altre vivevano nei notebook Colab, perfette per test veloci

  • Qualcuna si spingeva fino a una vera interfaccia web. Ma erano, e sono mondi complessi.

Il problema principale del Copy&Paste coding, anche in presenza di Copiloti, è però il fatto che è difficile, se non si è tecnici, rilasciarle in ambienti di produzione (deploy) Tutte hanno bisogno di essere rilasciate in luoghi idonei, di avere dietro un'architettura che le supporti, che dia sicurezza ecc.

Temi che avrei potuto tornare a fare con il Copy&Paste coding ma che mi avrebbero richiesto molto tempo e, dato che erano tutte applicazioni personali che giravano sul mio Mac, o che dovevo distribuire a poche persone, non ci ho mai investito troppo tempo. Ma ho imparato un sacco di cose sul lato tecnico che, almeno, mi permettono di parlare con i tecnici con maggior consapevolezza di potenzialità e limiti degli strumenti che utilizzano loro. (In realtà non ero per nulla arrugginito su questi concetti, ma non posso fare tutto 😀)


Nel frattempo...

Si è visto un progressivo rilascio di nuovi tool, sempre più semplici da usare e sempre più complessi come risultati generati. Strumenti che si fanno carico anche della messa in produzione di un'app, di gestire il sistema di sicurezza che ci sta dietro (autenticazione, gestione utenti ecc), di creare un database di appoggio, generare e ospitare funzioni web (per mandare mail, fare calcoli complessi ecc.)

Ho iniziato a giocare con una di queste, Lovable.dev, e... WOW! in 20 minuti avevo rifatto ChatGPT (versione 2022 però) completo di autenticazione, memorizzazione delle conversazioni, scelta di diversi modelli da usare.

  • Per l'articolo sugli agenti, in soli 7 passaggi ho sviluppato il paperclip maximizer.

  • Per un progetto in azienda, anziché fare il mockup, abbiamo sviluppato un'applicazione di test, funzionante, in 1 ora (tempo richiesto per i mockup almeno 1 settimana). Questo ci ha permesso di capire meglio le esigenze del cliente, le complessità di sviluppo e tarare di conseguenza la proposta (poi il software lo faremo 'come una volta')

  • Durante un workshop sull'ai abbiamo sviluppato un'applicazione mobile, per time tracking di contadini in vigna. In 15 minuti.

  • Un altro esempio lo trovate qui, su 01net, dove in 25 minuti ho messo in piedi un sistema di raccolta di feedback aziendali strutturato e funzionante, come prova il video.


E Lovable non é la classica super-funded-startup americana. Ma solo la startup europea cresciuta più velocemente nella storia.


I tool principali (secondo me)

Vi riporto qui le soluzioni principali, quelle su cui ho messo le mani anche se per poco tempo. Hanno tutte un bel po' di side effects e di caratteristiche interessanti.

Tool

Descrizione

Importanza nel Vibe Coding

Piattaforma di coding online con un assistente AI integrato che consente di creare e distribuire applicazioni dal browser.

Offre un ambiente di sviluppo completo e accessibile, ideale per chi si avvicina al vibe coding.

Editor di codice basato su VS Code con funzionalità di chat AI per generare e modificare codice tramite linguaggio naturale.

Permette un controllo preciso sul codice generato e si integra con un editor popolare come VS Code.

Piattaforma web che genera applicazioni full-stack da descrizioni in linguaggio naturale, con integrazione con Supabase per database e autenticazione.

Semplifica la creazione di prototipi e MVP, focalizzandosi sull'interfaccia utente e sull'esperienza utente.

IDE AI-native di Codeium che combina un assistente di codifica AI con la capacità di eseguire automaticamente attività come la modifica di più file o l'esecuzione di comandi.

Offre un'esperienza di "fusione mentale" con l'IA, gestendo il contesto del progetto e il refactoring.

Piattaforma che consente di eseguire, modificare e distribuire applicazioni web full-stack direttamente dal browser, con la possibilità di installare pacchetti ed eseguire backend.

Adatto per la prototipazione rapida e lo sviluppo di MVP, con un'interfaccia intuitiva e la possibilità di modificare il codice generato.

Assistente di codifica AI sviluppato da GitHub e OpenAI che funziona come estensione negli editor di codice e offre suggerimenti di codice in tempo reale e una modalità chat per domande di programmazione.

Utile per imparare a programmare e ricevere assistenza durante la scrittura del codice, con un'integrazione fluida negli editor più diffusi.

Plugin per VS Code che funge da assistente AI per lo sviluppo software, in grado di creare e modificare file, eseguire comandi nel terminale e utilizzare il browser.

Offre un approccio collaborativo allo sviluppo, consentendo di personalizzare il comportamento dell'IA e di integrare strumenti esterni tramite MCP.

Fork di Cline con funzionalità avanzate, come il supporto multi-modello, l'automazione potenziata dall'IA e funzionalità sperimentali.

Permette di creare "team di agenti" con prompt personalizzati per diversi ruoli (ad esempio, QA engineer, product manager) e offre un controllo granulare sul comportamento dell'IA.


Cosa sono i Plugin? Applicazioni di 'terze parti' che si installano in un ambiente esistente e lo potenziano attraverso l'utilizzo di Agenti AI specializzati nella programmazione. I due più potenti sono Cline e Roo Code. Entrambi open source, il secondo nato dal primo come 'fork' (avranno litigato, chissà). Sta di fatto che sono quelle che mi piacciono di più.


Date un'occhiata ad un momento di Deep Vibe Coding di qualche giorno fa sul mio Mac in cui sto usando tre diversi tool contemporaneamente (ma solo per fare effetto wow con voi 😀).





La parte bella

Semplificare l'accesso al coding, rendere l'inglese (o la lingua che vi piace di più), il miglior linguaggio di programmazione permette a chiunque

  • si sappia spiegare

  • abbia senso critico

  • sia dotato di logica

  • abbia qualcosa da fare


Di realizzare velocemente software, anche se magari solo a livello prototipale


Il fatto che lo sviluppo software sia più facile non significa che i programmatori moriranno, ma che più persone potranno avvicinarsi a questo mondo.


Chi è un programmatore più bravo di me (il 99,999999999%) ha ora a disposizione strumenti meravigliosi per potenziare il proprio lavoro ed essere ancora più bravo di prima.


Ma... ci sono un po' di effetti collaterali.


Ne parlo nei prossimi giorni, intanto iniziate a giocarci così vedremo se avrete anche voi le mie stesse impressioni.


A presto!!!


Massimiliano




Comentarios


bottom of page