Sequential runs tasks in a fixed order with no router; hierarchical uses a manager LLM to pick the next agent per task at the cost of one extra call per assignment.
Imagine a kitchen with two ways to run a dinner service. In the first way, you write the menu order on a board: starter, main, dessert. Each cook picks up their dish when its turn comes. No supervisor, no decisions. In the second way, you hire a head chef who reads each order, looks at what each cook is doing, and tells them what to make next. The head chef is smart and flexible, but you pay their salary on every dish. The first way is sequential. The second way is hierarchical. Pick the head chef only when the order genuinely needs deciding, not when the menu is the same every night.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
CrewAI exposes two top-level process modes that govern how a crew runs through its task list: Process.sequential and Process.hierarchical. These are not minor configuration switches; they pick the entire coordination model of the crew. Sequential is a static execution order with no router. Hierarchical introduces a manager agent that LLM-routes every task assignment. The cost and latency profiles are materially different.
This walkthrough covers what each mode actually does on a CrewAI run, how the cost and latency math works out, when each is the right pick, and the production patterns that teams adopt once they have flown both modes in production.
Mental model: sequential is a pipeline. Hierarchical is a supervisor topology with the manager paid in LLM calls. The choice is mostly about whether the routing decision is real or imagined.
What sequential actually does on a run
Definition-time binding
In sequential mode, you define tasks in a list and each task is bound to a specific agent at definition time:
research_task = Task(description='Research X', agent=researcher)
write_task = Task(description='Write up findings', agent=writer)
crew = Crew(tasks=[research_task, write_task], process=Process.sequential)
Runtime execution
The runtime walks the task list in order. For task N:
- Builds the prompt by combining the task description, agent context, and the output of task N-1 (threaded forward).
- Calls the bound agent's LLM.
- Stores the output as context for task N+1.
No router. No assignment decision. No manager.
Cost and latency
- Cost: sum of worker LLM tokens. Nothing else.
- Latency: sum of worker call latencies, since tasks run serially.
- Trace: linear, one span per task. Easy to read and debug.
What sequential cannot do
The task order is fixed at definition time. If task 3 should depend on task 2's output in a content-dependent way (different agent depending on what task 2 returned), sequential cannot express it. You bail out to plain Python (write a function that picks the next task and calls the crew with a different list) or you switch to hierarchical.
When sequential is the right pick
- Workflow is a known pipeline (research, outline, draft, edit).
- Task order is fixed and content-independent.
- Cost or latency budget is tight.
- You want maximum debuggability.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- CrewAI's official tutorials (research crew, content crew) use sequential by default; hierarchical appears only in the advanced docs.
- Customer-support triage crews use hierarchical because the next agent depends on whether the issue is billing, technical, or escalation.
What an interviewer would ask next. Try answering before peeking at the approach.
QHow would you decide whether a hierarchical crew's manager is earning its cost?
Compute manager-token share of total tokens per task. If over 50%, the router is dominating. Also count manager iterations per task; over 3-4 means the router is thrashing. Compare end to end success rate to a sequential baseline on the same tasks.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Defaulting to hierarchical because it sounds more sophisticated. Sequential is faster, cheaper, and easier to debug whenever the workflow is a known pipeline.
60 second bullets to scan on the way to the call.
Who decides task assignment in sequential versus hierarchical
The role of the manager_llm parameter
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.