CrewAI orchestrates multiple specialized AI agents working together to complete complex tasks. These exercises cover the Agent-Task-Crew relationship, process types (sequential vs. hierarchical), tool assignment, task context dependencies, and declarative YAML configuration.
0 / 5 completed
1 / 5
In CrewAI, what is the relationship between Agents, Tasks, and a Crew?
In CrewAI: Agents have a role, goal, and backstory defining their persona and capabilities. Tasks define a specific assignment with a description and expected output, assigned to an agent. A Crew groups agents and tasks together and executes them according to the configured process type.
2 / 5
What is the difference between Process.sequential and Process.hierarchical in CrewAI?
In Process.sequential, tasks execute in order, with each task's output available to the next. In Process.hierarchical, a manager agent (created automatically or specified) dynamically delegates tasks to worker agents, reviews their outputs, and determines the execution flow — enabling more flexible multi-agent coordination.
3 / 5
A developer assigns tools=[SerperDevTool()] to a CrewAI Agent. What does this enable?
Assigning tools to an agent equips it with additional capabilities. SerperDevTool gives the agent the ability to perform web searches via the Serper API. The LLM decides when to invoke the tool based on the task requirements, and CrewAI handles the tool execution and feeding results back to the agent.
4 / 5
What does the context parameter on a CrewAI Task do?
The context parameter accepts a list of other Task objects. When the task executes, the outputs of the specified context tasks are automatically included in the prompt. This creates explicit data dependencies between tasks, ensuring an agent has the information it needs from preceding tasks.
5 / 5
Which CrewAI feature allows defining reusable agent and task configurations in YAML files?
CrewAI supports YAML-based configuration where agent roles and task definitions are stored in agents.yaml and tasks.yaml files. The Crew class loads these configurations, separating the agent/task definitions from the Python orchestration code and making it easier to modify behavior without changing code.