Principle:CrewAIInc CrewAI Crew Assembly
| Knowledge Sources | |
|---|---|
| Domains | Multi_Agent_Systems, Orchestration |
| Last Updated | 2026-02-11 00:00 GMT |
Overview
An orchestration pattern that composes a group of agents and their ordered tasks into an executable unit with a defined process strategy, shared resources, and lifecycle callbacks.
Description
Crew Assembly is the composition step where individual agents and tasks are organized into a cohesive execution unit. The crew defines the execution process (sequential or hierarchical), shared configuration like memory, caching, rate limiting, and embedder settings. It serves as the container that binds agents to tasks and provides the execution context for the entire workflow.
The assembly pattern ensures that all components are validated together: agents referenced by tasks must exist in the crew, process-specific requirements are checked (e.g., hierarchical requires a manager), and shared resources are initialized.
Usage
Use this principle after defining agents and tasks, and before execution. Crew Assembly is the step that brings all components together into a runnable unit. Choose the process type based on the coordination needs: sequential for deterministic ordering, hierarchical for manager-delegated routing.
Theoretical Basis
Crew Assembly implements the Composite Pattern for multi-agent systems. The Crew acts as a composite container that manages the lifecycle of its constituent agents and tasks. It follows the Pipeline Architecture for sequential process and Mediator Pattern for hierarchical process where a manager agent mediates between specialized workers.
Pseudo-code:
# Abstract crew composition
crew = compose_crew(
agents=[agent_1, agent_2, agent_3],
tasks=[task_1, task_2, task_3],
process=SEQUENTIAL, # or HIERARCHICAL
memory=enable_memory_subsystem(),
cache=True,
)
validate_crew(crew) # Ensure all references resolve