Unit 01.01: When one agent beats a crew
The framework is called CrewAI, which makes it easy to forget that one agent is a legitimate answer - and frequently the right one.
What a second agent has to be for
A second agent earns its place when it needs different instructions, different tools, or different permissions. Those are three concrete conditions, and if none holds you have added a handoff for nothing.
The code sorts five workflows by how many agents they actually need.
CASES = [
("summarise one document", 1, "no second perspective needed"),
("summarise, then fact-check the summary", 2, "checking needs different instructions"),
("draft an email in a house style", 1, "one job, one output"),
("research, draft, and legal-review", 3, "three genuinely different jobs"),
("classify a ticket into four buckets", 1, "one decision, no handoff"),
]
print(f"{'workflow':44} {'agents':>7} why")
for workflow, agents, why in CASES:
print(f"{workflow:44} {agents:>7} {why}")
single = sum(1 for _, n, _ in CASES if n == 1)
print(f"\n{single} of {len(CASES)} need exactly one agent.")
# A second agent earns its place when it needs different instructions, different
# tools, or different permissions. "The prompt got long" is not one of those --
# that is a prompt problem, and splitting it makes it a coordination problem.
Three of the five need exactly one agent. "Summarise one document" has no second perspective to bring; "classify a ticket into four buckets" is one decision with no handoff.
"Summarise, then fact-check the summary" is the interesting split. The checker needs genuinely different instructions - check against the source, approve nothing the source does not state - and giving one agent both jobs means asking it to check its own work, which it will do generously.
The mistake this prevents
The mistake is splitting because the prompt got long. That is a prompt problem, and splitting it converts it into a coordination problem: the long prompt is now spread across two agents that can disagree, plus a handoff where context gets dropped.
Takeaway
Add an agent when it needs different instructions, tools, or permissions. One agent with two tasks is usually better than two agents with one each.
