Gli agenti sono l’argomento più caldo oggi nel campo dell’intelligenza artificiale, e per una buona ragione. Gli agenti IA agiscono per conto dei propri utenti, eseguendo autonomamente attività come acquisti online, creazione di software, ricerca di tendenze aziendali o prenotazione di viaggi. Togliendo l’intelligenza artificiale generativa dallo spazio virtuale dell’interfaccia della chat e consentendole di agire direttamente sul mondo, l’intelligenza artificiale dell’agenzia rappresenta un balzo in avanti nella potenza e nell’utilità dell’intelligenza artificiale. Portare l’intelligenza artificiale fuori dalla sandbox protetta dell’interfaccia di chat e consentirle di agire direttamente sul mondo rappresenta un passo avanti nella potenza e nell’utilità dell’intelligenza artificiale.

L’intelligenza artificiale degli agenti si sta muovendo molto velocemente: ad esempio, il protocollo di contesto del modello (MCP), uno degli elementi fondamentali degli agenti di oggi, ha solo un anno! Come in ogni campo in rapida evoluzione, ci sono molte definizioni concorrenti, hot take e punti di vista fuorvianti.

Per evitare confusione, voglio spiegare i componenti chiave di un sistema di intelligenza artificiale di un’agenzia e come si incastrano tra loro: in realtà non è così complicato come sembra. Spero che quando finirai di leggere questo articolo, gli agenti non ti sembreranno più misteriosi come prima.

ecosistema degli agenti

La parola “agente” ha numerose definizioni, ma mi piace una leggera variazione dell’approccio minimalista del programmatore britannico Simon Willison:

Un agente principale esegue gli strumenti in un ciclo per raggiungere un obiettivo.

L’utente indirizza un modello linguistico di grandi dimensioni (LLM) verso un obiettivo: diciamo, prenotare un tavolo in un ristorante vicino a un particolare teatro. Insieme alla destinazione, il modello riceve un elenco di strumenti a sua disposizione, come un database di posizioni di ristoranti o un record delle preferenze alimentari dell’utente. Il modello quindi pianifica come raggiungere l’obiettivo e richiama uno degli strumenti che forniscono la risposta; Il modello chiama quindi un nuovo agente. Attraverso la ripetizione l’agente progredisce verso il raggiungimento dell’obiettivo. In alcuni casi, le opzioni di modifica e pianificazione del modello sono integrate o migliorate da codice obbligatorio.

Quindi che tipo di infrastruttura è necessaria per realizzare questo approccio? Un sistema di agenzia necessita di diversi componenti di base:

  • lontano creare agente. Quando distribuisci un agente, non vuoi doverlo codificare da zero. Esistono diversi framework di sviluppo degli agenti sul mercato.

  • in qualche luogo Esegui il modello AI. Uno sviluppatore esperto di intelligenza artificiale può scaricare un programma di Master open-heavy, ma farlo correttamente richiede esperienza. Richiede inoltre hardware costoso che sarà sottoutilizzato per l’utente medio.

  • in qualche luogo eseguire il codice delegato. Con i framework integrati, l’utente crea codice per un oggetto agente con un insieme definito di funzioni. La maggior parte di queste funzioni comportano l’invio di un prompt a un modello AI, ma il codice deve essere eseguito da qualche parte. In pratica, la maggior parte degli agenti verrà eseguita nel cloud perché vogliamo che continuino a funzionare anche quando i nostri laptop sono spenti e che possano crescere ed espandersi per svolgere il proprio lavoro.

  • Un meccanismo per tradurre tra Master e Master basati su testo chiamate di corsa.

  • UN. a breve termine memoria Per monitorare il contenuto delle interazioni degli intermediari.

  • UN. memoria a lungo termine per tenere traccia delle preferenze e degli interessi dell’utente tra le sessioni.

  • lontano traccia Esecuzione del sistema per valutare le prestazioni dell’agente.

Andiamo più nel dettaglio su ciascuno di questi componenti.

Crea un delegato

Chiedere al Maestro di spiegare come intende affrontare un particolare compito migliora le sue prestazioni in quel compito. Questa “logica della catena di pensiero” è ormai onnipresente nell’intelligenza artificiale.

L’analogo nei sistemi ad agenti è il modello ReAct (ragionamento + azione), in cui l’agente ha un pensiero (“Utilizzerò la funzione mappa per determinare la posizione dei ristoranti nelle vicinanze”), esegue un’azione (inviando una chiamata API alla funzione mappa), e poi fa un’osservazione (“Ci sono due pizzerie e un ristorante indiano a due isolati dal cinema”).

ReAct non è l’unico modo per creare un agente, ma è il cuore dei sistemi con agenti di maggior successo. Al giorno d’oggi, i rappresentanti sono spesso in cicli. pensiero-azione-osservazione sequenza.

Gli strumenti a disposizione dell’agente possono includere strumenti locali e strumenti remoti come database, microservizi e software come servizio. Le specifiche di uno strumento includono una descrizione in linguaggio naturale di come e quando viene utilizzato e la sintassi delle chiamate API.

Lo sviluppatore può anche dire all’agente di creare essenzialmente i propri strumenti al volo. Supponiamo che uno strumento recuperi una tabella archiviata come testo separato da virgole e, per raggiungere il suo obiettivo, lo strumento debba ordinare la tabella.

Ordinare una tabella inviandola ripetutamente tramite LLM e valutando i risultati sarebbe un enorme spreco di risorse e non è nemmeno garantito che si ottenga il risultato corretto. Invece, lo sviluppatore può istruire l’agente a generare il proprio codice Python quando deve affrontare un’attività semplice ma ripetitiva. Questi frammenti di codice possono essere eseguiti localmente con l’agente o in uno strumento di commento del codice sicuro dedicato.

Gli strumenti esistenti possono dividere la responsabilità tra LLM e lo sviluppatore. Una volta determinati gli strumenti disponibili per l’agente, lo sviluppatore può istruire l’agente quali strumenti utilizzare quando necessario. Oppure lo sviluppatore può specificare quale strumento utilizzare per quali tipi di dati o anche quali elementi di dati utilizzare come argomenti durante le chiamate di funzione.

Allo stesso modo, lo sviluppatore può dire all’agente di generare codice Python secondo necessità per automatizzare le attività ripetitive o, in alternativa, dirgli quali algoritmi utilizzare per quali tipi di dati e persino fornire pseudocodice. L’approccio può differire da agente ad agente.

orario di lavoro

In passato, esistevano due modi principali per isolare il codice in esecuzione su server condivisi: la containerizzazione, che era efficiente ma offriva una sicurezza inferiore; e le macchine virtuali, che sono sicure ma impongono un sovraccarico computazionale eccessivo.

Il servizio di elaborazione serverless Lambda di Amazon Web Services (AWS) è stato distribuito nel 2018 fuochi d’artificioUn nuovo paradigma nell’isolamento dei server. Firecracker crea “microVM”, complete di isolamento hardware e kernel Linux propri, ma con sovraccarico ridotto (fino a pochi megabyte) e tempi di avvio (fino a pochi millisecondi). Il basso sovraccarico significa che ogni funzione eseguita sul server Lambda può avere la propria microVM.

Tuttavia, il modello di isolamento per funzione non è pratico poiché l’avvio di un agente richiede l’implementazione di un LLM insieme a risorse di memoria per monitorare gli input e gli output dell’LLM. Invece, con l’isolamento basato sulla sessione, a ogni sessione viene assegnata la propria microVM. Al termine della sessione, le informazioni sullo stato di LLM vengono copiate nella memoria a lungo termine e la microVM viene distrutta. Ciò garantisce una distribuzione sicura ed efficiente degli host degli agenti.

chiamate di corsa

Così come sono disponibili diversi framework di sviluppo per la creazione di agenti, sono disponibili anche diversi standard per la comunicazione tra agenti e strumenti; il più popolare di questi – attualmente – è il protocollo di contesto del modello (MCP).

MCP stabilisce una connessione uno a uno tra l’LLM dell’agente e un server MCP dedicato che esegue le chiamate del veicolo e crea inoltre un formato standard per il passaggio di diversi tipi di dati avanti e indietro tra l’LLM e il suo server.

La maggior parte delle piattaforme utilizza MCP per impostazione predefinita, ma è anche configurabile, quindi supporterà un insieme crescente di protocolli nel tempo.

Tuttavia, a volte lo strumento richiesto potrebbe non avere un’API disponibile. In questi casi, l’unico modo per ricevere dati o eseguire un’azione è attraverso i movimenti del cursore e i clic su un sito web. Sono disponibili diversi servizi per eseguire queste operazioni. uso del computer. Ciò rende qualsiasi sito web un potenziale strumento per gli agenti, sbloccando decenni di contenuti e servizi preziosi non ancora disponibili direttamente tramite API.

Poteri

L’autorizzazione nei delegati funziona in due direzioni. Prima di tutto, ovviamente, gli utenti necessitano dell’autorizzazione per eseguire gli agenti che creano. Tuttavia, poiché l’agente agisce per conto dell’utente, spesso avrà bisogno della propria autorizzazione per accedere alle risorse sulla rete.

Esistono diversi modi per affrontare il problema dell’autorizzazione. Uno di questi è un algoritmo di autorizzazione all’accesso come OAuth, che essenzialmente prevede il processo di autorizzazione attraverso il sistema intermediario. L’utente immette le proprie credenziali di accesso in OAuth e il sistema gestito utilizza OAuth per accedere alle risorse protette, ma il sistema gestito non ha mai accesso diretto alle password dell’utente.

Nell’altro approccio, l’utente accede a una sessione sicura su un server e il server dispone delle proprie credenziali di accesso su risorse protette. Le autorizzazioni consentono all’utente di scegliere tra una varietà di strategie di autorizzazione e algoritmi per implementare tali strategie.

Memoria e tracce

memoria a breve termine

Gli LLM sono i prossimi motori di previsione delle parole. Ciò che li rende sorprendentemente versatili è che le loro previsioni si basano su lunghe stringhe di parole già viste in precedenza. contesto. Il contesto stesso è un tipo di memoria. Ma questo non è l’unico tipo di cui ha bisogno un sistema ad agenti.

Ancora una volta, supponiamo che un agente stia tentando di effettuare una prenotazione in un ristorante vicino a un cinema e trovi alcune dozzine di ristoranti nel raggio di un miglio da uno strumento mappa. Non vuole inserire informazioni su tutti questi ristoranti nel contesto del Maestro: tutte queste informazioni estranee potrebbero danneggiare le sue possibilità di parola successiva.

Può invece archiviare l’elenco completo nella memoria a breve termine e recuperare uno o due record alla volta, ad esempio a seconda del prezzo dell’utente, delle preferenze culinarie e della vicinanza al teatro. Se nessuno di questi ristoranti funziona, l’agente può ricorrere alla memoria a breve termine invece di dover eseguire un altro ride-hailing.

memoria a lungo termine

Gli agenti devono anche ricordare le loro precedenti interazioni con i clienti. Se la settimana scorsa ho detto all’addetto alle prenotazioni del ristorante che tipo di cibo mi è piaciuto, non voglio doverlo ripetere questa settimana. Stessa cosa con la mia tolleranza sui prezzi, il tipo di ambiente che cerco, ecc. Vale anche per.

La memoria a lungo termine consente all’agente di scoprire cosa ha bisogno di sapere sulle conversazioni precedenti con l’utente. Tuttavia, gli agenti generalmente non creano da soli ricordi a lungo termine. Invece, al termine di una sessione, l’intera conversazione passa a un modello di intelligenza artificiale separato che crea nuovi ricordi a lungo termine o aggiorna quelli esistenti.

La costruzione della memoria può includere il riepilogo LLM e il “chunking”, in cui i documenti sono divisi in sezioni raggruppate per argomento per facilitarne il recupero nelle sessioni successive. I sistemi attuali consentono all’utente di scegliere strategie e algoritmi per il riepilogo, la segmentazione e altre tecniche di estrazione delle informazioni.

osservabilità

Gli agenti sono un nuovo tipo di sistema software e necessitano di nuovi modi di pensare per osservare, monitorare e controllare il proprio comportamento. Alcune delle domande che poniamo ci sembreranno familiari: se gli agenti lavorano abbastanza velocemente, quanto costano, quante chiamate ride-hailing effettuano e se gli utenti sono soddisfatti. Ma sorgeranno anche nuove domande e non possiamo prevedere esattamente quali dati avremo bisogno per rispondere.

Gli strumenti di osservabilità e monitoraggio possono fornire una visione end-to-end dell’esecuzione di una sessione con un agente e dettagliare passo dopo passo quali azioni sono state intraprese e perché. Per il creatore dell’agente, queste tracce sono fondamentali per comprendere quanto bene funzionano gli agenti e fornire dati per far funzionare meglio gli agenti.

Spero che questa spiegazione abbia demistificato l’IA degli agenti abbastanza da farti venire voglia di provare a creare i tuoi agenti!

Collegamento alla fonte