A metà gennaio ho tenuto un incontro pubblico ad Annecy dove raccontavo a un pubblico di curiosi come si produce un bosone di Higgs e si misurano le sue proprietà (e perché, ma questa è un'altra storia). Nella chiacchierata con il pubblico che sempre segue questi eventi, ho ricevuto tra le altre una domanda che sempre più spesso arriva in queste occasioni: "Per le ricerche che fate a ATLAS e le misure sul bosone di Higgs, usate dei sistemi di intelligenza artificiale?".
La risposta semplice è "Ovviamente sì". In effetti, da tempo l'analisi dei dati collezionati dagli esperimenti LHC (e, più recentemente, una parte non trascurabile della stessa acquisizione dei dati) si basa su algoritmi di machine learning: separazione di "segnale" e "rumore", classificazione di fenomeni fisici diversi, identificazione di oggetti e particelle nei rivelatori, calibrazione della risposta stessa dei rivelatori. Possiamo dire anche con un certo orgoglio che la fisica delle particelle è stata una delle discipline pioniere ad adottare questo approccio per migliorare l'uso dei dati e spremerne il massimo. Prima che programmare in Python diventasse normale, prima che l'ecosistema dei tool di machine learning (cose come Keras, PyTorch, XGBoost, …) oggi così facilmente accessibile fosse a portata di tutti, prima che le GPU venissero usate per calcolare (e non per fare il rendering dei videogiochi), ROOT aveva già TMVA integrato e i fisici delle particelle lo sfruttavano intensamente.
"Machine Learning" non corrisponde però esattamente con "intelligenza artificiale", e dunque la domanda potrebbe richiedere una risposta più complessa. Se per "intelligenza artificiale" si intende l'uso "agentico" dei modelli di linguaggio LLM, per esempio per pianificare o strutturare un programma di ricerca, allora nel nostro campo le cose si stanno sviluppando solo adesso, e le implicazioni e le possibilità sono ancora tutte da capire e da studiare. Proprio stamattina al CERN c'è stato un interessante seminario di Tilman Plehn, che affrontava la questione dal punto di vista di un fisico teorico. Vi lascio andare a guardare le slide per i dettagli (anche parecchio tecnici). La cosa che a me pare più interessante è che i modelli LLM possono essere usati non solo per i compiti precisi che sarebbero tradizionalmente affidati a un algoritmo di machine learning (per esempio: trova l'algoritmo che meglio separa questo processo da quest'altro a partire da questi dati simulati), ma per costruire un workflow ben più complesso, spesso eliminando l'inevitabile frizione che avrebbe la difficoltà di scrivere direttamente del codice efficiente (e corretto) per realizzare un certo progetto. Quanto più lontano sarà possibile andare con la ricerca, se il nostro tempo non sarà più dominato a risolvere errori di compilazione, dipendenze da librerie, o inefficienza degli algoritmi? Se i compiti da far fare a una macchina possono essere espressi in linguaggio "naturale", quanto più rapidamente avanzeremo? Secondo me, molto.

Qualche settimana fa sono incappato, tramite questo post, in questo articolo di Alberto Romero che sostiene che l'avvento degli agenti basati sui modelli AI ci obbliga (obbligherà) a concentrarci su cosa fare, e non su come farlo. Questa idea sembra spaventare parecchie persone, preoccupate di essere rimpiazzate nelle proprie (indispensabili?) competenze. A me, fisico delle particelle sperimentale, sembra invece una liberazione potentissima. Programmo per necessità, ma non sono un programmatore. Progetto e costruisco circuiti elettronici e strutture meccaniche per necessità, ma non sono un ingegnere elettronico né meccanico. Queste professionalità sono per me e i miei obiettivi (avere il migliore strumento per interrogare la natura sul suo funzionamento) degli strumenti. Mi avvalgo già oggi dell'aiuto di ingegneri: poterne rimpiazzare i servizi con quelli di un agente AI non mi sconvolge affatto. Se Claude Code interfacciato al mio editor di codice preferito può darmi un codice robusto o correggere il pessimo codice che scrivo io, mantenendo le indicazioni su quello che il codice deve fare ma migliorando efficienza, leggibilità e manutenibilità, e può farlo nei tempi che meglio mi convengono, tanto meglio.
La vera domanda al limite è per chi lavora con competenze tecniche specialistiche: che cosa costituisce il valore aggiunto di una professionalità, se la conoscenza tecnica che fino a ieri la rendeva rara e preziosa diventa progressivamente accessibile a tutti? Non è una domanda retorica, è una delle più serie che il mercato del lavoro dovrà affrontare nei prossimi anni. A me, la cui professionalità è principalmente farsi delle domande, immaginare nuove direzioni, ed esplorare soluzioni mai viste prima, avere un esercito di aiutanti efficienti che mi liberano dall'usare il mio tempo a risolvere problemi pare una rivoluzione esaltante. Per chi invece costruiva il proprio valore sul come più che sul cosa, la transizione sarà probabilmente meno indolore.


Abbasso Ludd, Viva il progresso!
Molto interessante. Non so quanto un LLM nel breve possa sostituire un ingegnere, forse può sostituire un programmatore o un disegnatore o un tecnico elettronico, per la parte digitale e non ovviamente per quella manuale.
State solo attenti al fatto che anche voi, "la cui professionalità è principalmente farsi delle domande, immaginare nuove direzioni, ed esplorare soluzioni mai viste prima", non veniate sostituiti da un sistema di algoritmi di AI, proprio in queste finalità.
Fantascienza?
Mica tanto, visto che è ormai realtà che la guerra (tanto per fare un esempio concreto e attuale) sia combattuta anche da macchine che decidono autonomamente chi uccidere e cosa distruggere.
Ma ci sono tanti altri altri esempi meno estremi nelle arti creative, per esempio.
E non sottovaluterei tanto il problema dei posti di lavoro, per cui Ludd potrebbe tornare ad essere un eroe, e il "progresso" (ma quale?) uno schifo.
Ragazzi: più ottimismo e più coraggio.
Finché saremo homo sapiens il progresso non si fermerà. E non c'è nè bene nè male: quello ce lo mette ogni singolo individuo.
Ripeto: progresso? Questione di punti di vista e, forse, di valori.
Auguri.
Una delle caratteristiche che distingue il sapiens è quella di sfuttare i beni naturali a suo favore. Quello che ne consegue è la tecnologia. È una conquista basilare, non meno dell'arte o della morale: senza tecnologia non esisterebbe la società, saremmo ancora raccoglitori, neanche cacciatori.
La conseguenza di questa predisposizione alla tecnologia è il progresso, che non ha connotazioni morali.
La morale è prima di tutto un istinto e un bisogno personale.
La tecnologia viene usata da ciascuno secondo la sua morale.
Certo, non credo che nessuno possa e debba sentirsi "al sicuro". Per quanto mi riguarda trovo questa cosa più stimolante che preoccupante, ma sono chiaramente un privilegiato.
Infatti. Qualcuno potrebbe esserlo di meno.
Comunque discorso ampio e articolato.
Nella fattispecie della tua attività sarà anche, come dici tu, un vantaggio: non so e non ho le competenze specifiche per dare un giudizio.
Ma qualche dubbio epistemologico, se la cosa sfugge di mano, se si pretendono anche risposte un po' più "creative" da quegli arnesi, ce l'ho.
Probabile che nel tuo caso come fisico che per necessità si è trovato nella condizione di programmare e progettare, noi ingegneri siamo stati solo una figura di appoggio, un tool aggiuntivo. Nei quasi 15 anni al CERN, di cui oltre la metà nel cooling di ATLAS mi sono trovato con i colleghi più volte nella condizione di dover rimediare a errori di progettazione e talvolta dover implementare soluzioni tecniche per risolvere dei problemi che sarebbero stati evitabili. Se l'AI può essere un valido strumento dipende anche dall'uso che se ne fa, per chi ad esempio non padroneggia davvero il dominio nel quale sta operando rischia di produrre errori più difficili da individuare, non meno. Togliere l'attrito non è sempre un vantaggio: a volte è proprio quell'attrito che ti fa accorgere di star sbagliando strada.
Se il codice te lo dà l'AI lo usi subito o lo esamini per capire come fa?
E se poi l'aggiornamento (prima o poi capiterà) chi lo farà?
Di solito non chiedo mai la creazione di un codice completo, ma procedo per tappe e per ogni tappa faccio un test unitario più o meno complesso (test che posso scrivere io o fare scrivere alla IA) che è comunque una buona abitudine di sviluppo, a prescindere da chie scriva il codice. Per la questione di manutenzione e aggiornamento molto dipende di quale codice parliamo. Un punto essenziale è la documentazione, e anche qui le IA sono molto meglio del ricercatore quadratico medio (tanto che spesso le uso per fare documentare anche codice esistente scritto da umani)
Lascio un contributo sul tema scritto da un ricercatore che mantiene un pacchetto per risolvere equazioni differenziali (in Julia). È molto interessante perché fa veramente capire quanto questi strumenti possano far risparmiare tempo a chi ha già ben chiaro cosa vada fatto.
https://www.stochasticlifestyle.com/what-agentic-ai-vibe-coding-in-the-hands-of-actual-programmers-engineers/
L'ultimo programma l'ho scritto nel 1972 (assembler su un Pdp8 della Digital Equipment Corporation).
Adesso invento cose folli e Claudietto mi consiglia pure il linguaggio di programmazione.
Ci vuole un po di pazienza ma i risultati sono da 30 e lode con bacio (accademico...)