AI-Framework-CrewAI
Overview
CrewAI is an open-source Python framework for building teams of autonomous AI agents that collaborate to complete tasks. Instead of a single agent doing everything, CrewAI enables multiple specialized agents (like a company team) that coordinate to solve complex problems.
User Request
↓
Planner Agent
↓
Research Agent
↓
Writer Agent
↓
Editor Agent
Each agent typically has a role, a goal, tools, memory, and tasks to complete.
Why CrewAI exists
Single-agent systems can struggle with complex tasks because one LLM must plan, research, reason, write, and validate.
CrewAI divides this work across multiple agents with specific responsibilities.
| Agent | Responsibility |
|---|---|
| Researcher | Gather information |
| Analyst | Analyze findings |
| Writer | Produce final content |
| Reviewer | Validate results |
This mimics human team collaboration.
Architecture
CrewAI architecture has two main layers:
Flow (Workflow Controller)
↓
Crew (Agent Team)
↓
Agents
↓
Tasks
↓
Tools / APIs
| Layer | Purpose |
|---|---|
| Flow | Controls execution and state |
| Crew | Team of agents |
| Agents | AI workers |
| Tasks | Work assigned to agents |
| Tools | External capabilities |
Flows manage execution while crews perform the intelligence work.
Key concepts
1. Agents
Agents are autonomous AI workers with defined roles and goals.
from crewai import Agent
researcher = Agent(
role="AI Researcher",
goal="Find latest information about AI trends",
backstory="Expert technology analyst",
verbose=True
)
An agent usually includes role, goal, backstory, tools, and LLM configuration. Agents can also delegate tasks to other agents.
2. Tasks
Tasks define specific work to be completed by an agent.
from crewai import Task
research_task = Task(
description="Research the latest developments in AI agents",
expected_output="Summary of recent AI agent frameworks",
agent=researcher
)
Think of tasks like: Agent = employee, Task = job assigned.
3. Crews
A crew is a team of agents working together to complete tasks.
from crewai import Crew
crew = Crew(
agents=[researcher],
tasks=[research_task],
verbose=True
)
crew.kickoff()
4. Tools
Tools allow agents to interact with external systems (web search, APIs, databases, code execution, file processing).
from crewai_tools import SerperDevTool
search_tool = SerperDevTool()
researcher = Agent(
role="Researcher",
goal="Find AI news",
tools=[search_tool]
)
Tools expand agent capabilities beyond text generation.
5. Flows
Flows control how crews execute tasks and provide state management and orchestration.
Flow
├── Manage state
├── Control execution
└── Delegate tasks to Crew
Flows provide fine-grained workflow control in production systems.
Installing CrewAI
pip install crewai
pip install 'crewai[tools]'
Environment variables:
OPENAI_API_KEY=your_key
SERPER_API_KEY=your_key
Simple CrewAI example
Goal: create a research + writer AI team.
Step 1 — Create agents
from crewai import Agent
researcher = Agent(
role="AI Researcher",
goal="Find the latest information about AI agents",
backstory="Technology analyst specializing in AI",
verbose=True
)
writer = Agent(
role="Content Writer",
goal="Write engaging articles about AI",
backstory="Professional tech writer",
verbose=True
)
Step 2 — Define tasks
from crewai import Task
research_task = Task(
description="Research the latest AI agent frameworks",
expected_output="A summary of frameworks like LangGraph and CrewAI",
agent=researcher
)
write_task = Task(
description="Write a blog post about AI agent frameworks",
expected_output="4 paragraph blog post",
agent=writer
)
Step 3 — Create the crew
from crewai import Crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
verbose=True
)
Step 4 — Run the crew
result = crew.kickoff()
print(result)
Execution flow:
Researcher Agent
↓
Collects information
↓
Writer Agent
↓
Generates article
Process types
Sequential process
Tasks run one after another:
Task1 → Task2 → Task3
Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process="sequential"
)
Hierarchical process
A manager agent delegates tasks to workers:
Manager
├ Researcher
├ Writer
└ Editor
This is useful for complex AI teams.
Communication, memory, and context
Agents can delegate, share context, and collaborate:
Research Agent
↓
Data
↓
Analysis Agent
↓
Writer Agent
Agents can also maintain memory across tasks:
Task1 → information saved
Task2 → uses saved context
Example architectures
AI research assistant
User Question
↓
Planner Agent
↓
Research Agent
↓
Analysis Agent
↓
Writer Agent
↓
Final Answer
AI marketing team
Research → Strategy → Content → Optimization
Production architecture
Frontend (React / Next.js)
↓
Backend API (FastAPI)
↓
CrewAI Flow
↓
Crew (Agents)
↓
Tools / APIs
↓
LLM Provider
LLM providers may include OpenAI, Anthropic, Google, or local models.
Advantages and limitations
Advantages
- Natural multi-agent design (agents behave like team members)
- Simpler than graph frameworks for many scenarios
- Production-ready capabilities (tools, state, error handling, caching)
- Modular architecture (agents and tools are reusable)
Limitations
- Less control than graph systems (some workflow details are abstracted)
- Harder to build complex branching logic compared to graph frameworks
- Not ideal for fully deterministic workflows; best suited for autonomous agents
CrewAI vs LangGraph vs LangChain
| Feature | LangChain | LangGraph | CrewAI |
|---|---|---|---|
| Focus | LLM components | Workflow orchestration | Multi-agent teams |
| Architecture | Chains | Graphs | Agent crews |
| Complexity | Medium | High | Medium |
| Multi-agent | Limited | Possible | Native |
| Workflow control | Moderate | Strong | Moderate |
Simplified view:
LangChain → AI building blocks
LangGraph → workflow orchestration
CrewAI → multi-agent collaboration
When to use CrewAI
CrewAI is ideal for:
- Autonomous research systems (Research → Analysis → Report)
- AI content teams (Researcher → Writer → Editor)
- Data analysis workflows (Collector → Analyst → Reporter)
- AI automation assistants (Planner → Executor → Validator)
Simple mental model
Think of CrewAI like a company of AI employees:
CrewAI
↓
Company
↓
Agents = Employees
Tasks = Work
Tools = Skills
Crew = Team
Resources
Summary
CrewAI is a multi-agent AI framework designed to build teams of collaborating AI agents. Its core components are agents, tasks, crews, tools, and flows, enabling AI teams that coordinate to solve complex problems.