Cos'è crewAI?

2 agosto 2024

Autori

Vanna Winland

AI Advocate & Technology Writer

Meredith Syed

Technical Content, Editorial Lead, IBM

Anna Gutowska

AI Engineer, Developer Advocate

crewAI è un framework di orchestrazione multiagente open source creato da João Moura. Questo framework basato su Python utilizza la collaborazione dell'intelligenza artificiale (AI) orchestrando agenti AI autonomi con un ruolo specifico che lavorano insieme come una squadra coesa o una "crew" per completare le attività. L'obiettivo di crewAI è fornire un framework solido per automatizzare i workflow multiagente.1

Il termine "crew" si riferisce ad agenti AI che lavorano insieme per delegare autonomamente attività e porsi domande tra di loro, proprio come una vera squadra di lavoro. Ogni squadra multiagente è composta da agenti AI complementari che svolgono un ruolo e utilizzano strumenti esistenti e personalizzati per completare una serie di attività assegnate. I modelli linguistici agiscono come un motore di ragionamento per gli agenti selezionando una serie di azioni.2 Gli agenti di crewAI possono essere configurati per utilizzare qualsiasi modello linguistico di grandi dimensioni (LLM) open source o application programming interface (API).

Recenti ricerche ampliano l'ambito dei modelli LLM oltre la semplice generazione di testo, dimostrando che possono fungere da agenti versatili per le interazioni conversazionali, i processi decisionali e il completamento delle attività.3 Nel campo fiorente dell'AI e della ricerca che circonda gli agenti AI e i framework di agenti, i framework multiagente, tra cui crewAI, sono entrati in scena nella gen AI.

La prossima generazione di applicazioni di AI utilizzerà l'architettura degli agenti per creare sistemi autonomi basati su agenti.4 Questi framework di agenti affrontano attività complesse per una serie di soluzioni di AI migliorando le attività di AI generativa. Ad esempio, gli AI chatbot possono essere una modalità per implementare i framework di agentic AI. I chatbot agenti, a differenza di quelli non agenti, possono utilizzare gli strumenti disponibili, pianificare le azioni prima di eseguirle e memorizzare le informazioni. Queste funzionalità producono conversazioni più sofisticate e significative.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Framework di agenti AI

I framework di agenti sono architetture di agenti AI che utilizzano il richiamo e l'orchestrazione degli strumenti per le applicazioni AI. I sistemi di agenti utilizzano la pianificazione, il perfezionamento iterativo, la riflessione e altri meccanismi di controllo per utilizzare appieno le funzionalità di ragionamento integrate nel modello per completare le attività end-to-end.5 L'implementazione di agenti AI all'interno dei sistemi AI automatizza i processi necessari per il funzionamento delle applicazioni di gen AI.

I framework di agenti forniscono anche capacità di apprendimento e prestazioni migliorate.a La messa a punto degli LLM per attività decisionali personalizzate richiede molte risorse e può ridurre le funzionalità di generalizzazione dei modelli.6 Gli agenti AI possono imparare dalle loro azioni ed esperienze precedenti, riducendo i costi di calcolo necessari per la messa a punto dei modelli.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Architettura di sistema di agenti

I framework di agenti possono utilizzare sistemi ad agente singolo o multiagente.

Agente singolo e multiagente a confronto

I framework ad agente singolo si basano su un unico modello linguistico per eseguire una vasta gamma di attività e responsabilità. All'agente vengono forniti un prompt di sistema e gli strumenti necessari per completare le proprie attività come la ricerca, le API e persino altri agenti. Sebbene i sistemi ad agente singolo possano interagire con altri agenti tramite strumenti, non cooperano allo stesso modo dei sistemi multiagente.

Nei sistemi ad agente singolo non c'è un meccanismo di feedback da parte di altri agenti AI; pertanto, per migliorare la precisione nel tempo, è consigliato il feedback umano per guidare l'agente. Le architetture ad agente singolo funzionano meglio per problemi ben definiti, dove il feedback di altri agenti o utenti non è necessario.7

Invece che cercare di racchiudere tutte le funzionalità in un unico modello, i sistemi multiagente (MAS) suddividono le attività tra diversi agenti specializzati. Le architetture multi-agente coinvolgono due o più agenti, che possono utilizzare lo stesso o diversi modelli linguistici. Indipendentemente dalle dimensioni, gli agenti lavorano all'interno dello stesso ambiente per plasmare gli obiettivi, la memoria e il piano d'azione dell'altro. Queste architetture dimostrano notevoli vantaggi rispetto ai prompt chain-of-thought (CoT), in cui il modello deve suddividere le attività in una serie di passaggi.8 Le architetture multiagente tendono a eccellere quando sono richieste collaborazione e più percorsi di esecuzione distinti.

Le migliori architetture di agenti da utilizzare dipendono dalle specifiche dell'applicazione complessiva e dal caso d'uso. I sistemi ad agente singolo sono i migliori per risolvere problemi più di nicchia. Si può pensare agli agenti come ad esperti nella risoluzione di problemi. Alcuni problemi richiedono le funzionalità individuali di un agente specializzato, altri potrebbero richiedere un team di esperti o un team con più agenti. I sistemi multiagente sono un team di agenti che collaborano per risolvere problemi che vanno oltre le funzionalità o le conoscenze individuali di ciascun agente. I sistemi multiagente possono risolvere problemi troppo grandi per i sistemi ad agente singolo. La ricerca suggerisce che i sistemi multiagente presentano vantaggi significativi, tra cui una maggiore velocità e affidabilità, oltre ad ovviare problemi come dati e conoscenze incerti.9 I vantaggi fondamentali dei sistemi multiagente simili a crewAI includono la collaborazione tra agenti, workflow autonomi e scalabilità.

Collaborazione tra agenti

Gli agenti di AI possono essere ottimizzati tramite i loro parametri versatili e personalizzabili. A ogni agente viene assegnata una persona che delinea il proprio ruolo insieme a eventuali istruzioni specifiche per il proprio comportamento.10 I framework multiagente utilizzano le capacità degli agenti di gestire le attività all'interno di un team mentre agiscono nei loro ruoli specifici e interagiscono tra loro. La composizione di questi team può essere adattata e ottimizzata a seconda dell'applicazione e degli obiettivi generali.

Un modo in cui viene implementata è tramite agenti generativi collaborativi. I framework multiagente sono in grado di fornire le facoltà essenziali necessarie per una collaborazione efficace.11 Alcuni framework multiagente forniscono modelli per la collaborazione tra agenti in base all'obiettivo generale. crewAI facilita la collaborazione degli agenti consentendo agli utenti di riunirli in team o crew che lavorano per portare a termine un obiettivo o un'attività comune.

Comportamento autonomo

Gli agenti AI autonomi possono completare un'attività o una serie di attività complesse senza essere guidati. Il potenziale degli agenti autonomi basati su LLM è riconosciuto come un approccio leader verso il raggiungimento dell'intelligenza artificiale generale (AGI).12 Questi agenti basati su LLM possono eseguire attività tramite pianificazione e azioni autonome. Sebbene abbiano dimostrato funzionalità eccezionali, gli agenti AI presentano ancora difficoltà nell'ampliare le proprie competenze per attività che richiedono forme di ragionamento più complesse.13 I sistemi di agenti aiutano ad affrontare queste sfide fornendo un framework per workflow autonomi. crewAI offre un comportamento autonomo attraverso il suo processo gerarchico che utilizza un agente responsabile generato autonomamente che supervisiona l'esecuzione e l'assegnazione delle attività degli agenti.

Scalabilità

I sistemi multiagente devono essere scalabili in diverse dimensioni. Tali dimensioni includono l'aumento del numero totale di agenti in un sistema o in un'applicazione, della diversità degli agenti e delle dimensioni dei dati su cui o con cui gli agenti operano.14 Molti framework multiagente sono dotati di strumenti come il monitoraggio e le metriche per valutare se il sistema è in grado di scalare correttamente. crewAI consente l'integrazione con strumenti di monitoraggio delle risorse e di metriche di terze parti per impostare l'osservabilità e le valutazioni per LLM, framework LLM e database vettoriali.

Agenti AI

Gli agenti AI sono sistemi o programmi basati su LLM che possono essere sviluppati per eseguire varie attività complesse. Gli agenti possiedono memoria e pianificazione che consentono loro di prendere decisioni indipendenti e di intraprendere azioni basate sulla loro precedente esperienza.15 Gli agenti potenziano le tradizionali funzionalità dei LLM, utilizzando i loro output per richiamare altri strumenti software (come il recupero dei dati) e reinserendo gli output a un LLM fino a quando non viene raggiunto l'obiettivo generale. Ciò che distingue gli agenti AI dai LLM tradizionali è la loro capacità di navigare, interagire e adattarsi all'ambiente attraverso la pianificazione delle azioni, l'utilizzo della memoria e il raffreddamento degli strumenti. I sistemi di agenti forniscono strumenti e orchestrazione agli agenti per eseguire algoritmi di machine learning associati alle loro attività.

Come funziona crewAI

crewAI è sviluppato su LangChain con un principio di progettazione modulare in mente. I suoi componenti principali sono costituiti da agenti, strumenti, attività, processi e crew.

Agenti

Gli agenti sono i componenti fondamentali del framework crewAI. Ogni agente è un'unità autonoma con ruoli diversi che contribuisce all'obiettivo generale della crew. Ogni agente è programmato per eseguire attività, gestire il processo decisionale e comunicare con altri agenti.

crewAI incoraggia gli utenti a pensare agli agenti come membri di un team. Gli agenti possono avere ruoli diversi, ad esempio "Data Scientist", "Ricercatore" o "Product Manager". Il team multiagente collabora efficacemente per eseguire workflow automatizzati.
 
Questa forma di sistema multiagente mira a migliorare le capacità di ragionamento degli LLM attraverso discussioni tra agenti, utilizzando una struttura di ruoli specializzati per facilitare la risoluzione di problemi complessi.16 Gli agenti interagiscono tra loro attraverso i meccanismi di delega e comunicazione intrinseci di crewAI, che conferiscono loro l'innata capacità di mettersi in contatto l'uno con l'altro per delegare il lavoro o porre domande.

Attributi dell'agente

Gli obiettivi e le caratteristiche dell'agente sono definiti dagli attributi. Gli agenti di crewAI hanno tre attributi principali: ruolo, obiettivo e contesto.

Ad esempio, un'istanza di un agente in crewAI potrebbe apparire così:

    agente = Agente(
         ruolo= "Supporto clienti",
         obiettivo= "Gestire le richieste e i problemi dei clienti",
         contesto= "Sei uno specialista del supporto clienti di una catena di ristoranti. Sei il responsabile della gestione delle chiamate,
         del supporto clienti e dell'inserimento dei dati di feedback."
         )
 

crewAI offre diversi parametri opzionali, tra cui gli attributi per scegliere quali LLM e dipendenze degli strumenti utilizza l'agente.17

Strumenti

Gli strumenti sono competenze o funzioni che gli agenti utilizzano per eseguire diverse attività. Gli utenti possono utilizzare sia gli strumenti personalizzati che quelli esistenti del toolkit crewAI e degli strumenti di LangChain.

Gli strumenti estendono le funzionalità degli agenti consentendo loro di eseguire un ampio spettro di attività, tra cui la gestione degli errori, i meccanismi di caching e la personalizzazione tramite argomenti flessibili degli strumenti.

Strumenti crewAI

Tutti gli strumenti contengono una gestione degli errori e supportano meccanismi di caching.

Il toolkit di crewAI contiene una suite di strumenti di ricerca che utilizzano la metodologia RAG (Retrieval-Augmented Generation) all'interno di diverse fonti. Ecco alcuni esempi:

  • JSONSearchTool: esegue ricerche di precisione all'interno dei file JSON.
  • GitHubSearchTool: ricerca nei repository GitHub.
  • YoutubeChannelSearchTool: ricerca nei canali YouTube.

Oltre agli strumenti RAG, il kit contiene anche diversi strumenti di web-scraping per la raccolta e l'estrazione dei dati.

Strumenti LangChain

crewAI offre una semplice integrazione con gli strumenti LangChain. Ecco alcuni esempi di strumenti integrati disponibili su LangChain:

  • Shell (bash): fornisce l'accesso alla shell, consentendo all'LLM di eseguirne i comandi.18
  • Confronto di documenti: utilizza un agente per confrontare due documenti.19
  • Python: consente agli agenti di scrivere ed eseguire codice Python per rispondere alle domande.20

Strumenti personalizzati

Gli utenti possono creare i propri strumenti per ottimizzare ulteriormente le funzionalità degli agenti. Come parte del pacchetto di strumenti crewAI, gli utenti possono creare uno strumento delineando una descrizione chiara dello scopo per cui verrà utilizzato. L'agente utilizzerà la descrizione fornita dall'utente per utilizzare lo strumento personalizzato. Gli strumenti personalizzati possono anche implementare un meccanismo di caching che può essere ottimizzato per un controllo granulare.

Attività

Le attività sono incarichi specifici completati dagli agenti. I dettagli per l'esecuzione sono facilitati dagli attributi delle attività. È possibile assegnare più agenti che lavorano insieme per completare la stessa attività.

Attributi dell'attività

Gli attributi obbligatori dell'attività includono la descrizione, l'agente e l'output previsto. Questi attributi definiscono l'ambito dell'attività, l'agente responsabile e l'obiettivo. Un'attività può essere assegnata direttamente a un agente o gestita attraverso il processo gerarchico di crewAI che decide in base ai ruoli e alla disponibilità.

Di seguito è riportato un esempio di attività:

data_collection = Attività (
     description= "Raccogli dati dalle interazioni con i clienti, dalla cronologia delle transazioni e dai ticket di assistenza"
     expected_output= "Una raccolta organizzata di dati che possono essere pre-elaborati",
     agente=data_science_agent,
)

Gli attributi opzionali delle attività includono l'integrazione degli strumenti, l'esecuzione asincrona per la concomitanza e i formati di output, tra cui JSON, modelli Pydantic e output di file per i risultati delle attività.

Funzioni dell'attività

Le funzioni delle attività includono l'integrazione degli strumenti, l'esecuzione asincrona, la revisione dell'input umano e la personalizzazione dell'output.

I risultati di un'attività possono stabilire il contesto per un'attività futura. Ad esempio, gli output di un'attività di "ricerca" possono essere utilizzati come contesto per completare un'attività di "scrittura". Consideriamo un semplice esempio, un team di due agenti, un agente di "ricerca" e un agente di "scrittura". L'agente di ricerca ha il compito di trovare esempi dei principali casi d'uso dell'AI generativa, l'agente di scrittura può utilizzare la ricerca risultante come contesto per eseguire l'attività di scrivere un breve blog sullo stesso argomento o su un argomento simile.

Le attività possono essere definite per l'esecuzione in modo asincrono. Ciò è utile per le attività che richiedono molto tempo per essere completate o che non sono necessarie per l'esecuzione delle attività successive. L'attributo contesto può essere utilizzato per definire in un'attività futura che deve attendere il completamento dell'output dell'attività asincrona.21

Processi

I processi consentono ai singoli agenti AI di operare come un'unità coesa orchestrando l'esecuzione delle attività. I processi nei framework di agenti definiscono il modo in cui gli agenti lavoreranno insieme e quali attività verranno loro assegnate. crewAI confronta i processi con la gestione dei progetti perché assicurano che le attività siano distribuite ed eseguite in modo efficiente e rimangano allineate con una strategia predefinita per il completamento dell'obiettivo.

crewAI include due implementazioni del processo: sequenziale e gerarchico e un piano per un terzo processo chiamato consensuale. I processi possono essere assegnati a un team di agenti per consentire loro di operare come un'unità coesa. Quando si assegna un processo a un team, il tipo di processo definisce la strategia di esecuzione.

  • Sequenziale: il processo sequenziale è simile al workflow di un team dinamico. Le attività vengono eseguite secondo l'ordine predefinito nell'elenco, con l'output di un'attività che serve come contesto per quella successiva.
  • Gerarchico: il processo gerarchico simula una gerarchia aziendale. crewAI genera autonomamente un responsabile per gli utenti utilizzando un modello linguistico del responsabile su misura per l'agente responsabile.22 L'agente responsabile supervisiona l'esecuzione delle attività e le assegna agli agenti in base alle loro funzionalità, esamina gli output e valuta il completamento delle attività. Questo processo è un esempio di agenti AI che lavorano in modo autonomo e collaborativo per completare una serie di attività.
  • Consensuale (pianificato): al momento della stesura, il processo consensuale non è attualmente implementato nel codice base, ma mira a fornire un modo per il processo decisionale collaborativo tra gli agenti sull'esecuzione delle attività. Questo processo introduce un approccio democratico alla gestione delle attività.

Crew

Una crew incarna un insieme collettivo di agenti che collaborano per svolgere una serie predefinita di attività.23 Ogni crew definisce la strategia per l'esecuzione delle attività e degli agenti e il workflow generale. Le crew hanno diversi attributi che aiutano a riunire gli agenti con ruoli e strumenti complementari, assegnare attività e selezionare un processo che determina il loro ordine di esecuzione e interazione.24

Attributi delle crew

Gli utenti scelgono e definiscono un elenco di agenti con cui collaborare come crew. Alle crew viene assegnato un elenco di compiti da completare. Gli attributi opzionali definiscono la strategia di esecuzione, la collaborazione con gli agenti e il workflow.

Ecco un esempio di crew composta da due agenti con l'obiettivo di lavorare insieme per raccogliere e organizzare i dati sul supporto clienti:

my_crew = Crew(
    agenti=[data_science_agent, customer_support_agent],
    attività=[customer_support_task, data_collection_task],
    processo=Process.sequential,
    full_output=True,
    verboso=Vero
)

Gli attributi aggiuntivi includono funzioni di callback, impostazioni di lingua e memoria e opzioni per impostare un agente responsabile e un LLM da utilizzare a seconda del flusso del processo (ad esempio, sequenziale, gerarchico). Una volta formata la crew, il workflow inizia tramite un metodo di avvio. crewAI fornisce diversi metodi di avvio per controllare il processo, inclusa l'esecuzione asincrona e individuale delle attività.25

Collegamento a qualsiasi LLM

crewAI può collegarsi a qualsiasi LLM attraverso una serie di opzioni di connessione. Per impostazione predefinita, gli agenti utilizzeranno il modello GPT-4 di OpenAI per l'elaborazione del linguaggio; tuttavia, crewAI offre la flessibilità di collegarsi a vari LLM, compresi modelli come la serie IBM Granite. I modelli locali possono essere collegati tramite ollama o altre API aperte. Esempi di configurazioni di chiavi API e tutorial sulla connessione a diversi LLM sono forniti nei documenti di crewAI. crewAI è compatibile con tutti i componenti LangChain LLM che forniscono a tutti gli LLM il supporto di base per un'interfaccia eseguibile.

Casi d'uso di crewAI

I framework di agenti AI come crewAI fungono da strumenti fondamentali per ricercatori e sviluppatori per creare sistemi intelligenti in vari domini, che vanno dai chatbot di agentic AI ai sistemi multiagente complessi.

Diversi esempi del mondo reale includono progetti come la creazione di pagine di destinazione interattive e l'utilizzo di una crew per automatizzare il processo di ottimizzazione della presenza sui social media. Esiste una raccolta di diversi esempi del mondo reale in un repository GitHub organizzato da Moura intitolato "crewai-examples" che gli utenti possono testare da soli.26 Questi esempi includono anche le introduzioni all'uso del framework per i principianti.

Ecco un elenco di alcuni di questi esempi e altri casi d'uso presenti nella comunità crewAI:

  • Pianificazione e creazione di contenuti: un caso d'uso utilizza crewAI e groq, un modello in linguaggio naturale, per creare un team di agenti specializzati per creare contenuti coinvolgenti e veritieri su un determinato argomento.27
  • Automatizzazione del controllo e della stesura delle e-mail: progettato come introduzione per i principianti, una crew di agenti completa attività di analisi e filtraggio delle e-mail, estrazione dei thread completi, ricerca e creazione di bozze di e-mail utilizzando la libreria LangGraph per automatizzare i workflow multiagente.28
  • Analisi dei titoli azionari: agli agenti vengono assegnati ruoli specifici per collaborare e fornire un'analisi completa delle azioni e raccomandazioni di investimento utilizzando GPT 3.5 invece di GPT-4 predefinito.29

Altri framework multiagente

crewAI si confronta con framework multiagente come AutoGen e ChatDev. Il suo più grande vantaggio è la combinazione di ciò che questi due framework fanno bene individualmente. crewAI combina la flessibilità degli agenti conversazionali di AutoGen con l'approccio ai processi strutturati di ChatDev.30

crewAI e AutoGen a confronto

AutoGen è il framework open source di Microsoft che utilizza algoritmi di elaborazione del linguaggio naturale per agenti di AI conversazionale. Sebbene entrambe le piattaforme siano utilizzate in applicazioni simili, ognuna di esse ha i rispettivi pro e contro. Entrambe sono sistemi flessibili con agenti AI personalizzabili in grado di collaborare. crewAI offre un modo più semplice per orchestrate le interazioni degli agenti fornendo attributi personalizzabili che controllano i processi dell'applicazione. Per raggiungere questo obiettivo, Autogen richiede una programmazione più complessa. AutoGen offre un modo integrato per eseguire rapidamente il codice generato dal'LLM.31 crewAI, attualmente, non offre strumenti per questa opzione, ma è possibile farlo con una configurazione di programmazione aggiuntiva.

crewAI e ChatDev a confronto

ChatDev è una piattaforma open source che sfrutta la collaborazione multiagente con ruoli specifici, tra cui crewAI. La struttura dei processi di ChatDev è rigida, quindi limita la personalizzazione e ostacola la scalabilità e la flessibilità degli ambienti di produzione. I framework come crewAI sono progettati per integrarsi con applicazioni di terze parti e workflow personalizzabili per ambienti dinamici e adattabili. Una funzionalità unica di ChatDev è che si estende come estensione del browser per concatenare le conversazioni tra vari agenti all'interno di un browser web.32

Come framework di orchestrazione multiagente, crewAI fornisce un'altra innovazione verso l'obiettivo dell'intelligenza artificiale. Le architetture di agenti miglioreranno le prestazioni e le funzionalità degli agenti AI, consentendo alle applicazioni LLM di svolgere compiti che vanno oltre la generazione del linguaggio.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

[1] "Ai Agents Forreal Use Cases," crewAI, https://www.crewai.com

[2] "Agents," LangChain, https://python.langchain.com/v0.1/docs/modules/agents/?WT.mc_id=academic-105485-koreyst.

[3] Yuan Li, Yixuan Zhang e Lichao Sun, «MetaAgents: simulazione delle interazioni dei comportamenti umani per il coordinamento orientato alle attività basato su LLM tramite agenti generativi collaborativi", arXiv.org, 10 ottobre 2023, https://arxiv.org/abs/2310.06500.

[4] Tula Masterman et al., "The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey," arXiv.org, 17 aprile 2024, https://arxiv.org/abs/2404.11584.

[5] Masterman et al., "The Landscape of Emerging AI Agent Architectures," 

[6] Andrew Zhao et al., "Expel: LLM Agents Are Experiential Learners," Proceedings of the AAAI Conference on Artificial Intelligence, 24 marzo, 2024, https://ojs.aaai.org/index.php/AAAI/article/view/29936.

[7] Masterman et al., "The Landscape of Emerging AI Agent Architectures," 

[8] Jason Wei et al, "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models", https://arxiv.org/abs/2201.11903.

[9] Sooyong Park and Vijayan Sugumaran, "Designing Multi-Agent Systems: A Framework and Application," Expert Systems with Applications 28, n° 2 (febbraio 2005): 259–71, https://doi.org/10.1016/j.eswa.2004.10.006.

[10] Masterman et al., "The Landscape of Emerging AI Agent Architectures," 

[11] Li et al, "MetaAgents: Simulating Interactions," 

[12] Lei Wang et al., "A Survey on Large Language Model Based Autonomous Agents - Frontiers of Computer Science," SpringerLink, 22 marzo, 2024,.

[13] Li et al, "MetaAgents: Simulating Interactions," 

[14] Omer F. Rana and Kate Stout, "What Is Scalability in Multi-Agent Systems?," ACM Digital Library, 1 giugno 2000, https://dl.acm.org/doi/10.1145/336595.337033.

[15] Petrova-Dimitrova, Veselka, "Classifications of Intelligence Agents and Their Applications", Journal of the Technical University – Sofia Plovdiv branch, Bulgaria “Fundamental Sciences and Applications, Vol. 28, 2022, https://journals.tu-plovdiv.bg/index.php/journal/article/view/559/43

[16] Li et al, "MetaAgents: Simulating Interactions,"

[17] Inc crewAI, "Crewai Agents," crewAI, https://docs.crewai.com/core-concepts/Agents/#creating-an-agent

[18] "Shell (Bash),"LangChain, https://python.langchain.com/v0.2/docs/integrations/tools/bash.

[19] "Document Comparison," LangChain,  https://python.langchain.com/v0.1/docs/integrations/toolkits/document_comparison_toolkit

[20] "Python," LangChain, https://python.langchain.com/v0.1/docs/integrations/toolkits/python

[21] Inc crewAI, "Crewai Tasks," crewAI, https://docs.crewai.com/core-concepts/Tasks/#asynchronous-execution

[22] Inc crewAI, "Managing Processes in Crewai," crewAI, https://docs.crewai.com/core-concepts/Processes/#hierarchical-process.

[23] MarioDeFelipe, "Multi AI Agents Use Case. SAP Maintenance Notification Creation," SAP Community, 20 febbraio 2024, https://community.sap.com/t5/artificial-intelligence-and-machine-learning-blogs/multi-ai-agents-use-case-sap-maintenance-notification-creation/ba-p/13608309

[24] Inc crewAI, "Crewai Crews," crewAI, https://docs.crewai.com/core-concepts/Crews/#kicking-off-a-crew

[25] Inc crewAI, "Crewai Crews," crewAI, https://docs.crewai.com/core-concepts/Crews/#different-ways-to-kicking-off-a-crew

[26] crewAIInc, “CREWAIINC/Crewai-Examples,” GitHub, https://github.com/crewAIInc/crewAI-examples?tab=readme-ov-file

[27] Thallyscostalat, "Building a Powerful Multi-Agent Workflow with Crewai and Groq, Medium, 19 maggio 2024, https://medium.com/@thallyscostalat/building-a-powerful-multi-agent-workflow-with-crewai-and-groq-55b4a1ba5cf6

[28] crewAIInc, "Crewai-Examples/Crewai-Langgraph at Main · CREWAIINC/Crewai-Examples," GitHub, https://github.com/crewAIInc/crewAI-examples/tree/main/CrewAI-LangGraph

[29] CrewaiInc, "Crewai-examples/stock_analysis at Main · CrewaiInc/Crewai-examples", GitHub, https://github.com/crewAIInc/crewAI-examples/tree/main/stock_analysis

[30] crewAIInc, "CREWAIINC/Crewai: Framework for Orchestrating Role-Playing, Autonomous AI Agents. by Fostering Collaborative Intelligence, Crewai Empowers Agents to Work Together Seamlessly, Tackling Complex Tasks.," GitHub, https://github.com/crewAIInc/crewAI?tab=readme-ov-file#how-crewai-compares.

[31] Vrousgou, Olga, "Code Execution Is Now by Default inside Docker Container: Autogen," AutoGen RSS, 23 gennaio 2024, https://microsoft.github.io/autogen/blog/2024/01/23/Code-execution-in-docker/.

[32] "Chatdev IDE: Building Your AI Agent," ChatDev, https://chatdev.toscl.com/introduce/.