Framework

CrewAI: agents that work as a crew

CrewAI models a workflow as a team of specialized agents — each with a role, a goal, and a toolset — collaborating under a managed process. We use it where clear division of labor beats hand-wired control flow.

  • Role-based agent crews
  • Sequential & hierarchical process
  • Typed tools & structured output
  • Model-agnostic via LiteLLM
MIT
open-source license, no runtime lock-in
2
modes: autonomous Crews + deterministic Flows
100+
LLMs reachable through LiteLLM routing
0
framework dependency on a single vendor
// the mental model

A workflow as a team, not a script

CrewAI borrows the org-chart metaphor on purpose.

Instead of one giant prompt or a tangle of conditionals, you describe the people you would hire for the job. Each agent gets a role ("Senior Market Analyst"), a goal, a backstory that shapes its behavior, and a narrow set of tools it is allowed to use. A task assigns work to an agent and declares the expected output.

A crew binds those agents and tasks together under a process. In a sequential process, tasks run in order and each output feeds the next. In a hierarchical process, a manager agent plans, delegates to workers, and validates their results — useful when the decomposition itself is part of the problem.

The abstraction earns its keep when responsibilities are genuinely separable. It is not a silver bullet: for workflows that hinge on conditional routing, mid-run human input, and durable retries, we layer in LangGraph or Temporal rather than forcing everything into a crew.

// the building blocks

What we actually build with

CrewAI's primitives map cleanly onto an agent architecture — here's how we use each one in production.

// how we ship it

From use case to running crew

A measured path that keeps autonomy bounded at every step.

01

Decompose

We break the workflow into roles and tasks, deciding what genuinely needs an agent versus a plain function call.

02

Wire tools

We build typed, validated tools over your systems and scope each agent to only the tools its role requires.

03

Bound

We set iteration limits, token budgets, structured outputs, and human-approval gates on consequential actions.

04

Observe

We add execution tracing and evals, then deploy to your environment and tune as real traffic arrives.

// vendor-honest

Open framework, your model, your perimeter

CrewAI is independent of LangChain and ships under the MIT license, so adopting it does not hand control of your stack to a vendor. Because it routes model calls through LiteLLM, the same crew definition can run against Anthropic, OpenAI, or an open model you host yourself.

We treat the agent layer and the model layer as separable on purpose. That keeps you free to move a workload to a cheaper or self-hosted model later, and it lets the whole crew run inside your VPC or on-prem when the data demands it.

  • MIT-licensed, no runtime lock-in
  • Swap models without rewriting the crew
  • Runs in your VPC, on-prem, or air-gapped

CrewAI vs. a graph framework

We choose per workload — this is the trade-off we weigh.

CrewAI crewsLangGraph / graph control
Mental modelA team of roles collaboratingAn explicit state machine of nodes
Best fitSeparable, role-shaped workBranching, looping, conditional flow
Control granularityHigh-level, process-drivenFine-grained, edge-by-edge
Time to first crewFast — declarative rolesSlower — you wire the graph
Where we reach for itResearch, drafting, review pipelinesDurable, human-in-loop orchestration

Frequently asked questions

When is CrewAI the right choice over a graph framework?

When the problem decomposes naturally into roles — a researcher, a writer, a reviewer — and the value is in clear division of labor rather than fine-grained control flow. For complex branching, retries, and conditional routing, we usually reach for LangGraph or Temporal instead.

Does CrewAI lock us into a specific model or vendor?

No. CrewAI is open-source (MIT) and model-agnostic — it runs on top of LiteLLM, so the same crew can target Anthropic, OpenAI, or a self-hosted open model. We design the agent and model layers separately so you can swap either without a rewrite.

Crews vs. CrewAI Flows — which do you use?

Both, deliberately. Crews give you autonomous, role-based collaboration; Flows give you deterministic, event-driven orchestration with explicit state. We typically wrap autonomous crews inside a Flow so the high-stakes control path stays predictable and auditable.

How do you keep an autonomous crew from going off the rails?

Scoped tools with input validation, max-iteration and token budgets per agent, structured Pydantic outputs, human-approval gates on consequential actions, and full execution traces. Autonomy is bounded by design, not by hope.

Related frameworks & models

CrewAI is one tool in the kit. We compose it with these depending on the job.

Bring a workflow. We'll show you the crew.

One working session to decompose your process into roles, tools, and a process — and decide whether CrewAI is the right fit.