Agenti AI: come funzionano ed utilizzarli

Scopriamo insieme cosa sono e come funzionano gli Agenti AI

By Max
7 Min Read

The Sunday Prompt #38 – 23/06/2024

Oggi parliamo di un tema molto interessante e sicuramente all’avanguardia nel settore della GenAI: gli agenti AI.

E’ un argomento molto attuale e se ne sta parlando sempre più spesso nel settore dell’intelligenza artificiale in quanto consentono di superare le limitazioni che si hanno con i semplici chatbot.

L’idea degli agenti AI è molto semplice: invece di interagire in maniera sequenziale con i modelli (un input = un output) si creano delle entità autonome che svolgono specifici compiti all’interno di un progetto più grande.

Ogni agente ha un ruolo ben definito, un obiettivo da raggiungere e una propria caratterizzazione che ne descrive le caratteristiche e le motivazioni. Gli agenti possono utilizzare strumenti per eseguire le loro attivitĂ , memorizzare informazioni e operare in modalitĂ  dettagliata per fornire risultati piĂą precisi.

Per comprendere il funzionamento, e le potenzialitĂ , degli agenti ipotizziamo di voler ottenere una bozza di un articolo da un modello LLM.

In questo progetto potremmo creare 3 agenti: uno dedicato a cercare online articoli relativi all’argomento di cui vogliamo scrivere, il secondo dedicato alla scrittura vera e propria ed il terzo che potrà verificare la coerenza tra quanto scritto e le fonti che sono state reperite.

L’utilizzo degli agenti, quindi, consente di far svolgere dei progetti complessi, suddividendoli in task specifici che saranno eseguiti da tre entità diverse: ciascuna di esse, inoltre, potrà essere specializzata a svolgere il proprio compito, così da ottimizzarne l’esecuzione.

Gli agenti possono svolgere vari tipi di attività: la ricerca e la raccolta di dati, l’elaborazione e l’analisi degli stessi, la creazione di contenuti e l’interazione con API esterne.

Inoltre, gli agenti possono essere organizzati nello svolgimento dei compiti in maniera diversa: 

  • possono agire in maniera sequenziale, in modo da svolgere dei compiti secondo una sequenza cronologica definita;
  • possono agire in parallelo, eseguendo i loro compiti contemporaneamente
  • possono agire in maniera gerarchica, in modo che alcuni compiti dipendono dal completamento di altri.

E’ anche possibile creare degli agenti “orchestratori” che organizzano appunto il lavoro degli altri agenti.

I vantaggi degli agenti

In effetti parlare di agenti di intelligenza artificiale fa venire subito a mente l’Agente Smith di Matrix. Indubbiamente però l’utilizzo degli agenti offre notevoli vantaggi rispetto l’attuale interazione, che sono individuati in:

  1. definizione di ruoli e obiettivi specifici;
  2. possibilitĂ  di mantenere una memoria persistente, essendo software che possono interagire con altre fonti, potendo anche avere un accesso continuo al contesto di riferimento;
  3. gli agenti possono collaborare in maniera coordinata, dandoci così la possibilità di definire processi e task che vengono eseguiti secondo diverse modalità;
  4. possono essere integrati con strumenti esterni;
  5. possono essere personalizzati per affrontare obiettivi di diverso tipo. Inoltre è possibile aggiornare uno degli agenti per adattarlo ad eventuali modifiche del contesto, senza dover necessariamente modificare anche gli altri;
  6. sono scalabili (dato che se ne possono sempre aggiungere di nuovi) ed hanno una struttura modulare, consentendo una maggior manutenzione.

Gli agenti come strumento per superare i limiti dei LLM.

Le caratteristiche che abbiamo sopra indicato fanno ritenere che gli agenti AI potrebbero essere una chiave di volta per superare i limiti dei modelli attuali. Si pensi alla complessità che deve affrontare un robot nell’interazione della realtà: attraverso molteplici agenti ognuno specializzato in un task specifico orchestrati centralmente questa complessità potrebbe essere ridotta in una serie di task da svolgere in parallelo da ciascun agente facilitando un’interazione controllata.

I framework per gli Agenti AI

Esistono giĂ  alcuni framework (anche open source) che possono essere utilizzati per creare Agenti AI.

CrewAI

Uno dei più evoluti è sicuramente CrewAI (https://www.crewai.com/) disponibile gratuitamente su Github (https://github.com/joaomdmoura/crewai).

Per utilizzarlo è necessario conoscere Python. CrewAI consente di creare degli agenti autonomi ed utilizza un framework i cui elementi principali sono:

  • Agenti: le entitĂ  autonome con ruoli specifici.
  • Compiti: task assegnati agli agenti, descritti in modo dettagliato, con risultati attesi.
  • Crew: un gruppo di agenti che lavorano insieme per completare i compiti.
  • Processi: modalitĂ  di esecuzione dei compiti (ad esempio, sequenziale, parallelo, gerarchico).

Molto interessante il fatto che CrewAI non è limitato ad uno specifico LLM, ma consente di utilizzare anche diversi modelli (anche in locale). In questo modo un agente potrà, ad esempio, operare utilizzando GPT4 mentre un altro potrà basarsi su LLama o su un altro LLM.

Se volete saperne di più e comprendere meglio come funziona CreAI è disponibile un corso gratuito su deeplearning.ai (https://www.deeplearning.ai/short-courses/multi-ai-agent-systems-with-crewai/)

AutoGPT

Anche Auto-GPT consente di creare Agenti AI, focalizzandosi però sulel API di OpenAI.

Il software è disponibile su github (https://github.com/Significant-Gravitas/AutoGPT), però viene data la possibilità di installare il tutto tramite Docker.

AutoGPT, a differenza di CrewAi fornisce anche un’interfaccia grafica ed è previsto a breve il rilascio di una Web App che consentirà in maniera facile la creazione di agenti e l’interazione con il software.

Per rimanere aggiornati sul progetto potete consultare il sito https://news.agpt.co/.

AiAgent

Se volete provare e testare il funzionamento degli agenti (o meglio di un agente) potete provare AIAgent, disponibile sul sito https://aiagent.app/.

La versione gratuita vi consente di creare un agente, specificando con un prompt l’obiettivo che deve svolgere. Questo obiettivo sarà automaticamente suddiviso in sotto-task, che saranno svolti in maniera sequenziale.

Anche Google nel suo cloud offre la possibilitĂ  di creare degli Agenti AI (in Vertex) ma sicuramente gli esempi richiamati sopra sono piĂą accessibili per chi si avvicina a questa tipologia di soluzione.

In sintesi gli Agenti AI hanno molte risorse e sembrano poter far evolvere il modo in cui interagiamo con i modelli di GenAI. Il consiglio è di tenerli sott’occhio e mantenersi aggiornati.

👋🏻Happy Prompting!

TAGGED:
Share This Article