Gli agenti basati sull'intelligenza artificiale sono in grado di operare autonomamente e completare compiti al posto degli utenti: prenotare un tavolo vicino cinema, sviluppare software, analizzare mercati o prenotare viaggi. Il progresso in questo settore è molto rapido. Un esempio lo rappresenta il Model Context Protocol (MCP), un componente chiave negli agenti moderni, apparso solo un anno fa.
Definizione e funzionamento
Simon Willison, un programmatore inglese, ha elaborato una descrizione essenziale di un agente: l'agente utilizza modelli di intelligenza artificiale e strumenti in un ciclo continuo per raggiungere un obiettivo specifico. Ad esempio un utente chiede a un modello linguistico di larghezza elevata (Large Language Model, LLM) di prenotare un tavolo in un ristorante vicino al cinema e il modello riceve un elenco di strumenti disponibili come una banca dati sui ristoranti o informazioni sulla preferenza dell'utente.
Successivamente, il modello pianifica come raggiungere tale obiettivo e attiva uno strumento. Lo strumento, in risposta, consente al modello di procedere con l'attivazione dello strumento successivo. Il ciclo continua fino al raggiungimento dell'obiettivo prefissato. A volte, il codice imperativo supporta il modello nel processo di orchestrazione.
Componenti essenziali
Un sistema basato su agenti richiede diversi componenti per funzionare in maniera efficace. Il primo è un ambiente di sviluppo: strumenti di framework sono essenziali per agevolare la costruzione degli agenti. In parallelo, c'è l'ambiente di runtime per il modello di intelligenza artificiale. Scaricare e configurare i modelli Open-Weight-LLM richiede non soltanto competenze considerevoli, ma anche hardware costoso, spesso inutilizzato per una media utente.
Un ambiente di runtime è necessario per il codice basato su agenti. La maggior parte degli agenti funziona in cloud per poter continuare a gestire le operazioni anche con laptop chiusi e scalare in base alle richieste. Un componente chiave traduce le informazioni del modello linguistico basato su testi ai tool concreti. Vi sono due tipi di storage: il primo gestisce le interazioni correnti, il secondo conserva preferenze degli utenti e informazioni apprese nuove su più sedute. Un sistema di controllo e tracciamento degli eventi gestisce la performance del agente.
Sviluppo basato sugli agenti e il modello ReAct
I modelli linguistici funzionano meglio quando vengono istruiti a spiegare come affrontano l'obiettivo da raggiungere. Questo processo, "Chain-of-Thought-Reasoning," è diventato una prassi standard. Negli agenti, la tecnica correlata è nota come modello ReAct, che indica "Reasoning and Action": l'agente formula un pensiero, esegue un'azione corretta e verifica i risultati.
- Ad esempio, il pensiero: utilizzare una funzione di mappa per trovare ristoranti vicini.
- Azione: chiamare un'API per mappare i ristoranti.
- Osservazione: determinare i ristoranti specifici vicini.
Il modello ReAct è diffuso, ma non l'unico modo per funzionare. Tuttavia, il modello passa attraverso cicli di sequence Thought-Action-Observation. Gli strumenti disponibili vanno dagli strumenti locali alle risorse esterne come database, microservizi, o Software as a Service.
Esecuzione del Codice e Isolamento
Due approcci per isolare i codici in ambienti condivisi esistono: la containerizzazione, efficiente ma con scarsa sicurezza; e le macchine virtuali, sicure ma con alte richieste di risorse computazionali. Le moderne tecnologie combinano entrambi, creando MicroVM isolati in ambienti cloud con nuclei Linux dedicati e bassi requisiti di spazio.
Un agente ha la necessità di risorse di memoria. I sistemi moderni isolano le sessioni in MicroVM. Alla fine della sessione, lo stato del LLM si salva in memoria a lungo termine e la MicroVM si disattiva. Così, è possibile operare in maniera sicura e senza sprechi.
Comunicazione tra gli strumenti
Molteplici standard esistono per la comunicazione tra gli agenti e gli strumenti. Il modello MCC è il più diffuso: definisce un formato standard per la trasmissione dati tra un modello linguistico e un server. Il protocollo chiarisce anche come un server notifica all'agente gli strumenti disponibili e i dati.
Archiviazione a Termine breve e lungo
Un contesto permette ai modelli linguistici di anticipare parole future basandosi su sequenze note. Questo funziona in una sorta di "memoria", ma non l'unica che necessita un sistema di agente. Supponiamo un agente abbia individuato alcuni ristoranti da un tool di mappa. Caricare tutte le informazioni in contesto sarebbe inefficace; perciò le memorizza in memoria a breve termine, recuperando solo 1 o 2 dati alla volta.
Strumenti di memorizzazione
I modelli basati sugli agenti spesso devono ricordare le interazioni con passato per continuare in modo efficace. Se un utente ha già comunicato le sue preferenze alimentari, non serve ripeterle. Una memoria a lungo termine gestisce tali informazioni. Di norma, non gli agenti stessi le creano, ma modelli indipendenti analizzano le conversazioni dopo la sessione e producono nuovi record o modifiche esistenti.