All articles
May 25, 2025 6 min read

The agent framework landscape: lightweight SDKs vs orchestration frameworks

OpenAI Agents SDK, Google ADK, AWS Strands, CrewAI, LangGraph — the space looks crowded, but it splits into two camps. Knowing which camp a tool belongs to tells you what it's good at.

Written forEngineeringProduct
Agent FrameworksArchitectureTooling

The agent framework space looks impossibly crowded, but it clusters into two categories: lightweight, provider-backed SDKs, and higher-level orchestration frameworks. Sorting any tool into one of those two buckets makes the choice much clearer than comparing them one against another.

Category 1: lightweight, code-first SDKs

These are minimal, unopinionated libraries — usually from a model provider — that hand you the agent loop, tool calling, and handoffs without much ceremony. You write mostly normal code, and the SDK stays thin.

  • OpenAI Agents SDK — a small, production-minded successor to Swarm: agents, tools, handoffs, and guardrails, tightly integrated with OpenAI's models and the Responses API.
  • Google ADK (Agent Development Kit) — Google's open-source, code-first framework for building and deploying agents, model-flexible and integrated with Vertex AI.
  • AWS Strands Agents — AWS's open-source, model-driven SDK: you describe the model, tools, and prompt, and let the model drive the loop; it pairs naturally with Bedrock and AgentCore.

What they share: you stay close to the metal, the abstraction is light, and they lean on their provider's runtime and models.

Category 2: orchestration frameworks

These sit a level up. They bring structure for multi-agent collaboration, complex control flow, and stateful workflows — more concepts to learn, but more done for you.

  • CrewAI — models a team of role-playing agents (a 'crew') collaborating on tasks; opinionated and quick for multi-agent division of labour.
  • LangGraph / LangChain — LangChain for integrations and building blocks, LangGraph for explicit, stateful, graph-based control over an agent's steps; powerful when you need fine-grained, durable orchestration.

Which category do you need?

  • Start in Category 1 when — you want a lean agent close to one provider's stack and you'll own the orchestration in your own code.
  • Move to Category 2 when — you need multiple agents coordinating, complex or long-running stateful flows, or graph-level control worth the extra abstraction.
  • Watch the trade — lightweight SDKs keep you flexible and legible; orchestration frameworks do more but ask you to adopt their model of the world.
Don't ask 'which agent framework is best?'. Ask whether you want a thin SDK you drive, or a framework that drives the orchestration for you.
Building something with LLMs?
I help teams ship GenAI that’s reliable and cost-efficient.
Let’s talk