CrewAI: Role-Based Multi-Agent (Emergent Coordination)
45,900+ stars. Most accessible multi-agent framework. Role-based sequential/concurrent crews. 1.8s avg latency. The emergent-coordination pole — paired with LangGraph (DD-10) as the declared-coordination pole, both load-bearing for Course 4 E09 (Multi-Agent Orchestration).
CrewAI and LangGraph (DD-10) define the multi-agent coordination axis: emergent vs declared. CrewAI is the emergent-coordination pole — define roles and tasks, the graph emerges from context refs and process type. LangGraph is the declared-coordination pole — draw nodes and edges, the graph is a first-class object. Every multi-agent framework sits between these two poles. This axis is the organizing principle of Course 4 E09.
Role is the system prompt — the most accessible multi-agent mental model in the roster. CrewAI does not give you a raw system-prompt string; it gives you a templated one whose fields are role, goal, backstory. Module 12 (Prompt Assembly) applied at agent granularity. 'Describe the team' beats 'draw the graph' for first-time builders. The cost: when the template is wrong, you fight the framework's opinion.
Sequential crews earn the 4/5 on Module 1.3 (Subagents) — a textbook multi-agent pattern. Tasks run in list order; each output chains forward as context for the next agent. A linear ReAct chain stretched across multiple roles. Composes well for research-then-write, draft-then-review, plan-then-execute. Concurrent/hierarchical mode adds a manager agent (one-level hierarchy, shallower than DD-06).
Crew-scoped shared memory creates a compounding-poisoning surface with no write isolation. All agents in a crew share one memory store — a compromised agent writes a poisoned entry every other agent reads. Module 4.3 write-gating unavailable by default. Same argument as Hermes (DD-08), except compounding is across agents within a run, not across sessions. Each task-output handoff is also an untrusted-content boundary (Module 2.4 Vector 1).