Agenti AI e finanza

Mi sono incontrato con Matteo Fabro, un innovatore dell’AI con la missione di rivoluzionare la ricerca e l’analisi finanziaria.

Con lauree in Economia e Finanza Internazionale presso l’Università Bocconi e in Musica presso il Conservatorio di Musica C. Pollini, Matteo porta una combinazione unica di competenze tecniche e pensiero creativo. Ha una ampia esperienza nello sviluppo di applicazioni di deep learning, automazione delle attività e agenti AI autonomi che moltiplicano la produttività. In questa conversazione, Matteo ha condiviso le sue intuizioni su come l’AI sta trasformando il mondo della finanza. Abbiamo esplorato lo stato dell’arte attuale nella tecnologia degli agenti AI e come viene applicata per automatizzare compiti complessi di ricerca e analisi. Matteo spiega il suo approccio alla progettazione di agenti AI, le sfide chiave nell’implementarli nel dominio finanziario e l’immenso potenziale che detengono per snellire i flussi di lavoro. Discutiamo anche le prospettive future per l’AI autonoma e le sue implicazioni per il settore finanziario.

Di seguito una trascrizione revisionata della nostra conversazione.

David: Qual è il tuo ruolo attuale? Come sei arrivato a fare quello che stai facendo?

Matteo: La mia educazione è partita con la musica perché ho fatto il conservatorio da molto giovane, diplomandomi precocemente in pianoforte mentre facevo anche il liceo. Quando dovevo scegliere cosa studiare all’università ero in conflitto perché volevo fare tante cose. Mi sarebbe piaciuto studiare fisica, la mia passione, o anche neuroscienze e studi cognitivi. Alla fine, un po’ per peer pressure, ho scelto finanza per poter studiare a Milano in un ambiente relativamente internazionale pur rimanendo in Italia, quindi ho fatto la Bocconi.

Prima di studiare finanza mi ero interessato al machine learning e a vari modelli, non quelli di moda. Per esempio avevo iniziato a usare il primo Cleverbot quando avevo dieci anni. Era una rete neurale molto semplice, forse neanche una vera rete neurale, ma un language model preprogrammato. Ero affascinato dal fatto che potevo giocarci praticamente all’infinito. Questo richiama il famoso effetto Eliza, dove le persone interagivano con un bot poco realistico ma si convincevano che fosse un’entità cognitiva vera e propria.

David: È un effetto super interessante che stiamo vedendo intensificarsi con le applicazioni più recenti. Le persone si lasciano ingaggiare nel dialogo con le macchine in una maniera che supera le aspettative e proiettano le proprie emozioni in questa relazione uomo-macchina che emerge.

Matteo: Assolutamente. Poi ho studiato le basi del machine learning, senza avventurarmi troppo perché è un campo che richiede un certo investimento di risorse che non volevo affrontare a fondo. Mi ricordo che durante la mia prima internship, mentre lavoravo su interpretazioni di variabili per scopi B2B, stavo studiando diverse architetture di reti. Sono passato dalla rete ricorrente semplice all’LSTM fino ad arrivare al transformer, che al tempo era poco conosciuto ma adesso sta andando moltissimo. È arrivato il momento giusto quando OpenAI ha rilasciato GPT-3, il primo vero modello di linguaggio intelligente con una certa capacità di intelligenza.

David: Vale la pena esplicitare per chi ci segue e non è specialista che all’interno del grande campo dell’informatica, che in modo un po’ improprio viene etichettato come scienza delle informazioni perché io lo vedo più come un campo ingegneristico che scientifico, abbiamo diversi sottoinsiemi.

Matteo: Un campo transdisciplinare un po’.

David: Sì, anche se vogliamo essere più precisi, la differenza è che un campo scientifico va a scoprire principi e leggi di natura formalizzati in teorie e poi falsificati o almeno in parte verificati con esperimenti. Invece un campo ingegneristico applica i risultati del primo attraverso diverse combinazioni e formulazioni che possono essere tutt’altro che banali e richiedono sforzi simili per individuarle e raggiungerle, ma non necessariamente identificano e incorporano principi nuovi. Nel campo informatico le due cose parzialmente si sovrappongono, però è relativamente raro che un nuovo tipo di computer parta dai primi principi. L’architettura von Neumann ha dominato e tuttora domina il modo in cui usiamo i computer dagli anni ’40. Da 30 anni ci sono i computer quantistici che ancora non hanno raggiunto una diffusione tale da avere un impatto su ciò che l’informatica riesce a fare. Timidamente o anche in modo molto ambizioso, ma ancora teorico e tutto da vedere, ci sono nuovi approcci che cercano di rendere i computer molto più efficienti dal punto di vista energetico, un po’ come il cervello che con soli 20 watt riesce a fare ciò che i nostri sistemi di intelligenza artificiale non riescono neanche con 100 megawatt. Questo illustra che raramente i diversi sistemi vanno ai primi principi per migliorare l’informatica. All’interno di questo campo abbiamo l’intelligenza artificiale, un sottoinsieme particolare che contiene tante diverse ambiti come sistemi di classificazione, di raccomandazione, di manutenzione preventiva e tante altre cose. All’interno di questo ci sono i sistemi di apprendimento automatico di machine learning, al cui interno troviamo il deep learning. E all’interno di quello, uno degli approcci è quello dei transformer che con GPT-2, GPT-3, GPT-4 e da ieri GPT-4O hanno raggiunto capacità veramente brillanti, attirando tanti talenti e persone curiose come te. Penso fosse importante fare questo piccolo viaggio per chi ci segue. Andando più nello specifico, quali sono queste abilità che hanno sviluppato queste reti?

Matteo: La più significativa è stata appunto tramite GPT-3. Gli sviluppatori di ChatGPT hanno scoperto che questo sistema, semplicemente programmato per imparare la parola successiva in una sequenza, riusciva a imparare certe cose senza doverle reimparare da capo, ma semplicemente dandogli l’istruzione finale o degli esempi nel contesto a disposizione. Riusciva a imparare abilità nuove su cui non era stato esplicitamente istruito, come la traduzione.

David: Posso chiederti se secondo te è corretta una formulazione leggermente diversa? L’addestramento su un insieme estremamente ampio di informazioni fa sì che, nonostante il sistema non sia orientato esplicitamente per avere certe abilità, ce ne sono altre latenti tutte da scoprire da parte degli utilizzatori o dei programmatori che continuano a sorprendersi perché il sistema è in grado di fare qualcosa senza che fosse semplicemente previsto. Lo si scopre solo perché a qualcuno viene in mente di chiederglielo: “Ma tu sai, sei in grado di fare X?” E il sistema risponde…

Matteo: “Ma certo, sono in grado.”

David: “Ma perché non ce l’hai detto prima?” “Nessuno me l’ha chiesto.”

Matteo: All’inizio il modo in cui si faceva questo era dandogli degli esempi. Gli dicevi per esempio “Questo è da francese a inglese, questo è da spagnolo a inglese, questo è da italiano a inglese” e poi gli chiedevi “Da russo a inglese” e lui riusciva a completare la frase. Questo è il paper originale del Transformer. Invece il paper originale di GPT-3 è “GPT is Future Learner”, dove questi “few shot”, come si chiamano perché gli dai qualche esempio, sono la traduzione praticamente. Questo era molto interessante dal punto di vista del machine learning perché vuol dire che c’è un machine learning senza dover investire migliaia, decine di migliaia, milioni di dollari come stanno facendo adesso per addestrare un sistema a fare una task specifica. Molto semplicemente gli dai tre esempi e la fa come se l’avessi addestrato per quello. Questo era già molto importante. L’unico problema di questo approccio era che era molto poco stabile perché spesso c’erano errori di diverso tipo, che vengono chiamati allucinazioni adesso, anche se in realtà sono semplicemente errori del modello.

David: Sicuramente il termine “allucinazione” cattura l’attenzione di chi lo sente, ma è un termine troppo antropomorfico. Sottointende che il sistema abbia una percezione della realtà e nel momento in cui ha delle allucinazioni visualizza e poi comunica qualcosa che non fa parte di questa realtà. Questo secondo me è un po’ fuorviante perché ci stiamo ancora chiedendo quanto robusto e resiliente sia il cosiddetto “world model”, lo schema della realtà che i sistemi sviluppano. Io cerco di sostituire questo termine, che ritengo eccessivamente antropocentrico, con qualcos’altro, attribuendo l’ossessione dei sistemi di dare risposte anche laddove non siano sicure o addirittura inventando citazioni e referenze inesistenti, a un’insufficiente capacità introspettiva e all’inabilità di rendersi conto che è meglio fermarsi. Un po’ come uno studente troppo ansioso a un esame che invece di dire “Non lo so, dovrei pensarci un po’ di più, non so se ho il tempo”, va avanti elaborando assurdità. In effetti, forse vale la pena menzionarlo, ci sono tecniche che migliorano il ragionamento quando si dice al sistema “Prova a fare un ragionamento concatenato, pensaci di più, verifica quello che hai detto prima di dirlo all’utente”. Questi richiami espliciti fanno scattare risultati oggettivamente migliori.

Matteo: Una volta che GPT-3 è passato di moda, è uscito ChatGPT che ha fatto completamente esplodere la scena. ChatGPT è semplicemente GPT-3 istruito non solo per predire la parola successiva nella sequenza nel miglior modo possibile, ma anche per far sì che la risposta piaccia all’interlocutore. L’interlocutore può dire “mi piace” o “non mi piace” e queste sono le due modalità su cui è stato istruito. Questo fa sì che funzioni molto bene per essere quello che è.

David: Questo feedback dell’utente tecnicamente si chiama “reinforcement learning with human feedback” e fa parte anche della fase che precede il rilascio al pubblico di questi modelli, soprattutto nel momento in cui li si fa allineare a comportamenti desiderabili o disincentivare comportamenti indesiderabili. È un’attività molto delicata relativamente a trovare l’equilibrio giusto. Non so se entreremo nel dettaglio di come si può farlo o quanto spesso si sbaglia nel centrare effettivamente il punto giusto. Mi stai quindi dicendo che quando nell’interfaccia di ChatGPT l’utilizzatore preme il pollice su o il pollice giù, quell’informazione viene incorporata da OpenAI per migliorare il sistema?

Matteo: Sì, sicuramente.

David: A tuo avviso questo avviene, non dico in tempo reale, ma comunque con fasi di miglioramento progressive del sistema oppure solamente quando una nuova versione importante viene rilasciata?

Matteo: No, è un processo continuo e il modello viene sempre leggermente modificato quando c’è il processo di rinforzo. È un rinforzo in tempo reale. Ci sono adesso varie nuove tecniche per fare in modo che questa soluzione si riesca a fare anche in modo asincrono, così da poter fare questo processo che potrebbe metterci anche dieci anni se lo fai tramite operatori umani su un modello molto complicato, magari in qualche giorno se hai un processo asincrono di questo tipo. Si sta studiando questa metodologia da vari ricercatori. Comunque io non me ne intendo molto, non è quello che faccio io, quindi mi fermo qua sulle metodologie applicate.

David: La differenza importante tra GPT-2 e GPT-3 è che GPT-2 era a codice aperto, open source, mentre GPT-3 non lo è stato e tuttora non lo è, così come GPT-4. Contrariamente ad altri modelli come Lama, Mistral, eccetera, che pur cominciando ad avvicinarsi alle prestazioni di GPT-4 sono disponibili in formato open source. Questo è molto interessante perché permette tutta una serie di applicazioni che utilizzando OpenAI non si possono fare. Cosa metteresti ancora in evidenza rispetto all’evoluzione dei sistemi e di come questi sono diventati utili nell’arco di pochissimi anni, stando ormai alla base di una nuova generazione di applicazioni?

Matteo: Tra GPT-3 e GPT-2 c’è un oceano di differenza, perché GPT-2 è un modello completamente senza applicazione pratica. Le allucinazioni sono ovunque, non ha senso perché non c’è nessun utilizzo pratico. Mentre GPT-3 è un modello che ha effettivamente utilizzo pratico, soprattutto quando viene istruito tramite rinforzo umano. La differenza tra i due fa sì che uno abbia senso e l’altro no. Un argomento molto simile può essere usato per distinguere tra GPT-4 e GPT-3. GPT-4 è l’ultima generazione di questo tipo di modelli ed è di nuovo di gran lunga superiore a GPT-3 per vari motivi. Soprattutto le allucinazioni, che sono semplicemente una misura della quantità di errori nell’output, sono state molto ridotte in GPT-4. GPT-4 dimostra certe abilità che uno non si aspetterebbe per niente da questo sistema di predizione.​​​​​​​​​​​​​​​​

David: GPT-4 arriva nei top percentili di test di tutti i tipi, da test legali a matematica, biologia, le cose più disparate. Dimostra una vera generalità utile, non solo generalità fine a se stessa. Una cosa da mettere in evidenza è che GPT-4 e GPT-4O, il sistema annunciato ieri, hanno portato avanti la multimodalità. La “O” sta proprio per “Omni”. Non sappiamo cosa OpenAI aggiungerà ulteriormente, ma già oggi lo stesso modello unificato è in grado di ricevere e inviare in risposta diversi tipi di dati, non solo testo ma anche immagini, audio e sappiamo già, anche se non è ancora disponibile a tutti, anche video. Questa multimodalità è sicuramente una caratteristica interessante e va nella direzione dove dobbiamo arrivare, cioè quella degli agenti. Come definiresti un sistema che è un agente, in opposizione a un sistema che interagisce ma non è un agente AI?

Matteo: Le definizioni qui sono ancora molto nebulose perché è una cosa che esiste da molto poco, quindi non si riesce a dare definizioni precise. Però diciamo che l’LLM (Large Language Model) di per sé è fatto solo per avere output di testo. La cosa interessante è che questo output può essere utilizzato in vari modi. Uno di questi è usare il testo prodotto come input a un certo tipo di azione. Per esempio, possiamo usarlo come sta provando a fare OpenAI per fare ricerche su Google, dove la gente può dire “Voglio fare questa ricerca” e lui semplicemente, dicendo qualcosa, fa sì che il computer intercetti la parola che dice e l’azione che vuole prendere, e queste parole diventano effettivamente un’azione nella vita reale. Ovviamente Google non è un’azione concreta, però si può applicare anche a cose come mandare una mail. L’LLM dice “Voglio mandare la mail a David:dicendo X” e il computer riesce a interpretare e a prendere queste parole come “manda mail a David”, nel senso di vera e propria azione software.

David: Mentre parlavi, ho chiesto a ChatGPT cosa dice e mi ha sparato una risposta troppo lunga. Chiedendogli cos’è un agente AI, ha menzionato autonomia, capabilità sensoriale, eseguire decisioni orientate a degli obiettivi, adattabilità, interazione. Troppa roba. Gli ho chiesto di ridurre a due brevi frasi ed ecco, il primo termine che ha detto, “autonomo”, è giustissimo perché passi…

Matteo: …da dover compiere tu l’azione e fare copia e incolla nella mail ad avere la mail che viene mandata autonomamente dall’agente in modo completamente autonomo. Poi ci sono varie definizioni di agente. Abbiamo l’agente autonomo semplice, dove per esempio non gli fai decidere l’azione, quindi puoi avere un agente che manda solo email. Praticamente non è neanche un agente, è semplicemente un’istanza di LLM connessa alla mail. Poi invece c’è l’agente autonomo vero e proprio, dove l’agente non decide solo l’input all’azione ma decide anche l’azione stessa da prendere. Per esempio, prima vuole andare su Google e poi vuole mandare la mail a seconda delle informazioni che ha trovato, e via dicendo. Poi ci sono le vere e proprie architetture cognitive, che vengono chiamate agenti ideali, dove hai non solo l’abilità di compiere azioni ma anche ragionamento interno al sistema. Come stavi dicendo tu prima, è utile se a questi modelli gli fai “pensare ad alta voce”, perché non pensano dentro di loro.

David: Diciamo che non gli viene spontaneo, bisogna dirglielo esplicitamente.

Matteo: Ci sono due tipi di pensiero secondo la teoria: il pensiero di tipo 1 e il pensiero di tipo 2. Il pensiero di tipo 1 è quello spontaneo che ci viene, per esempio a me adesso quando sto parlando. Non ragiono su quello che sto per dire, sennò non avrei la capacità cognitiva per pensare mentre parlo. Però se voglio scrivere qualcosa di un certo calibro, mi metterei lì e ragionerei su cosa voglio scrivere, penserei dentro di me, mi parlerei da solo praticamente mentre scrivo. Questo viene chiamato sistema di tipo 2, dove ragioni a parole proprio. Questo è quello che si può far fare al language model, come stavi dicendo prima, per aumentare la performance sulla task che si vuole far fare, che può essere per esempio quella di essere un agente autonomo.

David: Il libro che sto facendo vedere condividendo lo schermo è di Daniel Kahneman, che è scomparso recentemente. Ha scritto questo testo divulgativo sulla propria teoria dei due sistemi di pensiero, sistema 1 e sistema 2, lento e veloce. È stato un approccio di grande successo che ha anche ispirato diverse implementazioni in intelligenza artificiale. Tornando agli agenti, in questo senso è evidente che un AI insufficientemente potente non può diventare un agente perché non combinerebbe niente. Ci deve essere una soglia solo oltre la quale è utile pensare che un AI possa diventare un agente autonomo in grado di strutturare le proprie azioni e generare un risultato utile al raggiungimento di un obiettivo per le istruzioni che ha ricevuto. Nel tuo esempio, inviare un’email alla persona giusta, con il tono giusto, per parlare delle cose giuste, nel momento giusto, eccetera. A tuo avviso, siamo già al punto che agenti AI possano essere realizzati sulle piattaforme attuali? Faccio vedere la cosiddetta leaderboard, cioè la classifica dei modelli più potenti. Vedo che quello annunciato ieri non è ancora presente. Quindi, questi sistemi sono sufficientemente potenti per permettere la realizzazione di agenti?

Matteo: Sicuramente, di nuovo, le definizioni sono molto opache quindi è difficile definire cosa è un agente vero e proprio e cosa non lo è. Però, se parti dal presupposto che l’agente è autonomo, ha un certo tipo di ragionamento interno, eccetera, sicuramente per certe applicazioni sì. Applicazioni anche non semplicissime ma abbastanza complesse, si riesce a creare agenti tramite il language model. Poi ovviamente questo è un campo molto molto nuovo, perché è possibile solo da un anno e mezzo, dopo che è stato rilasciato GPT-3 con lo Zero Shot, ovvero che gli dai l’istruzione senza dovergli dare vari esempi. Come stavamo dicendo, diventa più affidabile e riesce effettivamente a strutturare un agente vero e proprio tramite istruzioni.

David: Abbiamo detto che l’addestramento tradizionale avviene attraverso l’utilizzo di un numero enorme di dati, e più questi sono puliti e strutturati, meglio è, perché possono rappresentare una gamma ampia di esempi per diversi tipi di caratteristiche o informazioni sul mondo. Dopodiché c’è questa caratteristica che emerge della capacità di apprendere con pochi esempi (few-shot learning) invece che tantissimi. Adesso hai menzionato lo zero-shot learning, che è la capacità di andare avanti a compiere una nuova azione o dare risposta a un nuovo tipo di domanda senza aver avuto alcun esempio di fronte. Questo è l’obiettivo dell’intelligenza generale su cui tutti stanno lavorando.

Matteo: Proprio questo: avere un sistema zero-shot che funzioni praticamente perfettamente per ogni tipo di task. Direi che ci siamo molto vicini.

David: Abbiamo fatto quindi un piccolo percorso, siamo arrivati agli agenti. Prima di andare oltre e fare ulteriori esempi su come gli agenti di intelligenza artificiale possono essere applicati, come uno potrebbe tentare di farne uso oggi o cosa ci si aspetta domani, vorrei chiederti della tua startup, The Asyst, una società londinese attiva nel campo della finanza. Non so se è ancora in fase stealth, dove le sue attività non sono ancora totalmente pubbliche, però magari ci puoi dire qualcosa su cosa fa.

Matteo: Noi facciamo molto semplicemente un agente per ricerca finanziaria, quindi per fondi, giornali… Oggi ho parlato con il Wall Street Journal. Banche, insomma, tutti i vari stakeholder in finanza in un modo o nell’altro devono fare ricerche e questo è un processo che richiede molto tempo. Il tempo di questi professionisti costa molto per vari motivi ovviamente, e l’agente riesce a fare un lavoro molto simile per un costo che a confronto è ovviamente nullo. Se per esempio una ricerca tramite uno di questi analisti o giornalisti ci può mettere, diciamo, 20 ore, e vengono pagati 50 euro l’ora, fai 50 per 20 e sono 1000 euro per l’azienda. Invece l’agente te lo fa per 50 euro. Quindi è un risparmio del 95% dal punto di vista dell’azienda. Siamo partiti da un agente con memoria, questa era la prima cosa, che doveva essere come un assistente per il mondo della finanza. Poi piano piano ci siamo specializzati nella ricerca proprio per le istituzioni.

David: A che punto siete? È già disponibile in versione beta o ancora alpha? È già rilasciato? A che punto è lo sviluppo?

Matteo: Abbiamo fatto l’alpha con vari professionisti in diverse banche, qualche fondo, eccetera. Adesso invece stiamo più in fase beta, ovvero dove stiamo iniziando a commercializzare il prodotto con fondi, giornali, eccetera.

David: Quindi il tipo di utilizzo è come se fosse un motore di ricerca, solo che invece di restituirti una serie di collegamenti a delle pagine dove tu manualmente poi devi andare e fare il collage delle informazioni, l’agente prende in consegna l’obiettivo di cosa confezionare e ti riporta indietro un rapporto di una certa lunghezza, non so se due pagine o duecento pagine, quello che possa essere.

Matteo: Quello che stai descrivendo tu è più quello che fanno aziende di un tipo leggermente diverso. Per esempio ce n’è una che si chiama Perplexity, è molto forte su questo. Poi adesso anche OpenAI sta facendo questo progetto, molto probabilmente con Apple, e lo rilasceranno in simbiosi. Però quello che facciamo noi è un po’ diverso. Il nostro non è un motore di ricerca aumentato all’ennesima potenza, il nostro è proprio un analista digitale vero e proprio, nel senso che fa tutto quello che farebbe un analista.

David: E la differenza consiste nel fatto che il motore di ricerca, anche quello avanzato che fa oggi Perplexity e farà OpenAI, effettua questo collage di informazioni e poi si ferma lì. Mentre l’analista, avendo visto le informazioni a disposizione, trae delle conclusioni ed eventualmente fa delle raccomandazioni, giusto?

Matteo: Sì, non solo. Sul motore di ricerca aumentato, se lo vogliamo chiamare così, non puoi paragonarlo a un analista perché sono due cose completamente diverse. Una è come se facessi una ricerca su Google, ti buttasse giù tre punti importanti dalle fonti e ti desse la risposta. Questo ci può volere dai 5 ai 10 minuti per una persona, che comunque è un risparmio importante di tempo. Ma quello che facciamo noi invece è ricerca fondamentale, quantitativa, vera e propria. Questo è un processo che ci può mettere due, tre, cinque, dieci giorni, qualche settimana per un analista. È proprio un ordine di grandezza completamente diverso. E chiaramente il motivo per cui lo facciamo per istituzioni finanziarie è anche perché c’è un costo associato a questo. Ogni azione dell’agente, cioè ogni azione dell’infrastruttura del language model, ha un certo costo associato. Più il modello lavora, più viene a costarti alla fine. Le istituzioni finanziarie in questo senso…

David: Avete già deciso come strutturerete i vostri prezzi? Sarà offerto in abbonamento? Viene installato presso l’utente? C’è un insieme di pacchetti di report che possono generare? Ogni report costa tot? Ogni pagina del report costa tot? Come pensate di…?

Matteo: È molto simile a come faresti un prezzo per una persona. Come dici, la persona la pago all’ora. Questo, al posto di pagarlo all’ora, che non è una misura corretta dell’input che ci mette, lo paghi a token consumato, quindi a credito del language model. È anche molto più misurabile dell’impatto di un dipendente. Questo è utile perché, se io sono un dipendente, posso fare cose di un livello cognitivo superiore a quello che dovrei fare altrimenti, lavorando su task più…

David: Qui andiamo in una direzione molto importante. Intanto grazie per aver descritto le attività di Asyst. Andiamo a toccare quelle che sono le possibili conseguenze degli assistenti di intelligenza artificiale, dove ci sono due scuole di pensiero: quelle che dicono “Meno male, posso licenziare tutti”, e quelle che invece dicono “No, ho delle persone importanti, appassionate, di talento che, come hai appena menzionato, hanno oggi la possibilità, perché possono usare questi assistenti digitali, di fare le cose a maggior valore aggiunto, le più creative, le più improbabili in base alle abitudini passate o quello che sappiamo già che funziona, perché quelle che sono le funzioni note vengono delegate invece al…”

Matteo: Dipende molto dall’applicazione, perché per certe applicazioni sicuramente il rischio di sostituzione c’è. Per esempio, l’applicazione che ha rilasciato ieri OpenAI, dove parli con l’agente… Molti telemarketer, gente che vende al telefono, gente che parla al telefono in generale verrà molto probabilmente sostituita da questo software, perché non ha molto senso avere una persona di quel tipo.

David: Non ha più senso. Però sono un po’ perplesso su questa cosa. Non perché tu non abbia ragione, secondo me sarà così, ma perché io semplicemente non rispondo al telefono. Come fanno i telemarketer a beccare le persone? Perché qualcuno risponde. Lo dico mezzo battuta. Il fatto che ce ne siano molti, quindi qualcosa staranno facendo di giusto. Non me ne intendo, quindi non parlo. Magari troveranno un altro utilizzo, non lo so. Invece, nel mondo della finanza, visto che è quello che facciamo noi…

Matteo: Nel mondo della finanza, il rischio di sostituzione è molto basso perché alle istituzioni non interessa ridurre i costi. Non è la loro priorità, dato che gestiscono miliardi o migliaia di miliardi di dollari. I costi di personale sono spicci al confronto. Quello che effettivamente interessa loro è avere un vantaggio competitivo rispetto agli altri, e noi gli offriamo proprio questo. I primi che avranno a disposizione una tecnologia di questo tipo saranno molto più efficienti e dunque avranno un vantaggio importante.

David: Mi sono ritrovato ad analizzare meglio i risultati, verificarli e confrontarli. Spesso faccio fare la stessa cosa a due o più motori e chiedo ad ognuno qual è il migliore tra i vari risultati, senza dire da dove vengono. È interessante che il più delle volte sono d’accordo fra loro. Mi chiedo se anche i tuoi clienti in campo finanziario faranno così: otterranno un report dettagliato basato sull’output del tuo sistema e poi spenderanno del tempo e delle risorse umane per verificarlo, approfondirlo, complementarlo o confrontarlo con altri.

Matteo: È proprio questa l’idea per molti. Ovviamente ci sono vari utilizzi. Il giornalista con cui ho parlato oggi diceva che a lui interessa avere un’ottica generale per poi andare a verificare. Per altri è più una questione di trovare opportunità che non riusciresti a individuare facendo il lavoro manualmente. Se dovessi far fare la ricerca ad un analista umano, ne riesci a fare una, mentre con questo sistema ne puoi fare oltre cento e rielaborarle tutte insieme. Le opportunità che riesci a identificare sono di gran lunga superiori.

David: Uno dei campi applicativi più interessanti di questi sistemi di AI consiste nell’applicarli come assistenti agli sviluppatori, i cosiddetti co-pilot, per aumentare la produttività evitando errori come vulnerabilità nel codice. Ritieni che possa essere un’applicazione anche per gli agenti, rendendoli sempre più autonomi nel realizzare codice?

Matteo: Sì certo, alla fine tutto il mondo computazionale è codice. Anche questo che stiamo facendo adesso è codice. Questo paradigma parte dagli agenti che sviluppano codice autonomamente, ma poi si arriva al punto in cui il codice non esiste più ed esiste solo l’istruzione in linguaggio naturale.

David: Sarà interessante e delicato il momento in cui si darà accesso all’agente software al codice sorgente di se stesso, cosa che in un certo grado sta già avvenendo.

Matteo: Bisogna differenziare tra le entità. C’è l’entità agente che può operare sul proprio codice, ma la vera cosa interessante, se si parla di singolarità tecnologica, è quando l’AI va a rielaborare il codice dell’intelligenza vera e propria. Questo vorrebbe dire che l’agente modifica non solo il codice sorgente dell’agente, ma anche il foundation model che sta alla base di tutto, come GPT-4, Claude o Llama.

David: Permettere ai sistemi di interfacciarsi con il mondo, di essere autonomi eseguendo azioni, di avere accesso al proprio codice sorgente per migliorarlo, traccia dei passaggi in una direzione netta che rappresenta il sogno di alcuni e l’incubo di altri in questo rapidissimo momento di sviluppo.

Matteo: Esatto, questo è uno degli approcci. Poi c’è anche l’approccio di usare diversi agenti collaborativi in un sistema complesso, dove hai più agenti che lavorano insieme. Il nostro software usa una forma primitiva di questo, che negli anni a venire diventerà un campo molto importante. Non si sa ancora che direzione prenderà, siamo ancora agli inizi, ma sembra una cosa molto interessante su cui molta gente sta lavorando.

David: Faccio vedere un esempio di swarm di agenti basato su questa library. Cosa ne pensi?

Matteo: L’idea è interessante, ma il problema è che nessuno ci sta lavorando, è stata praticamente abbandonata. Ce ne sono altre su cui si sta lavorando attivamente. Uno dei più importanti è Autogen di Microsoft. Poi ce ne sono alcuni più piccoli molto interessanti. È tutto ancora molto sperimentale, non c’è nulla di pratico, ma piano piano, avendo foundation model più potenti e costi ridotti, si avrà sicuramente qualcosa di molto interessante su questo fronte.

David: Hai menzionato che il tuo sistema rappresenta una riduzione dei costi di circa 20 volte rispetto ad un operatore umano. Periodicamente OpenAI ed altri abbassano drasticamente i costi. Ieri è stato annunciato un calo del 50% per gli sviluppatori. Sta andando in una direzione tale che avremo una super abbondanza di intelligenza da gestire. Gli agenti che si coordinano tra loro ed eventualmente strutturati in modo gerarchico assicureranno che questa sovrabbondanza venga distillata fino al punto in cui sono sicuri di poter dar corso ad un’azione con gli effetti desiderati, oppure far sapere all’operatore umano che può ignorare percorsi improduttivi per concentrarsi su una decisione o conferma opportuna. 

Matteo: Hai sollevato un punto interessante sulla gerarchia di questi sistemi multi-agente che sono ancora in fase di ricerca, quindi non si sa ancora che direzione prenderanno. Avevamo parlato una volta di come anche un sistema decentralizzato di decisione sarebbe interessante, quasi una repubblica di agenti. Anche questo può essere molto interessante da esplorare.

David: Grazie per essere stato con noi.