One-Line Summary: Role-based orchestration — popularized by CrewAI — assigns work by role (researcher, writer, editor) rather than by topology shape, with each role's persona, tools, and termination condition baked into a reusable definition; the topology emerges from how the roles are wired together.
Prerequisites: Sub-agents as primitives, agent definitions and personas
What Is Role-Based Orchestration?
Role-based orchestration starts not from "what topology" but from "what roles." You define a crew — researcher, writer, editor, fact-checker — and then specify how their work flows: sequential (researcher → writer → editor), hierarchical (manager assigns work to the others), or some combination. The framework handles the orchestration mechanics; you handle the roles.
CrewAI is the strongest framework expression of this style. A Crew is a collection of Agents, each with a role, goal, backstory, and tools. Tasks are assigned to agents. A Process (sequential or hierarchical) defines execution order. The combination is opinionated and approachable — you can stand up a working multi-agent system in 30 lines of YAML.
How It Works
A CrewAI definition:
agents:
researcher:
role: "Senior Research Analyst"
goal: "Find authoritative sources on {topic}"
tools: [web_search]
writer:
role: "Tech Journalist"
goal: "Produce a 1000-word article from research notes"
tools: [file_write]
editor:
role: "Editor-in-Chief"
goal: "Polish drafts to publication quality"
tools: [file_edit]
tasks:
- description: "Research {topic}"
agent: researcher
- description: "Write an article on {topic}"
agent: writer
- description: "Edit the article"
agent: editor
process: sequentialThe crew runs the tasks in order; outputs of one task become context for the next. Hierarchical mode adds a manager agent that picks who works next.
Why It Matters
Role-based orchestration is the most approachable multi-agent pattern. It maps directly to mental models people already use ("a content team has a researcher and a writer"), it requires minimal infrastructure, and it produces predictable results for a wide class of tasks.
The cost of approachability is opinion. Role-based frameworks make assumptions about how work flows that are not always right. For tasks that don't decompose into a fixed pipeline of roles, supervisor or hive-mind topologies adapt better.
Key Technical Details
- Role definitions are primarily personas: The role/goal/backstory triple shapes voice and decision-making more than tool access does.
- Sequential is the default for a reason: It is debuggable and predictable. Move to hierarchical only when the order of work is genuinely variable.
- Tool access is per-role: Roles own tools; tasks invoke roles. This means tools cannot easily be shared across roles, which is sometimes the right constraint.
- Hierarchical mode adds a manager: An LLM that picks the next role. Essentially a supervisor pattern wearing role-based clothing.
- Memory is crew-scoped: A crew has shared memory; roles within a crew see it.
- YAML or code: CrewAI accepts both. YAML is approachable; code is more flexible (custom tools, custom termination).
How Harnesses & Frameworks Implement This
| Harness / Framework | Role-based support |
|---|---|
| Claude Code | DIY via sub-agent definitions and a coordinator |
| Claude Agent SDK | Same |
| ruflo | First-class — 100+ role definitions ship; can be composed |
| LangGraph | DIY — roles as graph nodes |
| AutoGen | Roles as ConversableAgents; closer to conversational than role-based |
| CrewAI | First-class — flagship pattern |
| OpenAI Agents SDK | Agent is role-shaped; handoffs compose them |
| Codex CLI / Cursor | ✗ |
Connections to Other Concepts
agent-definitions-and-personas.md— The reusable role artifact.supervisor-pattern-deep-dive.md— Hierarchical role-based ≈ supervisor.conversational-orchestration.md— Roles as conversation participants.topology-selection-decision-tree.md— When role-based is right.../../ai-agent-concepts/05-multi-agent-systems/role-based-specialization.md— Foundational coverage.
Further Reading
- CrewAI documentation — The canonical reference.