Skip to course content
Free CrewAI course

CrewAI for Multi-Agent Automation

Unit 03.00: Sequential: predictable, and sometimes wasteful

Sequential is the process you should default to, and it is worth being clear about what it costs as well as what it guarantees.

The order is a fact you can read

Each task runs once, in the order written, passing output forward. The sequence is in your source file rather than in a model's decision.

The code builds a two-task sequential crew and prints the order.

from crewai import Agent, Task, Crew, Process

a = Agent(role="Researcher", goal="Gather facts", backstory="You cite sources.",
          allow_delegation=False)
b = Agent(role="Writer", goal="Draft the summary", backstory="You write plainly.",
          allow_delegation=False)

tasks = [
    Task(description="Gather the June charges", expected_output="A list", agent=a),
    Task(description="Draft the summary", expected_output="3 sentences", agent=b),
]
crew = Crew(agents=[a, b], tasks=tasks, process=Process.sequential)

print("process:", crew.process)
print("order  :", [t.description for t in crew.tasks])

print("""
Sequential runs each task once, in the order you wrote them, passing output
forward. Its virtue is that the order is a fact you can read, not a decision a
model made.

Its waste is that every task runs even when it need not. If the first task
finds nothing, the second still runs, still costs tokens, and produces a
summary of nothing.
""")

That readability is the whole value. When a run goes wrong you know exactly which task ran and in what order, because it is the order you wrote - there is no routing decision to reconstruct.

The waste is that every task runs regardless. If the research task finds nothing, the writing task still runs, still costs tokens, and produces a confident summary of nothing. Sequential has no way to say *skip this*.

The mistake this prevents

The mistake is fixing that waste by switching to hierarchical. A manager agent costs more than the wasted task in most cases. The cheaper fix is a guardrail that stops the run, or a flow that branches - both covered later, and both deterministic.

Takeaway

Sequential guarantees a readable order and wastes work on tasks that should have been skipped. Fix the waste with a guardrail or a flow, not by adding a manager.