Picking a framework

There are a dozen agent frameworks and the list grows monthly. Instead of comparing feature matrices, use this decision tree.

Decision tree

Do you need a framework at all?

For a simple ReAct agent with 3-5 tools, raw LLM API + a short Python loop might be simplest. A framework adds abstraction that may be more complexity than value for simple agents.

Start without a framework. Adopt one when you hit real pain that the framework solves.

Are you all-in on Claude?

Yes → Claude Agent SDK. Strong MCP integration, behavior parity with Claude Code, Anthropic-native.

Do you need multi-model flexibility?

Yes → LangGraph. Most provider-agnostic and has mature tooling.

Is your problem explicitly multi-agent?

Yes, role-based agents → CrewAI (simpler) or AutoGen (more flexible)
Yes, graph-based flow → LangGraph

Are you prototyping vs shipping?

Prototyping → CrewAI or a simple direct-API approach
Shipping to production → LangGraph, Claude Agent SDK, or your own framework on raw API

What's your team's existing stack?

Already deep in LangChain → LangGraph (natural evolution)
Python data science team → AutoGen fits well
Greenfield → Claude Agent SDK or DIY

The recommendation I actually make

For 80% of production use cases: start with Claude Agent SDK if you're on Claude, or raw OpenAI/Anthropic API with your own small orchestrator. Add a framework only when you hit limits.

LangGraph is the most "production-ready" of the established frameworks for multi-model use.

CrewAI is the fastest way to prototype multi-agent ideas.

The "don't lock in" rule

Build your agent logic behind your own interface so you can swap frameworks later. Frameworks change, models change, patterns change. The business logic you own. Abstract the framework.