Home / Insights / AI Agents and Automation

AI Agents and Automation

Choosing an Agentic AI Framework: LangGraph, CrewAI, OpenAI Agents SDK, Google ADK and Microsoft Agent Framework

Agent frameworks change quickly, and the most popular one is not always the right one. This guide explains what a framework actually gives you, compares the main options on control, ecosystem, observability and lock-in, and shows how to run a two-week bake-off before committing.

TopicsAI Agents and AutomationGenerative AI and LLMsArchitecture and Modernization

Key takeaways

  • A framework gives you an agent loop, tool calling, state, orchestration and tracing. It does not give you good tools, evaluation or permissions — you still build those.
  • Choose by control model first: graph-based frameworks (LangGraph, Google ADK workflows, Microsoft Agent Framework workflows) give explicit control; role-based frameworks (CrewAI) and lightweight SDKs (OpenAI Agents SDK) are faster to start.
  • Microsoft Agent Framework 1.0 (April 2026) is the successor to AutoGen and Semantic Kernel. New Microsoft-stack projects should start there, not on AutoGen.
  • The largest lock-in usually comes from a hosted runtime or tracing platform, not the open-source library. Keep tools, prompts and evaluations framework-independent.
  • Run a two-week bake-off on three of your own tasks with the same tools and evaluation set before committing.

There are now dozens of frameworks for building AI agents, and new versions arrive every few weeks. Rankings of the “top ten frameworks” date almost as soon as they are published: projects are renamed, merged into successors or move into maintenance mode. A better approach is to understand what a framework does for you, decide which properties matter for your product, and test a short list against your own tasks.

This guide explains the job a framework does, compares the most widely used options as of November 2026, and gives a scored method for choosing. If you are still deciding whether you need an agent at all, start with our guide to what AI agents are and where they fit.

What a framework gives you, and what it does not

At its core, an agent is a loop: a model chooses an action, your code executes a tool, the result goes back to the model, and the loop continues until the task is done. You can write that loop yourself in a few hundred lines. Frameworks earn their place by handling what becomes painful at scale.

A framework typically providesYou still have to build
——
The agent loop and tool-calling plumbing across model providersTools that are well described, narrowly scoped and safe
State management, checkpoints and resumable runsPermission checks and tenant isolation inside each tool
Orchestration patterns: routing, parallel steps, handoffs, multi-agent coordinationThe decision about which pattern your use case needs
Human-in-the-loop pauses and approvalsThe business rules for when approval is required
Tracing and debugging of runsAn evaluation set and quality thresholds
Integrations: vector stores, MCP servers, hosted toolsData governance, retention and personal data handling

The right-hand column is usually where projects succeed or fail.

Anthropic’s guidance on building agents makes a point worth repeating: frameworks make it easy to start but can add layers of abstraction that hide the prompts and responses underneath, which makes debugging harder. Whatever you choose, make sure you can see exactly what is sent to and returned from the model.

The two control models

The biggest practical difference between frameworks is how much of the control flow you define.

  • Explicit control (graphs and workflows). You define nodes and edges — steps, branches, loops and where the model decides. The model operates inside a structure you can see, test and reason about. This suits regulated processes, long-running tasks and anything that must resume after a failure.
  • Delegated control (agents and roles). You define agents, their instructions and tools, and let the model decide the sequence, including handing work to other agents. This is faster to prototype and suits open-ended work, but behaviour is harder to predict.

Most mature frameworks now offer both, so the question is which one is the native, best-supported path. Teams building customer-facing or high-risk workflows usually want explicit control with agentic steps inside it.

The main frameworks compared

The table below summarises the options we are most often asked about. Licences and status were checked against each project’s repository or official announcement on the date shown at the end of this article.

FrameworkMaintainerLicenceControl modelLanguagesBest suited to
——————
LangGraphLangChainMITExplicit graphs with durable state and checkpointsPython, JavaScriptComplex, long-running or regulated flows that need fine control and resumability
CrewAICrewAI Inc.MITRole-based crews of agents; also event-driven flowsPythonFast prototypes of multi-agent collaboration; content and research tasks
OpenAI Agents SDKOpenAIMITLightweight agents with handoffs, guardrails, sessions and tracingPython, JavaScriptTeams wanting a minimal SDK, especially on OpenAI models
Google Agent Development Kit (ADK)GoogleApache 2.0Code-first agents plus a graph-based workflow runtimePythonTeams on Google Cloud or Vertex AI; multi-agent hierarchies
Microsoft Agent FrameworkMicrosoftOpen source (check repository)Agents plus graph-based workflows; successor to AutoGen and Semantic Kernel.NET, PythonMicrosoft and Azure stacks; enterprise .NET teams
LlamaIndex agents and workflowsLlamaIndexOpen source (check repository)Event-driven workflows with strong retrieval toolingPython, TypeScriptAgents centred on document retrieval and knowledge work

Status as of November 2026. Frameworks evolve quickly; check release notes before committing.

LangGraph

LangGraph models an agent as a graph of nodes that share state. You decide where the model makes choices and where deterministic code runs. Its strengths are durable execution — runs can be checkpointed, paused for human input and resumed — and fine-grained control. The trade-off is a steeper learning curve and more code than role-based frameworks. It works with or without the wider LangChain library, and is a strong default when reliability and auditability matter more than speed to first demo.

CrewAI

CrewAI is built around a team metaphor: you define agents with roles, goals and tools, and tasks for them to complete. It is independent of LangChain and quick to get running, which makes it popular for prototypes of research, content and analysis workflows. For production, teams typically add explicit flows around the crew so that sequencing, retries and approvals are predictable. Test carefully how it behaves when an agent loops or a tool fails.

OpenAI Agents SDK

The OpenAI Agents SDK is deliberately small. Its core concepts are agents (a model with instructions and tools), handoffs between agents, guardrails on input and output, sessions for conversation history, human-in-the-loop support and built-in tracing. It is provider-agnostic in principle but naturally best integrated with OpenAI’s models and tools. It suits teams that want a thin layer they can understand fully.

Google Agent Development Kit

Google’s ADK is code-first and open source under Apache 2.0, with frequent releases. It combines agents and multi-agent hierarchies with a graph-based workflow runtime that supports routing, fan-out and fan-in, loops, retries and human-in-the-loop steps, plus a tool-confirmation flow that can require approval before a tool runs. It integrates closely with Vertex AI and Cloud Run for deployment but can be used with other models.

Microsoft Agent Framework

Microsoft announced version 1.0 of Agent Framework on 3 April 2026 for .NET and Python. It brings together the agent abstractions of Semantic Kernel and the multi-agent orchestration ideas of AutoGen in one framework, with graph-based workflows for explicit control. AutoGen is now in maintenance mode, receiving bug fixes and security patches, and Microsoft provides migration guides from both predecessors. If a vendor proposes AutoGen for a new build, ask why.

Others worth knowing

LlamaIndex remains a strong choice when retrieval over documents is the heart of the agent. Some teams also use lighter libraries such as Pydantic AI or smolagents for small, typed agents, and cloud providers offer managed agent services. Managed services reduce operational work but increase dependence on one vendor’s runtime, so weigh them with the lock-in questions below.

Matching frameworks to common use cases

Rather than asking which framework is best, ask which is the natural fit for the kind of system you are building.

Use caseWhat it needs mostFrameworks that usually fit well
———
Customer support agent with approvalsDurable state, human pauses, audit trailLangGraph; Microsoft Agent Framework workflows; Google ADK workflows
Internal research or report draftingFast iteration, several cooperating rolesCrewAI; OpenAI Agents SDK; Google ADK
Knowledge assistant over documentsRetrieval quality, citations, ingestion pipelinesLlamaIndex; LangGraph with a retrieval layer
Enterprise process automation on Azure and .NETStack fit, identity integration, long-running workflowsMicrosoft Agent Framework
Agent features on Google CloudDeployment to Cloud Run or Vertex AI, multi-agent hierarchiesGoogle ADK
Thin agent embedded in an existing productMinimal abstraction, easy debuggingOpenAI Agents SDK, or a hand-written loop

Starting points for a shortlist. Every row still deserves a bake-off on your own tasks.

Interoperability: MCP and agent-to-agent protocols

Two developments reduce how much the framework choice locks you in. The Model Context Protocol (MCP) has become a common way to expose tools and data sources to models, and several of the frameworks above, including the OpenAI Agents SDK and Google ADK, list MCP tool support among their core features; others support it through adapters. If you implement your tools as MCP servers, they can be reused by a different framework, a desktop assistant or a coding agent without rewriting.

Agent-to-agent protocols aim to let agents built on different frameworks delegate tasks to each other. They are useful when separate teams or vendors own different agents, but they add network calls, authentication and failure modes. For a single product team, keeping agents in one framework and one process is usually simpler.

The practical rule is the same in both cases: put stable contracts at the boundaries — tool schemas, event formats, evaluation cases — and treat the orchestration framework as the most replaceable layer.

Selection criteria that matter in practice

CriterionWhat to checkWhy it matters
———
Control and determinismCan you define explicit steps, branches and stop conditions?Predictability, testing and compliance
State and recoveryAre runs checkpointed and resumable after a crash or a human pause?Long-running tasks and approvals
ObservabilityCan you see every prompt, tool call and response? Can traces go to your own tooling via OpenTelemetry or export?Debugging and audit
Model flexibilityHow easy is it to switch providers or route steps to different models?Cost control and avoiding lock-in
Tool and protocol supportMCP support, OpenAPI tools, typed tool schemasReuse of existing services
Human in the loopNative pause, approve and resumeSafe autonomy levels
SecuritySandboxed code execution, secret handling, per-tool permissionsLimiting blast radius
Language and stack fitPython, TypeScript, .NET; fits your deployment platformTeam productivity and hiring
Maturity and governanceRelease cadence, breaking changes, maintainer, licenceLong-term maintenance cost

Weight these for your use case before looking at any framework.

A scored shortlist: worked example

Consider a team building a level 2 support agent — it prepares refunds and address changes for staff approval — on a Python and AWS stack, using models from two providers. They weight control, recovery and observability highest because staff approvals pause runs for hours.

Criterion (weight)LangGraphCrewAIOpenAI Agents SDKGoogle ADK
—————
Control and determinism (25%)5334
State and recovery (20%)5334
Observability (15%)4344
Model flexibility (15%)4433
Human in the loop (10%)5344
Stack fit (10%)4443
Team familiarity (5%)3442
Weighted score4.53.33.43.7

Illustrative scores for one hypothetical team. Your weights and scores will differ; the method is the point.

Microsoft Agent Framework was excluded because the team has no .NET or Azure footprint. For a .NET team on Azure, the result would likely reverse. The scores narrow the field to two candidates for a hands-on bake-off; they do not replace it.

Run a two-week bake-off

  1. Pick three real tasks of increasing difficulty, such as a simple lookup, a multi-step investigation and a task that requires approval and resumption.
  2. Build the tools once, independently of any framework, as plain functions or MCP servers with their own permission checks.
  3. Create a shared evaluation set of 30 to 50 cases with expected outcomes, including failures and adversarial inputs.
  4. Implement each task in two frameworks with the same models and tools.
  5. Measure task success rate, steps and cost per successful task, latency, and how long it took to diagnose three deliberately injected faults.
  6. Review the code with the engineers who will maintain it. Readability and debuggability are real costs.

This usually produces a clear winner and, just as importantly, a team that understands how the framework fails.

Reduce lock-in by design

  • Keep tools framework-independent. Tools exposed as plain functions, internal APIs or MCP servers can move with you.
  • Store prompts and instructions as versioned files, not buried in framework-specific classes.
  • Own your evaluation set and harness. It is the asset that lets you change frameworks or models safely.
  • Export traces to your own observability stack where possible, rather than relying only on a vendor dashboard.
  • Wrap model calls behind a thin interface so routing and provider changes do not ripple through the codebase.
  • Be cautious with hosted runtimes. They are often where the real switching cost lies.

Production checklist, whatever you choose

Framework choice rarely decides whether an agent succeeds in production. These items do:

  • Permissions inside tools. Every tool checks the caller’s identity, tenant and limits itself; it does not trust the framework or the model.
  • Budgets per run. Maximum steps, tokens, time and cost, with a defined hand-over when a limit is reached.
  • Versioned prompts, tools and models. Each release records exactly which versions ran, so a regression can be traced and rolled back.
  • An evaluation gate in CI. Changes to prompts, tools, models or the framework version run against the evaluation set before release.
  • Tracing with redaction. Full traces for debugging, with personal and secret data masked before storage.
  • Upgrade discipline. Pin framework versions, read release notes and test upgrades against the evaluation set; fast-moving frameworks introduce breaking changes.
  • A kill switch. Disable the agent or an individual tool without a deployment.

Common mistakes

  • Choosing a framework from a popularity list before defining the use case and autonomy level.
  • Starting new projects on frameworks that have moved to maintenance mode.
  • Building a multi-agent system for a task one agent with good tools could handle.
  • Relying on framework guardrails instead of enforcing permissions inside tools.
  • Skipping evaluation because the demo worked.

Frequently asked questions

Do we need a framework at all?

Not always. A single agent with a handful of tools can be written directly against a model provider’s API. Adopt a framework when you need durable state, human approvals, multi-step orchestration or consistent tracing across many agents.

Is AutoGen still a good choice?

For new projects, no. Microsoft has positioned Agent Framework as the successor to AutoGen and Semantic Kernel, and AutoGen receives only maintenance updates. Existing AutoGen systems should plan a migration.

Which framework is best for multi-agent systems?

CrewAI, Google ADK, Microsoft Agent Framework and LangGraph all support multiple agents. The better question is whether you need several agents. Start with one and split only when you can show a benefit.

Can we switch frameworks later?

Yes, if tools, prompts and evaluations are kept independent of the framework. The orchestration code will need rewriting, but that is usually the smaller part of the system.

Are these frameworks free?

The libraries compared here are open source. Costs come from model usage, hosting, observability platforms and any managed runtime you adopt.

Sources and methodology

Facts in this article were checked against the sources below on 6 November 2026. Directory data (ratings, review counts, rate bands and team sizes) changes over time and is shown as published on the date accessed. Illustrative examples are labelled as such and are not quotes.

  1. LangGraph repository (LangChain) — accessed 6 November 2026. MIT licence; “build resilient language agents as graphs”; low-level orchestration framework
  2. CrewAI (Wikipedia) — accessed 6 November 2026. MIT licence; created by João Moura; first PyPI release 4 December 2023; independent of LangChain
  3. OpenAI Agents SDK repository — accessed 6 November 2026. MIT licence; core concepts: agents, handoffs, tools, guardrails, human in the loop, sessions, tracing
  4. Google Agent Development Kit repository — accessed 6 November 2026. Apache 2.0 licence; workflow runtime, multi-agent systems, MCP tools, tool confirmation, roughly bi-weekly releases
  5. Microsoft DevBlogs: Microsoft Agent Framework Version 1.0 (3 April 2026) — accessed 6 November 2026. Version 1.0 for .NET and Python; successor to Semantic Kernel and AutoGen
  6. Anthropic Engineering: Building effective agents (19 December 2024) — accessed 6 November 2026. Caution that frameworks can obscure prompts and responses; start simple

Choosing a framework for your first production agent?

Share your use case, stack and constraints. We will help you shortlist frameworks, run a time-boxed bake-off on your own tasks and design an architecture you can change later.