AI Agents · Framework comparison
Enterprise Agent Frameworks Compared: LangGraph, CrewAI, AutoGen, Semantic Kernel, and LlamaIndex
All five major open-source agent frameworks are MIT-licensed, so the real differentiators are architecture model, state durability, human-in-the-loop support, and project governance. LangGraph fits teams that want explicit control over stateful workflows; CrewAI favors fast role-based composition; Semantic Kernel and AutoGen now funnel into Microsoft Agent Framework; LlamaIndex remains the data-first choice. MCP support is converging across all of them.
Every major open-source agent framework is MIT-licensed and free to run, so the license line on the comparison sheet tells you almost nothing. What separates LangGraph, CrewAI, AutoGen, Semantic Kernel, and LlamaIndex is the architecture model each imposes, how durable their state is, and, increasingly, who is still actively steering the project. That last point moved more in the past year than any feature did.
This comparison works through the dimensions a platform team actually weighs: the orchestration model, state management and checkpointing, human-in-the-loop support, observability, the deployment story, licensing and governance, and Model Context Protocol (MCP) interoperability. Every factual claim about a framework below comes from that project's own repository or first-party documentation, accessed on 2026-08-20. Where a capability could not be verified against a first-party source, the table says so instead of guessing.
By the numbers
All five frameworks compared here ship under the MIT license, per their own GitHub repositories — so license cost is not a differentiator among them.[^gh-langgraph-2026][^gh-crewai-2026][^gh-autogen-2026][^gh-semantic-kernel-2026][^gh-llamaindex-2026]
GitHub repository pages
Two of the five — AutoGen and Semantic Kernel — now point new users to Microsoft Agent Framework as their successor. AutoGen's README states it "is now in maintenance mode" and is "community managed going forward."[^gh-autogen-2026][^gh-semantic-kernel-2026]
microsoft/autogen and microsoft/semantic-kernel READMEs
GitHub stars on microsoft/autogen as of 2026-08-20 — the most-starred framework in this comparison is the one no longer receiving new features. Popularity metrics and maintenance status are different signals.[^gh-autogen-2026]
microsoft/autogen repository page
Integration packages in the LlamaIndex ecosystem that work with its core package, per the project's README — the widest documented connector surface of the five.[^gh-llamaindex-2026]
run-llama/llama_index README
The comparison at a glance
The table below is the one-screen version of this article. Read the rows top to bottom as a triage: owner and maintenance status first (because a framework in maintenance mode fails the governance test regardless of features), then architecture model (because it is the hardest thing to migrate off), then the operational rows.
| Dimension | LangGraph | CrewAI | AutoGen | Semantic Kernel | LlamaIndex |
|---|---|---|---|---|---|
| Owner / steward | LangChain (langchain-ai org)[^gh-langgraph-2026] | CrewAI Inc. (crewAIInc org)[^gh-crewai-2026] | Microsoft; now community-managed in maintenance mode[^gh-autogen-2026] | Microsoft; successor named (Agent Framework)[^gh-semantic-kernel-2026] | LlamaIndex (run-llama org)[^gh-llamaindex-2026] |
| License | MIT[^gh-langgraph-2026] | MIT[^gh-crewai-2026] | MIT code; CC-BY-4.0 shown for docs content[^gh-autogen-2026] | MIT[^gh-semantic-kernel-2026] | MIT[^gh-llamaindex-2026] |
| Languages | Python, plus a JavaScript/TypeScript library (LangGraph.js)[^gh-langgraph-2026] | Python >=3.10 <3.14[^gh-crewai-2026] | Python and .NET[^gh-autogen-2026] | C#/.NET, Python, and Java[^ms-sk-overview-2026] | Python; the TypeScript implementation was archived in April 2026[^gh-llamaindex-2026][^gh-llamaindexts-2026] |
| Architecture model | Low-level graph / state-machine orchestration of stateful agents[^gh-langgraph-2026] | Role-based Crews plus event-driven Flows; standalone primitives, not built on LangChain[^gh-crewai-2026] | Event-driven, message-passing multi-agent conversations (Core, AgentChat, Extensions layers)[^gh-autogen-2026] | Model-agnostic SDK middleware: kernel plus plugins, agents, and a process framework[^gh-semantic-kernel-2026][^ms-sk-overview-2026] | Data framework (connectors, indexes, retrieval) with agents and workflows layered on top[^gh-llamaindex-2026] |
| State & durability | Durable execution with persistence through failures; separate checkpoint backends including Postgres and SQLite packages[^gh-langgraph-2026][^gh-langgraph-releases-2026] | Flows carry workflow state with "precise control over complex automations"[^gh-crewai-2026] | Runtime message passing with local and distributed runtime support[^gh-autogen-2026] | Pluggable memory and vector-store connectors (e.g., Azure AI Search, Elasticsearch, Chroma)[^gh-semantic-kernel-2026] | State lives primarily in indexes and retrieval layers; workflow durability is not the headline feature |
| Human-in-the-loop | Documented headline feature: inspect and modify agent state mid-run[^gh-langgraph-2026] | Flow control points; not a headline README feature — verify in current docs | Successor Agent Framework documents human-in-the-loop and time-travel[^gh-agent-framework-2026] | Hooks and filters for oversight and responsible-AI controls[^ms-sk-overview-2026] | Not a headline feature; typically implemented in application code |
| Observability | LangSmith integration for debugging and tracing[^gh-langgraph-2026] | Observability bundled in the commercial AMP suite[^gh-crewai-2026] | Community-maintained; Agent Framework ships built-in OpenTelemetry instead[^gh-autogen-2026][^gh-agent-framework-2026] | Telemetry support plus hooks and filters[^ms-sk-overview-2026] | Via the integration-package ecosystem; no single first-party tracing product |
| Deployment / runtime | Production deployment tooling from the same vendor[^gh-langgraph-2026] | Self-host the framework, or managed deployment via CrewAI AMP[^gh-crewai-2026] | Self-hosted; distributed runtime in Core[^gh-autogen-2026] | SDK embedded in your app; local model options documented (Ollama, LMStudio, ONNX)[^gh-semantic-kernel-2026] | Library embedded in your app; managed LlamaParse platform for document workloads[^gh-llamaindex-2026] |
| MCP interoperability | First-party langchain-mcp-adapters library for LangChain and LangGraph[^gh-langchain-mcp-adapters-2026] | MCP and A2A support stated in the README[^gh-crewai-2026] | README examples connect to MCP servers[^gh-autogen-2026] | MCP listed in the plugin ecosystem[^gh-semantic-kernel-2026] | First-party llama-index-tools-mcp package[^gh-llamaindex-mcp-tool-2026] |
| Trajectory | Active; core package past 1.0 (1.2.x line)[^gh-langgraph-releases-2026] | Active; commercial AMP suite expanding[^gh-crewai-2026] | Maintenance mode; migrate to Agent Framework[^gh-autogen-2026] | Active, with non-breaking-change commitment, but successor named[^ms-sk-overview-2026][^gh-semantic-kernel-2026] | Active in Python; repositioning around document agents; TS port archived[^gh-llamaindex-2026][^gh-llamaindexts-2026] |
Popularity is not stewardship
Do not shortlist by GitHub stars. AutoGen holds roughly 60.5k stars — more than any other framework here — while its own README declares maintenance mode and directs new users to Microsoft Agent Framework.[3] Check the repository's maintenance notice, release cadence, and successor statements before you check its star count.
Architecture model: the choice that actually locks you in
MIT licensing means none of these frameworks lock you in legally. The lock-in is architectural: once your team has expressed a hundred workflows as graphs, or crews, or kernel plugins, the rewrite cost is real. So the first decision is which mental model matches your problems and your engineers.
LangGraph: explicit graph / state machine
Describes itself as a "low-level orchestration framework for building stateful agents."[^gh-langgraph-2026] You model nodes, edges, and shared state explicitly. Maximum control and debuggability; most upfront design work. Its README names Klarna, Replit, and Elastic among adopters.[^gh-langgraph-2026]
CrewAI: role-based crews plus flows
A "standalone Python framework" — independent of LangChain — whose primitives are agents, tasks, crews, and flows.[^gh-crewai-2026] Crews give autonomous role-based collaboration; Flows add "production-ready, event-driven workflows" with tighter control.[^gh-crewai-2026] Fast to compose; autonomy is the default posture.
AutoGen: conversation-driven multi-agent
An event-driven, message-passing architecture: a Core API for distributed agents, an opinionated AgentChat layer for rapid prototyping, and Extensions.[^gh-autogen-2026] The pattern lives on, but the project itself is in maintenance mode.[^gh-autogen-2026]
Semantic Kernel: kernel + plugins middleware
A "lightweight, open-source development kit" positioned as middleware between your existing code and AI models: plugins wrap your APIs, the kernel translates model function calls, and a process framework handles business workflows.[^ms-sk-overview-2026][^gh-semantic-kernel-2026]
LlamaIndex: data framework first, agents second
A data framework — connectors, indexes, and an advanced retrieval interface — that has grown agent and workflow layers on top, now positioned as "an open-source framework to build agentic applications."[^gh-llamaindex-2026] Strongest when the agent's job is fundamentally about your documents and data.
The practical read: graph-style orchestration (LangGraph) suits processes you must be able to audit, replay, and constrain — the shape of most regulated-industry work. Role-based crews (CrewAI) suit open-ended tasks where you want agents to divide labor with less prescriptive wiring. Conversation-driven architectures (AutoGen's pattern, carried forward by Microsoft Agent Framework's handoff and group-collaboration patterns[9]) suit research-style exploration and dynamic delegation. The kernel/middleware model (Semantic Kernel) suits organizations whose primary asset is a large existing codebase of APIs to expose to models. And a data-framework model (LlamaIndex) suits workloads where retrieval quality, not orchestration topology, decides success.
State, checkpointing, and durable execution
Agents fail mid-run: a model times out, a tool errors, a container is recycled. Whether the workflow resumes or restarts from zero is a framework property, and it is where the five diverge most sharply. LangGraph makes durability a first-class claim — its README leads with "durable execution," agents that "persist through failures" and resume from where they stopped, alongside both short-term working memory and long-term persistent memory across sessions.[1] The persistence layer is concrete and swappable: the project publishes dedicated checkpoint backends, including Postgres and SQLite packages, on its releases page.[8]
Microsoft Agent Framework, the successor to both AutoGen and Semantic Kernel, makes the same bet: its workflow feature list includes "checkpointing, streaming, human-in-the-loop, and time-travel."[9] That convergence is the tell — the two vendors with the most enterprise production exposure both concluded that durable, checkpointed workflow state is table stakes for agents that touch real business processes.
CrewAI approaches the problem from the other end. Crews are deliberately autonomous — "teams of AI agents with true autonomy and agency"[2] — and Flows exist precisely because production systems need the opposite: event-driven workflows with "precise control over complex automations."[2] The design question for a CrewAI adopter is how much of each workload belongs in the autonomous layer versus the controlled one. Semantic Kernel and LlamaIndex, by contrast, treat state primarily as memory and data: Semantic Kernel through pluggable vector and memory connectors,[4] LlamaIndex through its indexes and retrieval layer.[5] If your definition of state is "what the agent knows," both are strong; if it is "exactly where a nine-step process stopped and how to resume it," LangGraph and Agent Framework are the ones that document that behavior as a core feature.
Human-in-the-loop
For any agent that spends money, touches customer data, or writes to a system of record, the approval gate is not optional. Here the documentation gap between frameworks is itself the finding. LangGraph documents human-in-the-loop as a named capability: the ability to inspect and modify agent state so a person can approve, correct, or redirect a run in flight.[1] Microsoft Agent Framework likewise lists human-in-the-loop among its workflow features.[9] Semantic Kernel's oversight story runs through its hooks and filters, which Microsoft positions as the mechanism for delivering "responsible AI solutions at scale."[6]
CrewAI and LlamaIndex can both implement approval gates, but neither leads with the capability in its repository README, which means your team should prototype the pause-approve-resume path before committing — the pattern is only as good as its persistence. A human approval that takes four hours to arrive requires the durable-state machinery from the previous section; an in-memory pause is a demo, not a control.
Observability and the deployment story
None of the five is only a library anymore; each anchors a commercial gravity well, and observability is usually where the open core ends and the paid product begins. LangGraph integrates with LangSmith for debugging and offers production deployment tooling from the same vendor.[1] CrewAI bundles "managed deployment, observability, governance, security, and enterprise support" into its AMP suite.[2] LlamaIndex's commercial layer, LlamaParse, is a managed platform for parsing, extraction, indexing, and deployed document agents.[5] Microsoft's path is different in kind: Agent Framework ships "built-in OpenTelemetry integration for distributed tracing, monitoring, and debugging"[9] — an open standard rather than a proprietary tracing product — and Semantic Kernel documents telemetry, hooks, and filters in the SDK itself.[6]
The decision this forces: decide up front whether agent traces flow into your existing observability stack or into a vendor's. OpenTelemetry-native instrumentation composes with the APM tooling you already run; vendor-specific tracing is often better for agent-specific debugging but adds a data flow (prompts, tool inputs, intermediate reasoning) leaving your boundary — which your security review will treat as a new data-processing relationship, not a dev tool.
On runtime shape: Semantic Kernel and LlamaIndex are SDKs you embed in your own services, with Semantic Kernel explicitly documenting local model options such as Ollama, LMStudio, and ONNX for constrained environments.[4] AutoGen's Core supports local and distributed runtimes you operate yourself.[3] LangGraph and CrewAI give you both paths — self-host the open framework, or buy the vendor's managed runtime.[1][2] Teams with strict data-residency requirements should verify precisely which telemetry and state leaves their environment in the managed options; that detail is in each vendor's terms, not in this comparison's scope.
Licensing and governance: who owns your orchestration layer
Since all five licenses are MIT (AutoGen's repository additionally shows CC-BY-4.0 for documentation content),[1][2][3][4][5] governance risk is concentrated in stewardship, not legal terms. The 2025-2026 period rearranged that landscape more than any feature release did.
AutoGen is now in maintenance mode. It will not receive new features or enhancements and is community managed going forward.
Microsoft consolidated its two agent efforts into one. AutoGen's README carries the maintenance-mode notice above and tells new users to start with Microsoft Agent Framework, with a published migration guide for existing users.[3] Semantic Kernel's README now opens with "Semantic Kernel is now Microsoft Agent Framework!" and describes Agent Framework as its "enterprise-ready successor," available at version 1.0 as a production-ready release with "stable APIs, and a commitment to long-term support."[4] Agent Framework itself is an MIT-licensed, Microsoft-owned framework for Python and .NET, with sequential, concurrent, handoff, and group collaboration patterns, and migration guides from both predecessors.[9] Semantic Kernel remains supported with a documented non-breaking-change commitment across C#, Python, and Java,[6] but net-new Microsoft-stack builds now have an official answer, and it is not either of the two frameworks that spent 2024 in every comparison article.
The independents carry a different risk profile. LangChain and CrewAI Inc. are venture-backed companies whose frameworks feed commercial platforms; their incentive is continued open-source investment, but a platform team should track where the open/paid boundary moves over time. LlamaIndex shows what repositioning looks like in practice: the project now describes itself as a document agent and OCR platform, its commercial energy is in LlamaParse, and the TypeScript implementation was archived in April 2026.[5][7] None of that is a criticism — it is a reminder that with MIT-licensed frameworks, the thing you are actually betting on is the maintainer's roadmap, and roadmaps are readable in public if you look.
GitHub stars by repository (thousands, as of 2026-08-20)
MCP interoperability: the escape hatch that changes the calculus
The Model Context Protocol, which Anthropic open-sourced in November 2024 as "an open standard that enables developers to build secure, two-way connections between their data sources and AI-powered tools,"[12] has become the neutral tool-integration layer across this entire field. The specification is itself MIT-licensed and maintained in a public repository with a published governance model.[13] Its significance for framework selection: your tool and data integrations no longer have to be written in any one framework's plugin dialect.
All five frameworks now meet the protocol somewhere first-party. LangChain publishes langchain-mcp-adapters, a wrapper that makes MCP tools "compatible with LangChain and LangGraph."[10] CrewAI's README states MCP and A2A support for production agents.[2] Semantic Kernel lists MCP in its plugin ecosystem alongside native code, prompts, and OpenAPI specs.[4] AutoGen's README demonstrates connecting agents to MCP servers.[3] LlamaIndex ships llama-index-tools-mcp, which "connects to MCP Servers and allows an Agent to call the tools provided by MCP Servers."[11]
Build tools on the protocol, not the framework
Implement your internal tool integrations as MCP servers rather than as framework-native plugins wherever practical. A tool written as a LangGraph node or a Semantic Kernel plugin is portable only with a rewrite; a tool exposed as an MCP server is consumable from every framework in this comparison through first-party adapters. This single decision converts a framework migration from a rewrite into a re-wiring.
Honest objections
"The framework choice matters less than this article implies." Partly true. The models do the reasoning; the framework is scaffolding, and a strong team can build a durable agent runtime on any of the five, or on none of them. If your agent surface is one or two workflows, a framework evaluation is over-engineering — call the model API directly and revisit when you have ten workflows and an on-call rotation. The framework decision becomes material at portfolio scale, where consistency of state handling, tracing, and approval gates across dozens of agents is the thing you are actually buying.
"Maintenance mode is not death." Also fair. AutoGen is MIT-licensed; nothing stops a team from running it for years, and "community managed"[3] projects sometimes thrive. But an enterprise adopting a framework today is signing up for years of security patches, model-API churn, and protocol evolution — and choosing a project whose own steward has named a successor means betting against that steward's stated direction. The migration guide exists;[3] the honest move is to read it now, not after the divergence has compounded.
"These frameworks churn too fast to standardize on at all." The strongest objection, and the record supports it: within roughly two years this field saw Microsoft consolidate two frameworks into a third and LlamaIndex reposition around document agents while archiving its TypeScript port.[3][4][7] The mitigation is not to freeze the decision but to shrink its blast radius: keep business logic and tool integrations outside the framework (MCP helps precisely here), treat the orchestration layer as replaceable, and standardize on the concepts — durable state, checkpoints, approval gates, traces — rather than on any vendor's API for them.
The decision framework
Match the shape of your problem and your stack to the framework whose model fits it natively, rather than ranking them on a single axis.
Auditable, long-running business processes
Choose LangGraph. Explicit graphs, documented durable execution and human-in-the-loop, and swappable checkpoint backends fit workflows that compliance will ask you to replay.[^gh-langgraph-2026][^gh-langgraph-releases-2026]
Fast-moving, role-decomposable tasks
Choose CrewAI. Role-based crews compose quickly for research, content, and back-office pipelines, with Flows available when a workload graduates to needing precise control.[^gh-crewai-2026]
Microsoft-centric estates (.NET, Azure, Java)
Start new builds on Microsoft Agent Framework, the named successor to both Semantic Kernel and AutoGen; hold existing Semantic Kernel investments on its supported 1.0+ line and plan the migration deliberately.[^gh-agent-framework-2026][^gh-semantic-kernel-2026][^ms-sk-overview-2026]
Document- and data-centric agents
Choose LlamaIndex. When retrieval quality over your own corpus decides success — contracts, filings, knowledge bases — its connector and index layer plus 300+ integrations is the differentiator.[^gh-llamaindex-2026]
Existing AutoGen deployments
Do not start new work here. AutoGen is in maintenance mode; read Microsoft's migration guide to Agent Framework and schedule the move on your timeline, not an incident's.[^gh-autogen-2026]
Everything, eventually
Standardize tool integrations on MCP regardless of framework. Every framework in this comparison now consumes MCP servers through first-party support, which makes the protocol — not the framework — your durable integration asset.[^anthropic-mcp-2024][^gh-langchain-mcp-adapters-2026][^gh-llamaindex-mcp-tool-2026]
One more synthesis worth stating plainly: the five projects are converging on the same enterprise feature set — durable state, human approval gates, standard telemetry, MCP tools. LangGraph documents durable execution and human-in-the-loop;[1] Agent Framework documents checkpointing, human-in-the-loop, and OpenTelemetry;[9] CrewAI added controlled Flows beside autonomous Crews.[2] That convergence means the differentiators that persist are the ones this article ordered first: the architecture model your team will think in, and the governance trajectory of the organization maintaining it.
How to apply this
Agent framework selection: the working checklist
- Read each candidate's repository README for maintenance-mode or successor notices before evaluating a single feature — two of the five major frameworks carry one today.
- Classify your top three agent use cases by shape (auditable process, role-decomposable task, data-centric retrieval, Microsoft-stack integration) and map each to the framework whose native model fits.
- Prototype the failure path, not the happy path: kill the process mid-run and verify the workflow resumes from a checkpoint rather than restarting.
- Prototype the approval path: pause a run for a human decision that arrives hours later, and confirm state survives the wait.
- Decide where traces live — your OpenTelemetry-based observability stack or a vendor's tracing product — and run that data flow past your security review as a data-processing question.
- Write internal tool integrations as MCP servers, not framework-native plugins, so the integration layer outlives the framework choice.
- Record the exit plan at adoption time: which artifacts (tools, prompts, evals) are portable, and what a migration to the nearest alternative would cost.
- Re-check stewardship signals (release cadence, successor statements, open/paid boundary) every two quarters; in this field, governance moved faster than features.
Sources
Every quantitative or attributed claim above is linked to a primary source. Last verified at publication.
- [1]langchain-ai/langgraph: Build resilient agentsLangChain (GitHub) · accessed
- [2]crewAIInc/crewAI: Framework for orchestrating role-playing, autonomous AI agentsCrewAI Inc. (GitHub) · accessed
- [3]microsoft/autogen: A programming framework for agentic AIMicrosoft (GitHub) · accessed
- [4]microsoft/semantic-kernel: Integrate cutting-edge LLM technology quickly and easily into your appsMicrosoft (GitHub) · accessed
- [5]run-llama/llama_index: LlamaIndex repository and READMELlamaIndex (GitHub) · accessed
- [6]Introduction to Semantic KernelMicrosoft Learn · accessed
- [7]run-llama/LlamaIndexTS: Data framework for your LLM applications (archived)LlamaIndex (GitHub) · accessed
- [8]langchain-ai/langgraph — ReleasesLangChain (GitHub) · accessed
- [9]
- [10]langchain-ai/langchain-mcp-adapters: MCP tool compatibility for LangChain and LangGraphLangChain (GitHub) · accessed
- [11]llama-index-tools-mcp — MCP tool integration for LlamaIndex agentsLlamaIndex (GitHub) · accessed
- [12]Introducing the Model Context ProtocolAnthropic · · accessed
- [13]modelcontextprotocol/modelcontextprotocol: Specification and documentation for the Model Context ProtocolModel Context Protocol (GitHub) · accessed