Sequential Process
Tasks run in the order you list them. Set Process.sequential on the crew so each task's output is automatically passed as context to the next. Use this 80% of the time.
Sequential crew
from crewai import Crew, Process
crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, write_task, edit_task],
process=Process.sequential,
verbose=True,
)
result = crew.kickoff(inputs={"topic": "agentic RAG"})
When to use
- The flow is linear and known up front
- You want predictable cost and latency
- Each task has a clear single owner
Hierarchical Process
A manager agent (auto-created or provided) decides which worker handles each task and verifies their work. Workers don't see each other directly.
Hierarchical crew
from crewai import Crew, Process
from langchain_openai import ChatOpenAI
crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, write_task, edit_task],
process=Process.hierarchical,
manager_llm=ChatOpenAI(model="gpt-4o"), # required for hierarchical
verbose=True,
)
Or supply your own manager:
Custom manager agent
manager = Agent(
role="Engineering Director",
goal="Ship a high-quality brief on schedule",
backstory="You delegate decisively and verify outputs against the spec.",
allow_delegation=True,
)
crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, write_task, edit_task],
process=Process.hierarchical,
manager_agent=manager,
)
When to use
- Task assignment depends on incoming data
- You want the manager to re-run sub-tasks if quality is low
- Complex coordination where pre-defining order is hard
Sequential vs Hierarchical
Cost
Hierarchical typically uses 2–3× more tokens (the manager re-evaluates and supervises). Plan for it.
Determinism
Sequential is reproducible. Hierarchical can take different paths each run.
Debuggability
Sequential = easy. Hierarchical adds a layer of "why did the manager choose that?" — verbose mode is mandatory.
Rule of thumb: Start sequential. Switch to hierarchical only when you've measured a real coordination problem you can't solve with explicit task ordering.
Notes
Hierarchical managers can serialize your whole crew
Every delegation waits on the manager LLM. Watch queue depth and consider sharding work across multiple crews when throughput matters.
Sequential is easier to reason about in audits
Linear pipelines produce simple timelines for compliance. Reach for hierarchy when routing genuinely varies by case, not because it sounds smarter.
Custom processes need explicit failure semantics
When you leave built-in flows, you own retries, partial outputs, and idempotency. Document what happens if an agent exits early.
Process choice affects memory pressure
Managers often re-read full histories. Summarize or trim context between delegations to avoid quadratic token growth.
CrewAI processes FAQ
What is Process.sequential in CrewAI?
Sequential runs tasks in strict order, passing context forward. It is the default mental model and the easiest to debug when dependencies are linear.
When should I use hierarchical processes?
Use hierarchical flows when a manager agent should assign or review work dynamically, accepting extra tokens and complexity for flexible routing.
Can I mix CrewAI processes in one app?
Different crews can use different processes. Keep boundaries clear so operators know which crews are manager-mediated versus fixed pipelines.
What breaks hierarchical CrewAI crews?
Unclear manager mandates, overlapping agent roles, and unlimited delegation depth. Add caps and explicit success criteria for manager tasks.
How do processes relate to Flows?
Processes live inside crews, while Flows sit above crews to coordinate branching, persistence, and external triggers across multiple steps.
See also: DevShelfHub's CrewAI tool review for a product-level comparison, pricing notes, and links back into this tutorial series.