{"id":98,"date":"2026-01-17T23:30:00","date_gmt":"2026-01-17T22:30:00","guid":{"rendered":"https:\/\/www.matteobononi.it\/blog\/?p=98"},"modified":"2026-01-17T23:30:00","modified_gmt":"2026-01-17T22:30:00","slug":"the-trace-controllo-caos-e-ia-appunti-da-un-progetto-inutile","status":"publish","type":"post","link":"https:\/\/www.matteobononi.it\/blog\/the-trace-controllo-caos-e-ia-appunti-da-un-progetto-inutile\/","title":{"rendered":"THE TRACE: Controllo, Caos e IA \u2014 Appunti da un Progetto Inutile"},"content":{"rendered":"\n<p>THE TRACE \u00e8 un piccolo progetto che avevo fatto nel 2016, quando lavoravo come consulente per un\u2019azienda che sperimentava con il **browser fingerprinting**. Era una prova personale, un modo per capire se si potesse riconoscere un dispositivo senza cookie, e come si potesse sfruttare quella cosa.<\/p>\n\n\n\n<p>Poi il tema \u00e8 passato in azienda, \u00e8 diventato serio, e il mio codice \u00e8 rimasto dov\u2019era: su un server FTP, insieme a tanti altri progetti iniziati e mai finiti. Ogni tanto li rivedo. Sono come dei fossili di idee: alcuni inutili, altri ancora belli, ma troppo complessi per rimetterci mano da soli.<\/p>\n\n\n\n<p>Dieci anni dopo, ho riaperto THE TRACE. Non per nostalgia, ma perch\u00e9 <em>ora \u00e8 possibile<\/em> rimettere mano a questi progetti con l\u2019aiuto dell\u2019IA. Cose che prima abbandonavi per complessit\u00e0 o pigrizia, oggi le puoi rifare in un pomeriggio. E il problema, paradossalmente, diventa l\u2019opposto: *non farle diventare troppo grandi.*<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Controllo e non controllo<\/h2>\n\n\n\n<p>Lavorare con l\u2019IA nel coding \u00e8 una di quelle esperienze che ti insegnano cosa vuol dire avere il controllo\u2026 e perderlo dopo cinque minuti. Funziona benissimo quando il piano \u00e8 chiaro, i file ci sono, e le istruzioni sono scritte. Ma appena qualcosa cambia \u2014 e qualcosa cambia sempre \u2014 il castello comincia a muoversi.<\/p>\n\n\n\n<p>Hai la sensazione di guidare, ma in realt\u00e0<strong> stai solo tenendo il volante mentre la macchina decide come sterzare.<\/strong> Metti paletti per darle una direzione, ma se sono troppo stretti si blocca; se sono troppo larghi, va dove non serve.<\/p>\n\n\n\n<p>La frustrazione nasce l\u00ec. Hai il potere, ma non il controllo. E ti rendi conto che tutto dipende da *come* decidi di lavorarci insieme.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prompt-way e Context-way<\/h2>\n\n\n\n<p>Col tempo ho capito che, nel coding con l\u2019IA, esistono due grandi approcci. Io li chiamo cos\u00ec, per comodit\u00e0:<\/p>\n\n\n\n<p><strong>Prompt-way<br><\/strong> \u00c8 quando spieghi tutto nel prompt. Dici esattamente cosa deve fare, passo per passo:<br> > \u201cCrea il modulo di login, scrivilo cos\u00ec, fai riferimento qua&#8230;.\u201d<br> > \u201cScrivi il test per l\u2019endpoint, considera che&#8230;, controlla che&#8230;\u201d<br> > \u201cAggiungi la validazione, ci sono questi casi particolari, etc.\u201d<\/p>\n\n\n\n<p>Funziona, ma \u00e8 faticoso. Ogni avanzamento richiede un prompt lungo, con dentro tutto il contesto, perch\u00e9 il modello non \u201cricorda\u201d come un umano. E ogni modifica ti costringe a riscrivere met\u00e0 delle istruzioni.<\/p>\n\n\n\n<p>\u00c8 il modo pi\u00f9 sicuro (boh, forse non saprei), ma anche il pi\u00f9 pesante. Se ti piace pianificare ogni dettaglio, \u00e8 perfetto. Se sei come me \u2014 curioso, ma pigro e caotico \u2014 dopo due prompt del genere ti passa la voglia.<\/p>\n\n\n\n<p><strong>Context-way<br><\/strong> L\u2019altro modo \u00e8 quello che uso di pi\u00f9. Preparo una serie di **file \u201cguardrail\u201d**, che definiscono il progetto ma non dicono *come* implementarlo. Tipo:<br> &#8211; `architecture.md` \u2192 le logiche generali, non il codice<br> &#8211; `plan.md` \u2192 gli sprint pianificati<br> &#8211; `agents.md` \u2192 le regole di comportamento<br> &#8211; `changelog.md` \u2192 cosa \u00e8 stato fatto e quando<\/p>\n\n\n\n<p>Questi file servono da **cornice mentale**. Poi basta un prompt minimale:<br>\n&gt; \u201cProcedi con lo sprint 1.\u201d<\/p>\n\n\n\n<p>E l\u2019IA lavora da sola, rispettando i limiti del contesto che ha letto. \u00c8 pi\u00f9 libera, pi\u00f9 autonoma, pi\u00f9 naturale. Quando funziona, \u00e8 bellissimo: tu osservi, lei costruisce. Ma non dura per sempre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quando il contesto si rompe<\/h2>\n\n\n\n<p>All\u2019inizio fila tutto liscio. Poi capita una di queste situazioni:<br>\n&gt; \u201cAh gi\u00e0, servirebbe anche una login.\u201d<br>\n&gt; \u201cAggiungiamo una dashboard utente.\u201d<br>\n&gt; \u201cCambiamo un pezzo di logica nel database.\u201d<\/p>\n\n\n\n<p>Piccole cose. All\u2019apparenza innocue. Solo che \u2014 se gliele chiedi *fuori contesto* \u2014 stacchi un filo importante.<\/p>\n\n\n\n<p>L\u2019IA fa il lavoro, ma non aggiorna i file di progetto. Non modifica `plan.md`, non riscrive `architecture.md`, e la prossima volta che le chiedi \u201cprocedi con lo sprint 5\u201d, lei riparte da una versione mentale vecchia del progetto. \u00c8 come se, nel frattempo, vi foste dimenticati di parlarvi.<\/p>\n\n\n\n<p>A quel punto hai due strade:<br>\n&#8211; rifare l\u2019allineamento (aggiornare tutti i file e ripartire),<br>\n&#8211; oppure lasciare correre e sperare che regga.  <\/p>\n\n\n\n<p>Io ho provato entrambe. La prima \u00e8 noiosa, ma sicura. La seconda \u00e8 un disastro quasi certo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Il caos non \u00e8 sparito, si \u00e8 solo spostato<\/h2>\n\n\n\n<p>Prima, il caos era nel codice. Oggi \u00e8 nel metodo. Non passo pi\u00f9 ore a sistemare funzioni, ma a capire *perch\u00e9* certe cose non tornano tra un prompt e l\u2019altro.<\/p>\n\n\n\n<p>Se lavori \u201ca prompt\u201d, rischi di perdere il quadro generale. Se lavori \u201ca contesto\u201d, rischi che il quadro si deformi da solo.<\/p>\n\n\n\n<p>Il trucco, almeno per ora, sta nel **colpire con equilibrio**: scrivere giusto quei due prompt o aggiornare quei due file che rimettono la rotta, senza bloccare il flusso. Non lo so fare bene, ma ci sto provando.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L\u2019ibrido (e la verit\u00e0)<\/h2>\n\n\n\n<p>Io non sono un esempio virtuoso. Non ho un metodo elegante o scientifico. Delego all\u2019IA la scrittura dei file, dei prompt e del codice. Io penso, guardo, e cerco di non far saltare tutto.<\/p>\n\n\n\n<p>Mi piace lavorare cos\u00ec perch\u00e9 **mi colma dove io sono carente** \u2014 nella struttura, nella coerenza, nella costanza. Mi lascia spazio per essere curioso, disordinato, ma comunque produttivo. E anche se sembra che abbia semplificato la vita, in realt\u00e0 ho solo spostato il caos da un posto all\u2019altro.<\/p>\n\n\n\n<p>Il caos adesso \u00e8 pi\u00f9 interessante, per\u00f2. Perch\u00e9 riguarda la comunicazione, non il codice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Postfazione: Non \u00e8 una lezione<\/h2>\n\n\n\n<p>Di tutte le cose che scrivo qui, ne faccio forse la met\u00e0. I miei prompt sono semplici, i piani li aggiorno quando mi ricordo, e a volte devo rifare da capo perch\u00e9 il contesto \u00e8 andato. Per\u00f2 funziona abbastanza per far nascere progetti veri. THE TRACE, ad esempio, l\u2019ho rifatto in meno di un giorno. E dieci anni fa mi sarebbero servite settimane.<\/p>\n\n\n\n<p>Non scrivo queste righe per insegnare niente. Le scrivo perch\u00e9, se anche tu lavori cos\u00ec \u2014 con un misto di fiducia, disordine e testardaggine \u2014 sappi che \u00e8 normale. Non c\u2019\u00e8 un modo giusto, solo modi che ogni tanto funzionano.<\/p>\n\n\n\n<p>E se leggendo pensi:<br>\n&gt; \u201cAh, anche questo tizio fa pasticci ma gli vengono fuori cose decenti,\u201d  <\/p>\n\n\n\n<p>allora va gi\u00e0 bene cos\u00ec.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>THE TRACE \u00e8 un piccolo progetto che avevo fatto nel 2016, quando lavoravo come consulente per un\u2019azienda che sperimentava con il **browser fingerprinting**. Era una prova personale, un modo per capire se si potesse riconoscere un dispositivo senza cookie, e come si potesse sfruttare quella cosa. Poi il tema \u00e8 passato in azienda, \u00e8 diventato [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":96,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59],"tags":[4,5,3],"class_list":["post-98","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esperimenti","tag-agentic-coding","tag-esperienze-personali","tag-intelligenza-artificiale"],"_links":{"self":[{"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/posts\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":1,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":99,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions\/99"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/media\/96"}],"wp:attachment":[{"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matteobononi.it\/blog\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}