Agenti AI: la verità oltre l’hype

Il tema dell'Agentic AI sta emergendo rapidamente come uno degli argomenti più "caldi" nel panorama dell'intelligenza artificiale. Tuttavia, il passaggio da "Agentic AI" ad "Agentic Hype" rischia di essere estremamente breve e insidioso. Ormai, l'abitudine di aggiungere il suffisso "AI" dietro a qualsiasi cosa è diventata una strategia di marketing diffusa, che ricorda da vicino la moda degli anni '90 di affiancare la parola "ware" ai prodotti, solo per conferire quel "technical flavor" ritenuto necessario per renderli più "tecnologici".

Abbiamo assistito alla proliferazione di articoli, post e persino studi di società di consulenza o altre entità che, partendo da alcune considerazioni condivisibili sugli agenti, si spingono verso narrazioni che superano di gran lunga i confini della fantascienza, senza nemmeno possedere lo stile accattivante tipico della collana "Urania". È fondamentale, quindi, fare chiarezza su cosa siano realmente gli agenti AI, come possano essere utilizzati al meglio, cosa ci si può realisticamente aspettare e, soprattutto, cosa non è affatto realistico attendersi. Infine, è cruciale analizzare i rischi e i limiti intrinseci di questi agenti, che non risolvono automaticamente tutti i problemi posti dall'uso dell'intelligenza artificiale (che chi scrive preferisce chiamare "intelligenza aumentata", dato che da sola è in grado di fare poco o niente).

Perché gli Agenti AI? I Limiti del Prompt Engineering

Prima di addentrarci nella definizione e nelle caratteristiche degli agenti, è opportuno chiedersi perché siamo giunti alla necessità di creare strutture così complesse. Non era sufficiente l'ingegneria dei prompt?

La prompt engineering, pur essendo una disciplina in continua evoluzione, riesce a risolvere molteplici problemi. Esistono tecniche estremamente sofisticate che permettono di modificare il comportamento dei Large Language Model (LLM) in modo da fargli eseguire compiti anche molto complessi. Tuttavia, per raggiungere attività realmente sofisticate, sarebbe necessario creare prompt eccessivamente lunghi e intricati. Questo, oltre a essere intrinsecamente complesso per chi lo redige, si rivela spesso inefficace nell'ottenere i risultati desiderati con la precisione richiesta. Nell'ultimo anno, gli LLM hanno fatto passi da gigante nella capacità di comprendere e processare le richieste, ma non ancora a un livello tale da soddisfare tutte le nostre esigenze più complesse senza un'interazione prolungata e laboriosa. È in questo scenario che emerge l'esigenza di creare gli agenti AI.

Gli agenti, in questo contesto, sono delle integrazioni software progettate per superare i limiti strutturali del prompt engineering puro. La loro funzione principale è quella di scomporre le richieste complesse rivolte a un LLM in una serie di azioni più semplici e gestibili, che possono poi essere eseguite in modo più efficiente e affidabile. Sebbene la realtà tecnica sia molto più intricata, possiamo sintetizzare questo concetto per chiarezza e brevità, comprendendo che gli agenti agiscono come un ponte tra la complessità delle nostre intenzioni e le capacità elementari degli LLM.

Cosa sono gli Agenti AI: Una Definizione Chiara

Per comprendere appieno il significato e il potenziale degli agenti AI, è utile partire da una definizione che ci aiuti a delineare il perimetro del nostro discorso:

Un agente è definito come un sistema in grado di interpretare e/o ragionare sulle intenzioni di un utente, cercando di soddisfare i desideri e le esigenze dell’utente, pur comprendendone capacità e limiti.

Questa definizione evidenzia la natura proattiva e intelligente degli agenti, che vanno oltre la semplice esecuzione di istruzioni dirette, puntando a una comprensione più profonda del contesto e degli obiettivi dell'utente.

Caratteristiche Essenziali di un Agente

Perché un sistema possa essere efficacemente definito e funzionare come un agente AI, è necessario che possieda almeno alcune delle seguenti caratteristiche fondamentali:

  • La capacità di percepire e interpretare l’ambiente circostante o flussi di dati rilevanti. Questo include la raccolta e l'elaborazione di informazioni provenienti da diverse fonti, siano esse interne al sistema o esterne.
  • La capacità di interagire in modo efficace con il proprio ambiente operativo, inclusi utenti, altri sistemi di intelligenza artificiale e fonti di dati o servizi esterni. Un agente non è un'entità isolata, ma un componente integrato in un ecosistema più ampio.
  • La capacità di creare, mantenere e aggiornare ricordi a lungo termine sugli utenti e sulle interazioni chiave. Questa memoria persistente è cruciale per personalizzare le interazioni e migliorare le prestazioni nel tempo, imparando dalle esperienze passate.
  • La capacità di rispondere ai cambiamenti nel suo ambiente o ai dati in arrivo in modo tempestivo. L'adattabilità e la reattività sono pilastri per un agente efficace, e la capacità di farlo bene dipende fortemente da solide capacità percettive e di elaborazione.
  • Capacità di anticipare esigenze o potenziali problemi e di offrire suggerimenti o informazioni pertinenti senza essere esplicitamente sollecitati, rimandando comunque la decisione finale all’utente. Questo aspetto proattivo migliora notevolmente l'esperienza utente, ma sempre con il mantenimento del controllo umano.
  • Capacità di operare in autonomia e di prendere decisioni entro parametri definiti. Sebbene l'autonomia sia un obiettivo chiave, essa è sempre vincolata a regole e confini predefiniti, garantendo che l'agente non operi al di fuori dei limiti stabiliti.

Già da questo elenco dovrebbe apparire chiaro quanto sia complesso estrarre e garantire tutte queste funzionalità da un LLM. Non dimentichiamolo mai: un LLM prevede parole sulla base di come è stato addestrato e, di conseguenza, la sua capacità di rispondere in modo sensato alle nostre richieste è una questione di probabilità statistica. Questa natura probabilistica rende intrinsecamente difficile assicurare un comportamento deterministico e pienamente affidabile per tutte le caratteristiche sopra elencate.

Come Vengono Costruiti gli Agenti AI

Il risultato di cui abbiamo parlato, ovvero la creazione di agenti capaci di svolgere compiti complessi, può essere raggiunto principalmente in due modi, che rappresentano diverse filosofie costruttive e gradi di flessibilità:

  1. Costruendo una catena di oggetti software concatenati (Workflow o Processo). In questo approccio, ogni "oggetto" software viene specializzato in una funzione specifica ed è eseguito in una sequenza predefinita per produrre un risultato che può poi essere utilizzato dal successivo oggetto nella catena. Si tratta di un workflow o processo con una serie di passi definiti e un certo grado di rigidità nei compiti. Attualmente, la gran parte degli agenti operativi rientra in questa categoria, caratterizzata da un grado di libertà minore per l'agente.
  2. Creando agenti in grado di elaborare una strategia da zero. A fronte di una richiesta, questi agenti sono capaci di formulare una strategia partendo da un "foglio bianco" e di eseguirla utilizzando una serie di tool software a loro disposizione. Questi agenti sono molto più flessibili e adattabili a ogni evenienza. Tuttavia, è ancora molto prematuro pensare di raggiungere e implementare questo secondo livello su larga scala, data la complessità e le sfide legate alla loro affidabilità e controllo.

Per far sì che gli agenti funzionino efficacemente, è necessario che gli LLM sottostanti siano "potenziati" con funzionalità aggiuntive. Queste permettono loro di acquisire input in formati compatibili con altri software e di fornire output nello stesso formato. In altre parole, gli LLM devono acquisire nuove competenze che li rendano più integrabili e funzionali all'interno di un'architettura complessa di agenti.

L'Architettura di un Agente

L'architettura di un agente, come riportato anche dal World Economic Forum, è composta da diversi elementi che lavorano in sinergia. Gli agenti funzionano costruendo delle interazioni con un LLM in tutti i punti di questa architettura dove è richiesta una decisione o un'azione. Si utilizzano poi delle azioni realizzate con la programmazione tradizionale per completare tutte quelle parti che l'LLM da solo non è in grado di fare, come ad esempio l'interazione esterna con altri sistemi o database.

Senza scendere in dettagli eccessivamente tecnici che andrebbero oltre il perimetro di questo articolo, possiamo affermare che gli agenti AI non sono altro che componenti software che interagiscono con un LLM potenziato ed eseguono azioni verso l'esterno. Queste azioni possono essere molteplici e cruciali per il loro funzionamento:

  • Raccolta informazioni (sensori): gli agenti possono acquisire dati dall'ambiente esterno o da fonti interne, fungendo da veri e propri "sensori" digitali.
  • Apportare modifiche (attuatori): sono in grado di modificare lo stato dell'ambiente o di altri sistemi, operando come "attuatori" che eseguono le decisioni prese.
  • Conservare le informazioni (store): necessitano di un meccanismo per memorizzare dati a lungo termine, essenziale per l'apprendimento e la personalizzazione.
  • Governare altre componenti: possono coordinare e gestire altre parti del sistema o altri agenti, assumendo un ruolo di controllo.

Il centro di controllo, che coordina tutte queste attività, può in realtà essere molto più complesso di quanto descritto sinteticamente. Potrebbe essere suddiviso in diverse parti, fino a comprendere un insieme di centri di controllo che operano in modo integrato tra loro, ma questo esula dagli scopi attuali di questo approfondimento.

Esempi Attuali e Potenziali degli Agenti AI

Un esempio di agente con cui interagiamo ormai facilmente è la funzione di ricerca sul web integrata in chatbot come ChatGPT. Se chiediamo a ChatGPT qualcosa che richiede informazioni aggiornate o specifiche dal web, possiamo attivare la ricerca. L'agente è in grado di estrarre dalla nostra domanda le parole chiave pertinenti, utilizzarle per cercare su internet, individuare le risposte principali sotto forma di link, leggerne il contenuto, elaborarlo e infine fornirci una sintesi coerente e utile. Questo dimostra la capacità degli agenti di integrare LLM con strumenti esterni per compiti complessi.

Gli agenti, potenzialmente, possono svolgere un'ampia gamma di attività. Oggi li vediamo in azione, per esempio, nell'ambito della gestione delle email, dove possiamo chiedere loro di predisporre una bozza di risposta, o di analizzare le mail per trovare informazioni specifiche o riassumerne il contenuto principale. Questi sono esempi di "business as usual", ovvero applicazioni che rientrano già nel nostro quotidiano e che offrono un valore tangibile.

Le cose si fanno molto più complesse e critiche quando si discute di agenti capaci di prendere appuntamenti per noi, di scrivere e inviare mail in autonomia, di operare direttamente sul nostro conto in banca o di pianificare un viaggio acquistando i biglietti aerei. Troppo spesso leggiamo di agenti che "stanno per fare", "fanno" o "si accingono" a compiere queste azioni, ma questo, per ora e non sarà facile cambiare le cose nel breve termine, è qualcosa di estremamente critico e difficilmente realizzabile in modo affidabile e sicuro.

Il Problema della Fiducia e la Non-Deterministica degli LLM

Per poter delegare agli agenti azioni più sofisticate e, soprattutto, per concedere loro un maggiore grado di libertà nell'agire sui nostri dati personali o finanziari, dobbiamo riporre una fiducia incondizionata nei modelli LLM e nelle loro risposte. Il modo migliore per ragionare su questo punto è simulare di avere un collaboratore umano. Ci chiederemmo: daremmo i nostri codici di accesso bancari o la piena autonomia decisionale a un collaboratore che, pur facendo spesso ciò che gli diciamo, qualche volta mette in atto un comportamento che non ci aspettiamo o che non è allineato alle nostre intenzioni?

Siamo abituati a riporre fiducia verso persone che conosciamo o crediamo di conoscere. Cerchiamo un collaboratore a cui delegare attività, ma di cui ci fidiamo profondamente nel suo "modo di fare", in modo da sentirci rassicurati che non farà mai cose che non vorremmo che facesse o che andrebbero contro i nostri interessi. Questa fiducia si basa sulla comprensione della sua intenzionalità e della sua capacità di agire in modo coerente e prevedibile.

Purtroppo, un LLM, per quanto possiamo aumentarne il grado di apprendimento, implementare sistemi di "guardrail" e affinare ogni aspetto tecnologico, non potrà mai offrire questo stesso livello di fiducia. La tecnologia alla base degli LLM non è deterministica; ciò significa che, anche a fronte della stessa richiesta, potrebbe produrre dei comportamenti inaspettati o delle risposte non completamente allineate con le nostre aspettative. Se questo non è un problema per applicazioni a basso rischio, diventa insostenibile e potenzialmente molto pericoloso quando si tratta di operazioni che impattano la nostra vita personale, finanziaria o professionale in modo significativo.

Questo limite fondamentale di non-determinismo impedisce agli agenti AI, nella loro configurazione attuale, di essere completamente autonomi in contesti critici. La necessità del controllo umano non è solo una precauzione, ma un requisito strutturale dettato dalla natura intrinseca di queste tecnologie. Per questo motivo, l'entusiasmo per le potenzialità degli agenti AI deve sempre essere bilanciato da una comprensione realistica dei loro limiti e dalla consapevolezza che la supervisione umana rimane, e probabilmente rimarrà a lungo, un elemento insostituibile.