
CrewAI: framework open-source per orchestrare agenti AI autonomi
CrewAI è un framework Python per coordinare team di agenti AI autonomi con ruoli, task e flussi di lavoro collaborativi.
Cos'è
CrewAI è un framework open-source scritto in Python per l'orchestrazione di sistemi multi-agente basati su modelli di linguaggio (LLM). Ideato da João Moura e rilasciato nel novembre 2023 sotto l'egida di CrewAI, Inc., propone un approccio ispirato alla collaborazione umana: gli agenti assumono ruoli definiti, perseguono obiettivi specifici e lavorano all'interno di una "crew" (equipaggio) per portare a termine compiti complessi.
A differenza di molti framework che nascono come estensioni di ecosistemi esistenti, CrewAI è stato costruito da zero ed è indipendente da LangChain e da altre librerie analoghe. Questa scelta architetturale ne ha determinato la leggerezza e la semplicità d'uso, rendendolo popolare tra sviluppatori e team che cercano un punto di ingresso rapido nel mondo degli agenti autonomi. Il progetto è distribuito con licenza open-source e dispone di una documentazione ufficiale, di una piattaforma di apprendimento (learn.crewai.com) e di un repository di esempi pratici.
Il problema che risolve
Costruire sistemi multi-agente funzionanti richiede molto più che concatenare chiamate a un LLM. È necessario definire chi fa cosa, in quale ordine, come si scambiano informazioni e come si garantisce che l'output di un agente diventi input per il successivo. Senza un'astrazione adeguata, queste logiche finiscono dispersi in prompt artigianali, codice ad hoc e difficoltà di debugging.
CrewAI affronta il problema fornendo una struttura concettiale chiara basata su quattro elementi: gli agenti, i task, le crew e i processi. Gli sviluppatori non devono gestire manualmente ogni interazione tra modelli, ma possono descrivere il team, assegnare i compiti e scegliere la modalità di esecuzione. Questo riduce il codice boilerplate e rende esplicita la divisione del lavoro tra agenti specializzati.
Come funziona
Il cuore di CrewAI è una metafora organizzativa. Ogni agente viene definito attraverso tre proprietà principali:
- role: il ruolo svolto, ad esempio "Ricercatore Senior" o "Analista Finanziario";
- goal: l'obiettivo che l'agente deve perseguire;
- backstory: il contesto che ne guida lo stile, il tono e l'approccio al problema.
I compiti sono rappresentati da oggetti Task, ciascuno con una descrizione, un output atteso e un agente assegnato. Più task e più agenti vengono raggruppati in una Crew, che viene eseguita con il metodo kickoff().
Il framework offre diversi processi di esecuzione:
- sequential: i task vengono eseguiti uno dopo l'altro, passando l'output al task successivo;
- hierarchical: un agente manager coordina e delega i lavoratori;
- consensual: gli agenti votano per prendere decisioni collettive.