Oltre l'uomo

Intelligenza artificiale, nuove tecnologie, attualità e riflessioni filosofiche.

Parlare del futuro dell’IA può, per certi versi, sembrare un’assurdità: in fondo, l’intelligenza artificiale È il futuro, o quantomeno la tecnologia che andrà a definirlo. Non penso che sia necessario discutere delle sue capacità rivoluzionarie, degli innumerevoli scopi per cui potrebbe essere utilizzata, o dei gravi rischi che ci costringe ad affrontare; similmente, non credo ci sia alcun bisogno di menzionare come essa abbia attirato l’attenzione e l’interesse di pubblico e aziende, stato e chiesa, esperti ed ignoranti. Considerato tutto ciò, potrebbe quindi sembrare strano discutere di come l’IA andrà a svilupparsi nei prossimi anni, soprattutto quando siamo ancora impegnati a cercare di adattarci all’IA del presente. Eppure, l’intelligenza artificiale è anche una tecnologia in continuo sviluppo, che si è già dimostrata in grado di effettuare incredibili ed improvvisi salti qualitativi: cercare di capire in che modo essa andrà ad evolversi non può essere altro che utile.

Detto questo, sarebbe opportuno mettere un freno alla nostra immaginazione: tradizionalmente, predire il futuro dell’intelligenza artificiale è sempre stato un compito enormemente complesso, dove promettenti scoperte possono improvvisamente diventare vicoli ciechi, mentre approcci del tutto nuovi possono essere la chiave per il successo… almeno temporaneamente. In altre parole, fare previsioni “a lungo termine” è difficile, se non impossibile, come dimostrano le molte promesse mai realizzate fatte dagli esperti di IA nel corso della storia. Fortunatamente, le cose diventano assai più semplici se ci limitiamo a concentrarci sul “breve termine”, ossia su quello che potremmo considerare il passo successivo nell’evoluzione dell’intelligenza artificiale: gli agenti.

Autonomo e indipendente: l’algoritmo del futuro

Iniziamo quindi da una semplice ma importantissima domanda: cos’è un agente IA? La risposta è altrettanto semplice: si tratta di sistemi non troppo dissimili da quelli che già esistono. In effetti ChatGPT, solo per fare un esempio ben conosciuto, potrebbe essere già visto come una sorta di proto-agente, dotato di molte (ma non tutte!) delle stesse capacità. Qual è, dunque, la caratteristica fondamentale che distingue questa fantomatica nuova tipologia di intelligenza artificiale da quelle esistenti? In una parola, l’autonomia. La maggior parte degli algoritmi correntemente in uso ha bisogno di input continui per operare: ChatGPT, per tornare al nostro esempio di prima, risponde solo fintantoché continuiamo a porgli domande. Un chatbot agente, al contrario, funzionerebbe in maniera semi-indipendente una volta ricevuto un ordine, stilandoci un resoconto completo su di un argomento senza aspettare le nostre richieste.

Ma concretamente, cosa vuol dire tutto ciò? Immaginiamo di voler fare un viaggio alle Maldive, e di affidarci a ChatGPT per ricercare le informazioni necessarie: iniziamo chiedendo se si può prendere l’aereo, e poi quanto costano i biglietti, da quale aeroporto possiamo partire, cosa vedere e cosa fare quando siamo lì, e via dicendo. Il sistema, come abbiamo detto, risponde a tutte le nostre domande ma, ed è questo il punto fondamentale, si limita a rispondere alle domande che gli poniamo. Adesso immaginiamo invece di ricorrere ad un agente: in questo caso, tutto quello che dobbiamo fare è dargli un obiettivo (“organizzami un viaggio alle Maldive”) e il programma si occuperà di procurarci un itinerario, fornirci suggerimenti e luoghi da visitare, e perfino di preparare i biglietti per l’acquisto, il tutto senza bisogno di alcun ulteriore intervento da parte nostra. La capacità di operare in modo autonomo per perseguire un obiettivo, anche a lungo termine, è quindi la proprietà fondamentale che distingue un sistema agentico dai modelli di IA che utilizziamo tutti i giorni.

Più in generale, gli agenti sono capaci di monitorare l’ambiente in cui operano per raccogliere dati e sviluppare piani d’azione, di valutare i risultati ottenuti per modificare le proprie strategie, di utilizzare strumenti, e, soprattutto, di agire e prendere decisioni in tempo reale. Si tratta di una combinazione di fattori che rende questa tipologia di algoritmi particolarmente utile in settori come quello della logistica, dove l’intelligenza artificiale agentica può, solo per fare qualche esempio, fornire indicazioni ai veicoli per evitare traffico e ridurre i tempi di viaggio, generare e processare documenti, tenere sotto controllo le catene di approvvigionamento e intervenire in caso di problemi, gestire il magazzinaggio, e persino contribuire ad ottimizzare l’allocazione della manodopera e l’organizzazione delle consegne – e tutto ciò dipende da un singolo sistema, che richiede solo un minimo di controllo umano. Dal punto di vista dell’automatizzazione l’IA agente può quindi essere considerata un considerevole passo in avanti, un programma più capace, versatile e, per l’appunto, più autonomo di quelli precedenti.

Il ruolo del linguaggio nel ragionamento: perché i robot hanno bisogno dei LLMs?

Prima di continuare con la nostra analisi degli agenti, penso che sarebbe però utile fermarci un attimo e andare ad affrontare un argomento differente, ma altrettanto importante: quello dei LLMs. In parole povere, i “Large Language Models” (modelli linguistici di grandi dimensioni) sono i sistemi che permettono a programmi come ChatGPT di “comprendere” il linguaggio umano, rendendoli quindi un elemento chiave della moderna intelligenza artificiale generativa. Fatta questa premessa, è opportuno notare che la nostra discussione non andrà a vertere sull’uso dei modelli linguistici nei chatbot, ma piuttosto sul ruolo che essi vanno a giocare nel rendere possibile il ragionamento.

Iniziamo quindi ponendoci una domanda: per quale motivo un agente potrebbe aver bisogno di padroneggiare il linguaggio? La risposta, piuttosto ovviamente, è “per comunicare con gli esseri umani”. I già menzionati chatbot, ad esempio, sono programmi che rispondono alle nostre domande e dialogano con noi, motivo per cui hanno bisogno di un modulo linguistico; e, come abbiamo visto nell’esempio del viaggio alle Maldive, è certamente possibile avere un agente che opera in maniera simile ad un chatbot, richiedendo quindi la capacità di parlare per funzionare al meglio. Questa è però un’interpretazione fin troppo conservativa, che non riesce a cogliere il vero potenziale di un computer parlante: pensiamo all’agente che opera in campo logistico. Gestire i percorsi, assicurarsi che il magazzino sia rifornito e altri incarichi del genere non richiedono necessariamente che il sistema conosca la nostra lingua – ma possono certamente beneficiare da tale capacità. Ad esempio, l’integrazione con un LLM consentirebbe all’algoritmo di ricevere ordini e comandi usando il linguaggio naturale, facilitandone quindi l’utilizzo; allo stesso tempo, un agente dotato di un modello linguistico potrebbe fornire degli output (come avvisi, suggerimenti e report) in forma scritta, rendendoli così più accessibili e comprensibili.

Eppure, l’utilità dei LLMs si estende ancora più in là di queste applicazioni, al punto che essi potrebbero essere integrati anche in sistemi che sembrerebbero non aver nessun uso per il parlato, come le auto a guida autonoma. Perché? Molto semplicemente, un’intelligenza artificiale capace di parlare è anche un’intelligenza artificiale capace di ragionare. Prendiamo in considerazione l’essere umano: quando pensiamo, tendenzialmente preferiamo farlo in “forma linguistica”, per così dire. Quando ci diciamo che dobbiamo ricordarci di fare qualcosa, quando formuliamo concetti complessi e ragionamenti logici, quando pianifichiamo cosa dobbiamo fare – in tutti questi casi trasformiamo il nostro pensiero in parole. Il motivo è semplice: il linguaggio è uno strumento estremamente efficace per condensare e trasmettere informazioni. Immaginate di cercare di comunicare qualcosa di astratto come “la libertà” o “devo ricordarmi di dare l’acqua alle piante” senza usare alcuna parola: possibile forse, ma certamente molto più complicato e meno efficiente. Fin qui niente di sorprendente, ma pensate ora di dovervi trovare ad affrontare un qualche problema che richiede il ragionamento: “quanto fa 12×25?” o “Se A è più alto di B, e B è più alto di C, chi è più alto, A o C?” per fare un paio di semplici esempi. Anche in questo caso è molto comune usare il linguaggio per arrivare alla soluzione: “12×25 può essere semplificato in 10×25 a cui poi aggiungo 2×25”, “la proprietà transitiva dice che, se A>B e B>C, allora A dovrebbe essere più alto di C”. In sostanza, la lingua parlata diventa quindi uno strumento per ragionare, che consente di elaborare i dati, rendere espliciti i passaggi logici, e, grazie alla scrittura, anche di creare note su cui fare riferimento.

Questa proprietà del linguaggio di supportare il ragionamento logico, è stato scoperto, si applica anche all’intelligenza artificiale: i sistemi in cui è stato integrato un LLM sono infatti più abili nell’affrontare problemi che richiedono il “complex thinking” (ragionamento complesso). Questioni di logica e di aritmetica, puzzle e indovinelli sono gli esempi migliori di tutto ciò, ma diversi studi hanno registrato miglioramenti in quei compiti che richiedono pianificazione, adattabilità, e la capacità di modificare e adeguare le proprie strategie; similmente, le IA dotate di modelli linguistici sono molto più brave nell’affrontare problemi complessi e nel fornire spiegazioni dettagliate sui procedimenti che hanno utilizzato per raggiungere una conclusione. Ciò è dovuto alla loro capacità di utilizzare il “Chain-of-Thought” (CoT), letteralmente “catena di pensieri”, una tecnica che consiste nello scomporre il problema in una serie di passaggi logici intermedi, più facili da affrontare e controllare; si pensi ai due esempi di poco fa, dove la soluzione ai dilemmi si sviluppava proprio in tale modo, pezzo per pezzo. Detto questo, il CoT non serve soltanto a semplificare il ragionamento, ma anche a fornire dei “punti di riferimento” per l’algoritmo: molte intelligenze artificiali si trovano infatti in difficoltà nel gestire quesiti come quelli che abbiamo descritto, soprattutto quando si tratta di problemi di logica, e non è raro ricevere una risposta sbagliata; tuttavia, utilizzare la catena di pensieri permette al programma di rendere in forma scritta le varie parti del processo di ricerca di una soluzione, andando così a creare delle vere e proprie “note” che lo aiutino a raggiungere la risposta corretta – o, per metterla in altri termini, si tratta della stessa identica cosa che facciamo noi esseri umani quando ci scribacchiamo degli appunti su un foglio di carta.

Per concludere questa sezione, è però opportuno notare che non tutti i LLMs sono uguali: la maggior parte di essi non fa infatti normalmente uso del chain-of-thought, con l’eccezione di varianti appositamente create. Queste sono conosciute come RLMs (reasoning language models) o, alternativamente, come LRMs (large reasoning models). La differenza tra i RLMs/LRMs e i LLMs non deve però essere percepita come se i primi fossero più avanzati: la catena di pensieri è infatti una spada a doppio taglio, capace di fornire prestazioni superiori nelle situazioni che richiedono la capacità di ragionare, ma proprio queste capacità superiori la rendono troppo lenta e costosa per un uso regolare. In parole povere, si tratta piuttosto di uno strumento specializzato, preferibile in circostanze specifiche, ma incapace di competere con l’efficienza dei normali modelli linguistici al di fuori della propria nicchia. Detto questo, OpenAI ha già da un po’ di tempo iniziato a sperimentare con dei sistemi capaci di “scegliere” quale approccio utilizzare, garantendo così che possa rispondere al meglio a richieste sia semplici (LLMs) che complesse (RLMs/LRMs).

Il costo dell’autonomia: perché gli agenti possono risultare problematici?

Torniamo un attimo ai vantaggi forniti dai LLMs: i programmi che ne fanno uso, abbiamo detto, sono superiori in termini di pianificazione, adattabilità, ragionamento, e via dicendo – tutte capacità di cui gli agenti hanno bisogno per funzionare al meglio. Come si può quindi immaginare, i modelli linguistici stanno iniziando a venire integrati in una varietà sempre più ampia di sistemi, allo scopo di renderli più capaci ed efficaci. Più precisamente, i LLMs operano come una sorta di “cervello” che elabora elementi di alto livello (ordini, comunicazione con gli esseri umani, ragionamento, pianificazione) lasciando invece le “normali operazioni” ad algoritmi più specializzati – ad esempio, un’auto a guida autonoma avrebbe un sistema capace di comprendere gli ordini del guidatore-utente, di pianificare il percorso e di trovare soluzioni per evitare il traffico, e un sistema addetto al guidare vero e proprio.

Questa “divisione dei compiti” è un elemento di grande importanza nello sviluppo degli agenti moderni: come abbiamo infatti già accennato, i modelli linguistici possono certamente offrire grandi benefici in termini di capacità di ragionare e pianificare, ma al costo di tempi di elaborazione più lunghi. Ora, per un chatbot o un altro sistema che operi in situazioni che non richiedono reazioni immediate questa non è un problema, ma per un programma le cui attività si svolgono nel mondo reale, ad esempio controllando robot o veicoli, le cose sono assai differenti: la nostra auto a guida autonoma non può mica permettersi di pensare per una decina di secondi quando vede un pedone che attraversa la strada, in fondo! Dividere gli incarichi tra due sottosistemi specializzati permette quindi di ottenere il meglio dei due mondi, ed evitare al tempo stesso una delle principali complicazioni derivanti dall’uso dei RLMs/LRMs.

Detto questo, quella delle tempistiche è solo una delle varie problematiche che gli agenti devono affrontare e, per molti versi, neanche la più importante. Piuttosto ovviamente, essi vanno incontro agli stessi problemi che già affliggono i sistemi di IA correntemente in uso, come le difficoltà nel gestire scenari mutevoli e difficili da prevedere, o nel risolvere situazioni inaspettate e fuori dal comune; tuttavia, nel caso degli algoritmi agentici la questione principale è un’altra e, paradossalmente, essa coincide con quello che è anche il vantaggio principale di questi sistemi: l’autonomia. Gli agenti possono trovare impiego in un’ampia varietà di settori, tra cui quello logistico, finanziario e manifatturiero: si immagini quindi quali potrebbero essere le conseguenze se uno di questi programmi, capaci di operare in maniera sostanzialmente indipendente, avesse un malfunzionamento! A tal riguardo potremmo ad esempio menzionare il famoso esperimento mentale del “massimizzatore di graffette”, in cui un sistema di intelligenza artificiale riceve il compito, come implica il nome, di massimizzare la produzione di graffette di una fabbrica; sfortunatamente, l’IA in questione è priva di quello che potremmo definire “comune buon senso”, e non riesce a comprendere l’implicito “entro limiti ragionevoli” presente nei suoi ordini, finendo così per trasformare l’intero Sistema Solare in un’enorme fabbrica di graffette. Sebbene questo esempio non sia del tutto calzante, essendo stato originariamente proposto per mostrare i pericoli della superintelligenza (ossia un’intelligenza artificiale dotata di capacità di gran lunga superiori a quelle umane), esso si è rivelato essere particolarmente profetico per quanto riguarda gli agenti: la possibilità di utilizzare sistemi autonomi per controllare e ottimizzare la produzione industriale sta infatti già venendo discussa, e vari studi hanno evidenziato come gli algoritmi possano interpretare in maniera scorretta i nostri ordini, commettere errori di vario genere, o addirittura adottare comportamenti pericolosi (come ricatto e manipolazione) pur di raggiungere l’obiettivo loro affidato.

Come si può immaginare, questo genere di complicazioni diventa assai più grave quando il sistema è sostanzialmente autonomo, soprattutto se esso si trova in una posizione in cui i suoi errori possono comportare pesanti ricadute sull’essere umano: per fare un esempio concreto, il nostro massimizzatore di graffette non causerebbe l’estinzione della razza umana, ma potrebbe decidere di licenziare tutto il personale della fabbrica per rimpiazzarlo con robot, di spendere tutto il denaro disponibile nel tentativo di incrementare al massimo la produzione, o di compiere atti illegali come manipolare il mercato e corrompere o ricattare le autorità. Di conseguenza, molte aziende che fanno già uso di sistemi del genere preferiscono imporre dei limiti al loro funzionamento, così da assicurarsi che un eventuale malfunzionamento non risulti troppo dannoso. Queste limitazioni possono assumere varie forme, ma tendenzialmente esse consistono in una combinazione di supervisione umana e di “hard constraints”, ossia dei limiti vincolanti che definiscono cosa il sistema può e non può fare; concretamente parlando, ciò significa limitare l’autorità dell’algoritmo, in modo che non possa compiere certe azioni senza l’approvazione del suo sovrintendente. In alcuni casi l’utilizzatore può addirittura decidere di sfruttare l’agente come un semplice “consulente”, che fornisce indicazioni e suggerimenti senza però poterli mettere in atto. Ciò permetterebbe, in cambio di un maggior bisogno di supervisione ed intervento umano, di minimizzare il rischio di errori come quelli che abbiamo descritto. Alternativamente, è anche possibile stabilire una sorta di “scala del rischio”, che stabilisce differenti livelli di autonomia in base a quanto gravi potrebbero essere le conseguenze di un malfunzionamento: ad esempio, nel caso della logistica cambiare il percorso di una consegna sarebbe a basso rischio, e quindi permesso, mentre il licenziare un dipendente sarebbe ad alto rischio, richiedendo l’intervento di un supervisore. Infine, è anche stata proposta la possibilità di usare più agenti in unisono, uno che prenda le decisioni, uno che le controlli, e un terzo che monitori il buon funzionamento dei primi due.

Posted in

Lascia un commento