Process.sequential vs Process.hierarchical (Manager LLM) în CrewAI & Sisteme Multi-Agent

Cele două moduri de coordonare a unei echipe CrewAI: execuția liniară pas cu pas (Sequential) versus coordonarea dinamică printr-un agent Manager (Hierarchical).

Sintaxă & invocare Python
echipa_ierarhica = Crew(
    agents=[analist_sql, expert_python, redactor],
    tasks=[task_complex],
    process=Process.hierarchical,
    manager_llm=LLM(model="openai/gpt-4o", temperature=0)
)

Descriere & Utilizare

CrewAI oferă două strategii fundamentale de orchestrare prin enumerarea Process:

În modul Process.sequential (implicit), sarcinile se execută exact în ordinea în care apar în lista tasks, iar ieșirea fiecărei sarcini devine context pentru următoarea. Este modul ideal pentru 80% din fluxurile de producție în care pașii sunt cunoscuți de la început (ex: Cercetare -> Schiță -> Redactare -> Verificare).

În modul Process.hierarchical, CrewAI creează automat (sau primește prin manager_agent) un Agent Manager care preia obiectivul, împarte sub-sarcinile către agenții din echipă în funcție de role-ul lor, le evaluează răspunsurile și le cere revizuiri până când rezultatul este complet.

Cum să o reții ușor

💡 Process.sequential este o ștafetă 4x100m în care fiecare alergător știe exact de la cine preia bățul, iar Process.hierarchical este o echipă de filmare condusă de un regizor (Manager) care decide pe loc cine intră în cadru.

Opțiuni și parametri tehnici

  • Process.sequential: execută lista tasks în ordine strictă.
  • Process.hierarchical: necesită obligatoriu specificarea fie a lui manager_llm, fie a unui manager_agent personalizat.
  • manager_llm: modelul folosit de manager pentru planificare și delegare (recomandat un model de clasă înaltă: gpt-4o sau claude-3-7-sonnet).
  • planning=True: activează un Agent Planner care elaborează un plan detaliat pas cu pas înainte chiar și de o execuție secvențială!

Exemple practice și cazuri de utilizare

  • Adăugarea unui pas de planificare peste un flux secvențial: Crew(..., process=Process.sequential, planning=True, planning_llm="gpt-4o")
  • Definirea unui Manager personalizat: manager = Agent(role="Director de Proiect", goal="Coordonează echipa...", allow_delegation=True) pasat în manager_agent=manager.
  • În modul ierarhic, nu este obligatoriu să setezi agent=... pe fiecare Task — Managerul alege singur cel mai potrivit specialist.

Sfaturi de configurare & capcane

Dacă ai nevoie doar de o planificare mai inteligentă fără costul de tokeni al modului hierarchical complet, păstrează Process.sequential și activează planning=True pe Crew.

Comenzi și ghiduri înrudite