?
GuideintermédiaireVérifié le 2025-05

CrewAI : équipes d'agents collaboratifs

Orchestrer plusieurs agents avec des rôles définis pour résoudre des tâches complexes.

CrewAI : orchestration multi-agents

CrewAI est un framework Python qui permet de créer des équipes d'agents IA collaboratifs. Chaque agent a un rôle, un objectif, et des outils spécifiques. Ils travaillent ensemble pour accomplir des tâches complexes.

Concepts clés

Agents

Un agent est défini par son rôle, son objectif et son backstory :

from crewai import Agent

researcher = Agent(
    role="Chercheur Senior",
    goal="Trouver les informations les plus pertinentes et récentes",
    backstory="Expert en recherche avec 10 ans d'expérience en veille technologique.",
    tools=[search_tool, scrape_tool],
    llm=ChatOpenAI(model="gpt-4o"),
    verbose=True
)

writer = Agent(
    role="Rédacteur Technique",
    goal="Produire du contenu clair et structuré à partir des recherches",
    backstory="Rédacteur technique spécialisé en IA et machine learning.",
    llm=ChatOpenAI(model="gpt-4o")
)

Tasks

Les tâches définissent ce que chaque agent doit accomplir :

from crewai import Task

research_task = Task(
    description="Recherche les dernières avancées en RAG pour 2025.",
    expected_output="Un rapport structuré avec sources et citations.",
    agent=researcher
)

write_task = Task(
    description="Rédige un article de blog basé sur la recherche.",
    expected_output="Article de 800 mots, format markdown.",
    agent=writer,
    context=[research_task]  # Dépend du résultat de la recherche
)

Crew

Le crew orchestre les agents et leurs tâches :

from crewai import Crew, Process

crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    process=Process.sequential,  # ou Process.hierarchical
    verbose=True
)

result = crew.kickoff()

Modes d'exécution

  • Sequential : Les tâches s'exécutent dans l'ordre, chaque agent passe le relais
  • Hierarchical : Un agent manager délègue et supervise les autres agents

Fonctionnalités avancées

Outils custom

from crewai.tools import tool

@tool
def query_database(query: str) -> str:
    """Exécute une requête SQL sur la base de données produit."""
    return db.execute(query)

Delegation

Les agents peuvent déléguer entre eux :

agent = Agent(
    role="Manager",
    allow_delegation=True,  # Peut demander à d'autres agents
    # ...
)

Cas d'usage typiques

  • Rédaction de contenu (recherche + rédaction + relecture)
  • Analyse de données (collecte + analyse + synthèse)
  • Support client (classification + réponse + escalade)
  • Veille concurrentielle (scraping + analyse + rapport)

Sources

agentsCrewAImulti-agent