A Tour of Agents

Comparisons / CrewAI

CrewAI vs Building from Scratch

CrewAI organizes work into Agents, Tasks, and Crews. Each Agent has a role, goal, and tools. Tasks define work items. The Crew orchestrates execution. But strip away the abstractions and you'll find the same patterns.

ConceptCrewAIPlain Python
AgentAgent(role, goal, backstory, tools, llm)A function with a system prompt and a tools dict
ToolsTool registration with @tool decorator, custom Tool classesA dict: tools[name](**args)
Agent LoopInternal to Agent execution, hidden from userA while loop over messages with tool_calls check
Task DelegationCrew(agents, tasks, process=sequential/hierarchical)A task queue processed in a while loop with a budget cap
MemoryShortTermMemory, LongTermMemory, EntityMemoryA dict injected into the system prompt
StateTask output passed between agents via Crew orchestrationA dict tracking tool calls and results

The verdict

CrewAI shines for multi-agent setups where you want named roles ("researcher", "writer"). But the core mechanics — tool dispatch, the agent loop, task scheduling — are the same patterns you can build in plain Python.