Attention is all you need: questa è una lunga storia
E forse è proprio per questo che, in questi anni, non ho mai deciso di dedicare del tempo a scrivere due righe sull’incredibile rivoluzione tecnologica che stiamo vivendo, forse la più grande degli ultimi secoli.
Ho passato la maggior parte del tempo a osservare come le interfacce mutano, come la tecnologia si evolve; ho visto centinaia di professionisti appiccicarsi nuovi job title senza nemmeno capirli e ho cercato in ogni modo possibile di evitare l’inevitabile rumore mediatico attorno all’AI. Alcune volte con scarsissimi risultati e, lo ammetto, mi sono ritrovato più volte a litigare su Reddit su quale modello fosse “migliore” in un determinato momento.
Ho avuto il tempo di registrare qualche video durante i nostri incontri serali, per trattenere lo stupore di qualche novità e per mostrare al mondo i nostri occhi increduli e le occhiaie della stanchezza.
Aver scoperto di avere la sindrome di Gilbert grazie a un LLM e a un rule engine ha sicuramente contribuito alla mia irrefrenabile voglia di vedere quanto sia profonda la tana del Bianconiglio; lo ammetto, sono stati tempi duri.
È difficile da spiegare, ma da quel momento rivivo costantemente lo stupore che provavo allora ascoltando la negoziazione tecnica del 56k, con il suo krrrrrrpeeeepeeeeeeebzzzz , spesso accompagnata dalle urla di mia madre, perché sapeva benissimo che la zia dalla Spagna avrebbe trovato il telefono occupato e che io sarei andato nuovamente a scuola per dormire sul banco.
Oggi ho una 10 Gbit in fibra, una connessione di backup, 36 anni, e nessuno può staccarmi dalla macchina… solo il buon senso e Silvia, che spesso non si accorge che scappo dal letto perché: “Hai visto questo incredibile paper su Hacker News?!”.
Fallisco sempre nel becero tentativo di lasciare il telefono fuori dalla camera.
I’m a Fixer
Tommaso Ebhardt ha raccontato Marchionne in modo magistrale, e ciò che ho fatto mio fino a trasformarlo in una vera e propria ossessione è una frase che ho sentito dire spessissimo da Sergio: “I’m a fixer”. È un po’ così che vivo la mia passione e il mio lavoro: io aggiusto le cose fino alla fine; la mia attenzione cala solo quando il meccanismo che gracchiava diventa una macchina perfettamente oleata.
Puoi aggiustarlo, sì con Bob!
Questa sigla mi ha tormentato negli anni, ma non perché fossi appassionato del cartone: è che mi sono guadagnato sul campo il soprannome di “Bob l’aggiustatutto” da colleghi e amici. E così, anche in questa occasione, il software diventa un’estensione di me, qualcosa che quasi vive a mia immagine e somiglianza: “Ehhh André, ma non ti posso clonare? Quando abbiamo la review sistemi tutto!”
Alessio me lo ripete dai tempi della nostra prima SQL injection, che ci costò una sospensione e una punizione esemplare per i due “maghi del computer”. No, niente Azkaban… ma due mesi senza PC. Decisamente peggio dei Dissennatori.
E quindi, dopo aver toccato con mano che il prompt non basta, grazie all’incredibile viaggio con Mascarpone, ancora prima che Addy Osmani facesse esplodere la buzzword, lavoravo già sul concetto naturale di ingegneria del contesto. Ed era esattamente ciò che serviva per realizzare i sogni sporchi di Alessio: un’istanza digitale di me, sempre pronta a risolvere il debito tecnico, con estrema precisione.
Bob The Builder, perchè all’inizio si chiamava così, nasce sulle montagne di casa mia, in una pigra domenica di giugno.

L’idea
«Qual è il parassita più resistente? Un batterio? Un virus? Un verme intestinale? No… un’idea. Resistente, altamente contagiosa. Una volta che un’idea si è impadronita del cervello, è quasi impossibile sradicarla.»
E proprio dopo aver provato l’ennesimo tool che, grazie all’AI, prometteva di ridurre il mio debito tecnico applicativo, quell’idea ha iniziato a farsi spazio. E da allora non mi ha più lasciato: crearne uno mio.
Unire il non determinismo di un LLM con il determinismo di un motore a regole è come lavorare costantemente sull’orlo del precipizio. L’esperienza con Drools e LangChain4j mi ha ricordato proprio questo approccio: da un lato la capacità esplorativa, quasi “visiva”, con cui un modello linguistico sa spaziare tra soluzioni e contesti; dall’altro la necessità di vincoli chiari, rigidi, quality gate implacabili come quelli di SonarQube a cui ricondurre il risultato finale.
Le prime luci
La prima versione di Bob adottava un approccio che mi era familiare: un servizio Quarkus, LangChain4j, i modelli OpenAI e un’istanza locale di SonarQube. Era tutto ciò che serviva per avviare le prime fix automatiche.
Il backend clonava il repository da correggere e lo inviava immediatamente all’istanza locale di SonarQube. Da una scomodissima interfaccia web Bob mostrava le issue da affrontare, ma era proprio lì che si sprigionava la magia: un complesso intreccio di dati provenienti da SonarQube costruiva il contesto della singola issue rispondendo a due semplici domande:

Tutte informazioni che creavano la tempesta perfetta per quella specifica issue: un contesto chiaro e preciso della regola violata, del perché quella fosse una issue e del come risolverla. L’LLM faceva il resto. Funzionava.
E mentre il mondo esaltava context window da un milione di token, il nostro vero punto di svolta restava il più antico dei principi: divide et impera. E così, il 17 luglio, Bob conobbe i miei amici allo Spaghetti Mastermind, e per una sera fummo le star indiscusse.

Diversi Muri sulla strada
Qual è la moneta più preziosa dei moderni pensatori? Il tempo.
E io ne ho avuto sempre meno, soprattutto perché i mesi estivi sono stati intensi al lavoro. Ho potuto dedicare poco tempo all’open-source, e quel poco era lavoro a basso impatto cognitivo: per esempio, ho pubblicato la versione ufficiale italiana di Go By Example.
Bob richiedeva impegno e attenzione. Ma, soprattutto, un’architettura come quella mi sembrava troppo complessa per vivere in modo agevole su un singolo PC: volevo che Bob fosse a disposizione di tutti, in un click. E per capirlo davvero ho dovuto alzarmi dalla sedia e sgranchirmi un po’ le gambe:
O Cebreiro, la Cruz de Ferro, il caldo estremo delle mesetas: altri muri, certo, ma terreno fertile per una nuova architettura. Ho avuto un migliaio di chilometri per pensare, e forse è stata proprio quella la carta vincente.
Buen Camino, peregrino!

Verso una nuova architettura
Settembre ha portato una nuova ventata di energia, e il disegno che avevo maturato nella mia testa aveva tre parole ben scolpite al centro: Model Context Protocol. Sì, lo so! Ne parlava chiunque persino mia madre sapeva che “ormai tutti hanno fatto un MCP Server”. Ma a me serviva davvero, per una ragione semplice e ovvia: eliminare qualunque forma di function calling personalizzato, standardizzare il processo e renderlo accessibile al più alto numero di client possibile… le CLI.
Bob the Builder era diventato un MCP Server con appena dieci tools che orchestravano le informazioni provenienti da Sonar nel modo più efficace, per creare la nostra famosa tempesta perfetta di contesto per il LLM
E ancora una volta funzionava, maledettamente meglio.
Il 6 Settembre Bob si presenta allo Spaghetti Mastermind più in forma che mai:
Banco Prova
Le community hanno sempre avuto un ruolo fondamentale nella mia vita; molto di ciò che sono oggi lo devo proprio a loro, e agli amici che ho incontrato lungo la strada. E quando un amico è in difficoltà e tu hai in mano la chiave del lucchetto a cui è incatenato… che si fa?

Ovviamente si fa notte insieme.
Lo scenario di guerra era disastroso, ma la visuale dalla collina era perfetta e nitida: un backend TDD costruito a regola d’arte (e sì, il TDD sarebbe stato la chiave della nostra scommessa), e tre settimane di interventi da parte del team di sicurezza che avevano drasticamente peggiorato il codice, facendo crollare ogni quality gate di Sonar. Due settimane di debito tecnico da smaltire in una sola notte. Nessuna deroga.
Cinquanta euro di API key di Anthropic, e Bob tira fuori i muscoli con la sua modalità pipeline: l’ultima spiaggia, la Genkidama per Goku.
Quell’epica serata, tra risate e ricordi d’infanzia, andò più o meno come nel video che state per vedere.
E Alessio giustamente, con tre figli se l’era perso!
Game Over
Bob The Builder uscirà dalle scene di GitHub per un po’. Questioni di licenza, fork maliziosi e i soliti furbetti del quartiere: la ricetta perfetta che mi ha costretto a prendere una decisione drastica. Il repository diventa privato. Game over.
E in un periodo in cui monetizzare l’AI è complicato, ogni repo open diventa un buffet a cielo aperto: si prende tutto, senza regole, senza scrupoli, senza nemmeno rispettare le licenze.
Non era questo che avevo immaginato. E soprattutto, non era questo che volevo.
Bob The Fixer
L’Open Source è un fiume in piena, e come se non avessi già visto abbastanza quel video, riappare prepotente sulla mia home di YouTube, quasi fosse Salvatore in persona a mandarmi un segnale.
Torno sul codice di Bob: mi fa schifo.
E allora me lo metto in testa: questa volta Bob sarà così semplice da installare che chiunque potrà provarlo.
Bob funzionerà solo via CLI, senza API key esterne, anche con modelli locali, e con la possibilità di estenderlo tramite WORKFLOW semplici e organizzati. E soprattutto: Bob si installerà con un solo comando, su Linux e su macOS.
Con la schiena mancina di chi non si è fatto piegare, Bob torna prepotente su GitHub con uno spirito nuovo: One Command To Install.
curl -fsSL https://raw.githubusercontent.com/andrearaponi/bob-the-fixer/main/install.sh | bash
Funziona?
Abbiamo speso già tante parole, forse è l’ora di vederlo all’opera:
E Ora?
Bob ha una roadmap ricca, con una serie di feature che mi terranno impegnato almeno per tutto il 2026. E considerando che sarà il mio unico side project extra-lavoro, i tempi potrebbero allungarsi… ma, come sempre, conto sulla community. Quindi, se hai dei consigli, suggerimenti per me, scrivimi pure!
Ringrazio Alessio, lo spaghetti mastermind, e Silvia, che nonostante io passi troppe ore davanti ad uno schermo, lascia sempre spianata la strada dei miei sogni, dandomi anche una notevole spinta.
Perché alla fine, il debito tecnico non sparisce mai da solo. Ma con gli strumenti giusti, e le persone giuste, puoi sempre rimettere a posto tutto.

