Key takeaways
- MCP, A2A and trace context have shared but young specs; state and checkpoint formats have none, so state is where avoidable lock-in and production failures concentrate.
- In the five frameworks whose defaults we checked, session and checkpoint defaults keep state in memory or local files. Production durability is your job.
- The field consolidated: AutoGen is in maintenance mode and Microsoft Agent Framework is the named successor to AutoGen and Semantic Kernel.
- Microsoft Agent Framework 1.0 describes a stable core with a preview periphery; version numbers and PyPI classifiers are weak maturity signals.
- MCP is the shared tool interface across the frameworks we compared, but not a free default: pin the revision, vet servers, and treat spec changes as migrations.
- No neutral cross-framework benchmark exists in the sources we could verify; run a two-week spike on your own tasks instead.
Most framework comparisons rank features. That is the wrong axis. By October 2026 the tool interface (MCP), agent-to-agent messaging (A2A) and trace context each have a shared layer, though a young one: MCP and A2A have versioned specifications [1][2], W3C Trace Context is a stable Recommendation [3], and the OpenTelemetry agent conventions are still in Development status [53]. The thing that decides whether an agent survives production, where its state lives and how a run resumes, is, in the documentation we reviewed, still defined separately by each framework, with no shared checkpoint specification that we could find. Our thesis: choose a framework by how much failure it survives and how cheaply you can leave, not by how many agent patterns it ships.
The field has also stopped being a free-for-all. Microsoft's AutoGen README now reads "AutoGen is now in maintenance mode." [4], Microsoft describes Agent Framework as "the next generation of both Semantic Kernel and AutoGen" [5], and LangGraph reached 1.0 in October 2025 [6]. The empirical record is thin and dated: a 2025 preprint of 11,910 developer discussions found AutoGen and LangChain the hardest to maintain among ten frameworks [7]; its limits are listed in the evidence section.
This guide compares actively maintained options on six criteria: state, tools and MCP, observability, deployment, lock-in and maturity. It uses official documentation, specification text, registry pages, the Thoughtworks Technology Radar and a few preprints, all opened on 13 October 2026. NKK has no benchmark data and publishes no ranking; the models below are NKK's opinion, built on the cited prior art.
What changed in the last twelve months
Consolidation. Microsoft's documentation calls Agent Framework "the direct successor, created by the same teams" [5]. Semantic Kernel still shipped version 1.45.0 on 6 October 2026 [9], and the sources we opened give no end-of-support date. The 2025 promise ran to one year after general availability [8]; the 1.0 post does not use that term [10], so any date counted from 1.0 is NKK inference.
A stable core with a preview periphery. The 1.0 post lists single agents, middleware, memory, graph workflows with checkpointing, multi-agent orchestration, declarative YAML, and A2A and MCP among its 1.0 features. It separately lists DevUI, Foundry hosted-agent integration, Skills and Agent Harness as early-adoption features whose APIs may change, and said A2A 1.0 support was "coming soon" [10]. The overview page marks Go as public preview [5]. "1.0" describes the core, not everything around it.
Governance of the open protocols. MCP, goose and AGENTS.md were contributed to the new Agentic AI Foundation in December 2025 [11]. A2A v1.0.0 was released on 12 March 2026 and v1.0.1, a bug-fix release, followed in late May [12]. In April the Linux Foundation called 1.0 the project's first stable specification and reported more than 150 supporting organisations [13]. NIST launched an AI Agent Standards Initiative in February 2026; its page lists a request for information and a draft concept paper but no final guidance [14].
- 2025-10-07Semantic Kernel support statement
Microsoft commits to v1.x support for the foreseeable future and at least a year after Agent Framework is generally available.
- 2025-10-22LangChain and LangGraph 1.0
LangGraph 1.0 is positioned as a durable agent framework; LangChain's create_agent is built on the LangGraph runtime.
- 2025-12-09Agentic AI Foundation formed
MCP, goose and AGENTS.md are contributed to a neutral Linux Foundation home.
- 2026-03-12A2A v1.0.0 released
First stable A2A specification, with breaking changes from 0.3.0; v1.0.1 bug fixes followed in late May 2026.
- 2026-04-03Microsoft Agent Framework 1.0
Version 1.0 for .NET and Python with a long-term support and backward-compatibility commitment.
- 2026-04-15Thoughtworks Radar Vol. 34
LangGraph and Google ADK at Trial; Mastra at Assess; "Ignoring durability in agent workflows" and "MCP by default" in Caution. Dated by the entry pages.
- 2026-07-28MCP revision 2026-07-28
Stateless requests; protocol-level sessions and the initialize handshake removed; Roots, Sampling and Logging deprecated.
Four families, not one category
LangGraph and the OpenAI Agents SDK are different kinds of product, and a feature-by-feature comparison hides that. We group the field into four families by what each project says it is for. The grouping is NKK's, and the boundaries blur.
- Model-provider SDKs: one vendor's models
- OpenAI Agents SDK
- Claude Agent SDK
- Cloud-platform frameworks: open source, a home cloud
- Microsoft Agent Framework
- Google ADK
- Strands Agents (AWS deployment targets)
- Orchestration runtimes: explicit state and control
- LangGraph
- LlamaIndex Workflows
- CrewAI Flows
- Lean or language-specific: small surface
- Pydantic AI
- Mastra (TypeScript)
- Haystack
- smolagents
Model-provider SDKs. The OpenAI Agents SDK centres on agents, handoffs, guardrails, sessions, built-in MCP integration and tracing, and uses the Responses API by default for OpenAI models [17]. Anthropic's Claude Agent SDK is described in its own docs as "A library that runs the Claude Code binary" [18]. It spawns a claude subprocess per session that owns a shell and working directory, so hosting is stateful rather than a stateless API wrapper [19]. In our view both are the most direct path to a vendor's newest model features and pay for it in portability.
Cloud-platform frameworks. Microsoft Agent Framework reached 1.0 for .NET and Python, with Go in public preview [10][5], and ships first-party connectors for Foundry, Azure OpenAI, OpenAI, Anthropic Claude, Amazon Bedrock, Google Gemini and Ollama [10]. Google's ADK is open source, available in Python, TypeScript, Go and Java, and deploys to Agent Runtime, Cloud Run or GKE [20]. Strands Agents is an open-source toolkit for Python and TypeScript with documented deployment targets from AWS Lambda to Amazon EKS and Bedrock AgentCore, and its documentation names no maintainer, so we do not attribute one; we place it here only because of those AWS deployment targets [21]. Thoughtworks put ADK at Trial, "pre-GA in parts", suiting teams invested in Google's platform [22].
Orchestration runtimes. LangGraph describes itself as "a low-level orchestration framework and runtime for building, managing, and deploying long-running, stateful agents" and can be used without LangChain [23]. LlamaIndex Workflows is an event-driven, step-based execution model that ships with llama-index-core and can be installed standalone [24]. CrewAI nests teams of agents (Crews) inside event-driven Flows, which its documentation calls the backbone of an application [25].
Lean or language-specific libraries. Pydantic AI presents a typed, extensible agent loop in which every model is a string swap away, a vendor claim we could not test [26]. Mastra is a TypeScript framework Thoughtworks places at Assess for teams committed to TypeScript [27]. Thoughtworks had Pydantic AI at Trial in November 2025 (Assess in April 2025), but the entry is no longer on the current edition [28]. Haystack has an agent component with MCP tool support and a state_schema [29]. smolagents has agents write actions as code, with sandbox options [30]. We found too little to characterise the Vercel AI SDK beyond its self-description as a TypeScript toolkit [31].
The six criteria, and what the docs actually say
The two tables below keep to claims we could trace to an opened page; where a page was silent, the cell says "Not stated". LlamaIndex Workflows and Strands are omitted for space; the first keeps per-run state in ctx.store and holds clients and models in Resource objects kept out of serialised state [24], and the second lists Bedrock, OpenAI, Anthropic, Google, LiteLLM and Ollama among its model providers [21].
| Criterion | LangGraph | MS Agent Framework | Google ADK | CrewAI |
|---|---|---|---|---|
| State | Checkpointers per thread; in-memory saver lost on restart | Sessions; checkpoint per superstep; pluggable storage | Session, State, Memory; in-memory loses data | Flow state; @persist defaults to SQLite |
| Tools and MCP | MCP via LangChain adapter (beta) | MCP built in; A2A 1.0 was 'coming soon' | McpToolset: stdio, Streamable HTTP, SSE | MCP tools via adapter; prompts, resources not integrated |
| Observability | LangSmith tracing; native OTel not stated | OTel GenAI conventions; no exporters by default | Not stated | Not stated |
| Deployment | LangSmith cloud, self-hosted, hybrid, or own server | Foundry hosted agents (preview at 1.0) | Agent Runtime, Cloud Run or GKE | Not stated |
| Lock-in signals | Works without LangChain; managed options need paid plans | Seven first-party model connectors; Azure-oriented data notice | Open source; Radar favours LangGraph/CrewAI for portability | Not stated |
| Maturity signal (classifier or Radar) | Production/Stable classifier | Production/Stable classifier | Radar Trial; pre-GA in parts | Classifier not read |
- LangGraph
- Checkpointers per thread; in-memory saver lost on restart
- MS Agent Framework
- Sessions; checkpoint per superstep; pluggable storage
- Google ADK
- Session, State, Memory; in-memory loses data
- CrewAI
- Flow state; @persist defaults to SQLite
- LangGraph
- MCP via LangChain adapter (beta)
- MS Agent Framework
- MCP built in; A2A 1.0 was 'coming soon'
- Google ADK
- McpToolset: stdio, Streamable HTTP, SSE
- CrewAI
- MCP tools via adapter; prompts, resources not integrated
- LangGraph
- LangSmith tracing; native OTel not stated
- MS Agent Framework
- OTel GenAI conventions; no exporters by default
- Google ADK
- Not stated
- CrewAI
- Not stated
- LangGraph
- LangSmith cloud, self-hosted, hybrid, or own server
- MS Agent Framework
- Foundry hosted agents (preview at 1.0)
- Google ADK
- Agent Runtime, Cloud Run or GKE
- CrewAI
- Not stated
- LangGraph
- Works without LangChain; managed options need paid plans
- MS Agent Framework
- Seven first-party model connectors; Azure-oriented data notice
- Google ADK
- Open source; Radar favours LangGraph/CrewAI for portability
- CrewAI
- Not stated
- LangGraph
- Production/Stable classifier
- MS Agent Framework
- Production/Stable classifier
- Google ADK
- Radar Trial; pre-GA in parts
- CrewAI
- Classifier not read
| Criterion | OpenAI Agents SDK | Claude Agent SDK | Pydantic AI |
|---|---|---|---|
| State | Sessions; SQLite default; Redis, SQLAlchemy options | Local JSONL transcripts; SessionStore mirrors transcripts only | External durable engines (Temporal, DBOS, others) |
| Tools and MCP | Built-in MCP integration | MCP supported | MCP listed as a core fundamental |
| Observability | Uploads to OpenAI by default; pluggable processors | OpenTelemetry via environment variables | OpenTelemetry-native; Logfire suggested |
| Deployment | Not stated | Stateful subprocess per session; sizing in docs | Not stated |
| Lock-in signals | Responses-only features dropped or rejected elsewhere | Commercial Terms; Anthropic, Bedrock, Google endpoints | Vendor says any model is a string swap |
| Maturity signal (classifier or Radar) | No classifier | Alpha classifier | Radar Trial (Nov 2025); not in Vol. 34 |
- OpenAI Agents SDK
- Sessions; SQLite default; Redis, SQLAlchemy options
- Claude Agent SDK
- Local JSONL transcripts; SessionStore mirrors transcripts only
- Pydantic AI
- External durable engines (Temporal, DBOS, others)
- OpenAI Agents SDK
- Built-in MCP integration
- Claude Agent SDK
- MCP supported
- Pydantic AI
- MCP listed as a core fundamental
- OpenAI Agents SDK
- Uploads to OpenAI by default; pluggable processors
- Claude Agent SDK
- OpenTelemetry via environment variables
- Pydantic AI
- OpenTelemetry-native; Logfire suggested
- OpenAI Agents SDK
- Not stated
- Claude Agent SDK
- Stateful subprocess per session; sizing in docs
- Pydantic AI
- Not stated
- OpenAI Agents SDK
- Responses-only features dropped or rejected elsewhere
- Claude Agent SDK
- Commercial Terms; Anthropic, Bedrock, Google endpoints
- Pydantic AI
- Vendor says any model is a string swap
- OpenAI Agents SDK
- No classifier
- Claude Agent SDK
- Alpha classifier
- Pydantic AI
- Radar Trial (Nov 2025); not in Vol. 34
Three patterns stand out. First, state is the widest gap between documentation and production. LangGraph says its in-memory saver loses all checkpoints after a restart and recommends a persistent checkpointer for production [32]. ADK says its in-memory services are for local testing and lose data on restart [33]. The Claude Agent SDK's transcripts, memory files and working-directory artifacts live on local disk and do not survive a container restart, a scale-down or a move to another node [19]. OpenAI's default session backend is SQLite, and its in-memory form is not durable [34]. CrewAI's @persist also defaults to SQLite [35]. In the five defaults we checked, state sits in memory or in local files, so in our reading production durability is your job.
Second, every framework in the grid documents MCP support, but unevenly. ADK consumes MCP servers through McpToolset over stdio, Streamable HTTP and SSE [36]. CrewAI's adapter primarily supports MCP tools, and its docs say prompts and resources are not directly integrated at this time [37]. LangChain's adapter is in beta and may change [38]. No source we opened documents support for the 2026-07-28 revision.
Third, version numbers and registry recency say little about maturity, so the grid shows classifiers and Radar placements, not versions. The chart below is registry activity, not quality: days since each Python package's latest PyPI release on 13 October 2026, in alphabetical order. Pydantic AI, Haystack, Mastra and ADK TypeScript are not charted. AutoGen is the outlier, consistent with its maintenance-mode notice [4]. LlamaIndex is the llama-index meta-package, not the separate Workflows package this guide discusses, which releases separately.
- AutoGen AgentChat (outlier, 378)378 days
- Claude Agent SDK5 days
- CrewAI4 days
- Google ADK0 days
- LangGraph1 days
- LlamaIndex (llama-index meta-package)22 days
- MS Agent Framework5 days
- OpenAI Agents SDK11 days
- Semantic Kernel7 days
- smolagents137 days
- Strands Agents1 days
Durability is the criterion teams under-test
Thoughtworks places "Ignoring durability in agent workflows" in Caution in Radar Vol. 34 and advises teams to start with native durable execution support in their framework, reaching for standalone platforms as workflows become more critical [49].
“Ignoring durability in agent workflows is an anti-pattern we’ve seen across many teams, resulting in systems that work in development but fail in production.”
The documentation we reviewed shows a spectrum, not a switch. We call it the NKK Durability Ladder. It grades a setup by what survives when you kill the process mid-run.
- Level 1: L1: Stateless loop
The agent loop holds everything in memory. Exit the process and the run, its history and its partial work are gone.
- No session store configured
- A restart means starting over
- Level 2: L2: Local or in-memory session
History is kept, but on one node or in RAM. A scale-down, redeploy or node move loses it. The defaults we checked sit here.
- In-memory saver or local-disk transcripts
- Works in development, fails after a container restart
- Level 3: L3: Shared persisted session
Conversation or checkpoint state lives in a shared database, so any worker can pick up a thread.
- Postgres or Cosmos-backed checkpointer, SessionStore adapter
- Another instance resumes the same thread
- Level 4: L4: Resumable with approvals
The run can pause for a human, survive the wait and resume from a known step, with replay semantics you have tested.
- Checkpoint at each superstep, or persisted flow with human feedback
- A paused run survives a deploy
- Level 5: L5: Externally orchestrated (alternative route to L4)
A durable execution engine owns retries, timers and replay; the framework supplies the reasoning loop.
- Temporal, DBOS, Prefect or Restate wrap the agent
- Model calls retry without repeating side effects
Here is how the documented options map to the ladder; the mapping is NKK's reading. L4 and L5 are alternative routes rather than strict successors. A framework-native checkpointer with a human pause can be stronger than a poorly wrapped external engine, and L5 is "higher" mainly for retries and side-effect control.
- LangGraph: L2 with the in-memory saver; L3 with a Postgres-backed checkpointer; L4 with its human-in-the-loop pause [32][6].
- Microsoft Agent Framework: L2 with in-memory or file storage; L3 with the Cosmos DB provider, which the docs recommend for production but which is a separate package installed with
--pre[50]. We did not test an approval pause. - OpenAI Agents SDK: L2 with its SQLite default [34]; L5 only through an external engine. Temporal's integration runs the loop in a Workflow and model calls as retried Activities, with sandbox support pre-release and streaming experimental [51].
- Claude Agent SDK: L2 by default; a
SessionStoreadapter mirrors transcripts to shared storage, which reaches L3 for transcripts only [19]. - Google ADK and CrewAI: L2 by default (in-memory services;
@persistto SQLite) [33][35]. We did not map their persistent options. - Pydantic AI: delegates durability to external engines (L5) and lists nine engines, the first five co-maintained with the vendor teams [26].
To apply the ladder, set the level each workflow needs before you pick a framework: a drafting assistant a user can rerun needs L2; a support agent whose conversations must survive a redeploy and be picked up by any worker needs L3; an approval chain that waits days for a manager needs L4; a workflow that calls payment or ticketing systems, where retries must not repeat side effects, needs L5. Then run a kill test: stop the process mid-run, redeploy a changed graph, and see what is lost.
Protocols and telemetry: the portable layer, still moving
The shared specifications are the reason a framework switch is survivable. They are also young. MCP's current revision, 2026-07-28, made requests stateless, removed protocol-level sessions and the Mcp-Session-Id header, moved experimental tasks into an extension, and deprecated Roots, Sampling and Logging [16]. Deprecated features normally stay at least twelve months before removal (ninety days under an expedited-removal exception) [1]. A2A 1.0.0 defines JSON-RPC, gRPC and HTTP+JSON bindings and an Agent Card that describes an agent's identity, skills and authentication needs [2]; v1.0.1 followed with bug fixes [12]. A May 2025 survey frames MCP as tool access and A2A as peer task delegation [52]; its protocol details predate both current versions.
Telemetry is less settled. The OpenTelemetry agent-span conventions, which define operation names such as create_agent, invoke_agent and invoke_workflow, carry Development status, not Stable [53]. Microsoft Agent Framework follows them and, when OTEL_SEMCONV_STABILITY_OPT_IN is unset, uses the latest experimental attribute names [54]. In its Python implementation, MCP trace propagation into params._meta applies only to MCP sessions the agent process opens itself, not to provider-hosted MCP tools [54]; it builds on the traceparent and tracestate headers defined by W3C Trace Context [3]. The OpenAI Agents SDK's tracing page lists processors for Langfuse, MLflow, Datadog and others but does not describe native OpenTelemetry export [55].
Portable does not mean trustworthy. The spec itself says tools "represent arbitrary code execution and must be treated with appropriate caution" and admits MCP cannot enforce its security principles at the protocol level [56]. A study accepted to DSN 2026 analysed 67,057 servers across six public registries and flagged 833 as vulnerable [57], and a preprint benchmark built on 45 live servers recorded a highest attack success rate of 72.8% among 20 models [58]. Thoughtworks cautions against making MCP the default integration layer, arguing a well-designed CLI can often give an agent what it needs with less protocol overhead. The entry says it is not a rejection of MCP, which adds value for structured tool contracts, OAuth boundaries and governed multi-tenant access [59].
- 833
flagged as vulnerable by the authors' MCPInspect tool, plus 18 with suspicious descriptions
- 72.8%
highest tool-poisoning attack success rate in the MCPTox benchmark (preprint, v2, 20 models, 45 servers)
OWASP's Top 10 for Agentic Applications names Tool Misuse, Identity and Privilege Abuse and Agentic Supply Chain Vulnerabilities among its ten entries [60]. The practical rule: pin the MCP revision, A2A version and semantic-convention version you build against, and treat a spec revision as a migration.
Lock-in has layers: the NKK Exit-Cost Map
"Provider-neutral" is a claim about layers, not products. A framework can be open source and still tie your traces to one backend, your state to one database schema and your tools to one revision of a protocol. We split lock-in into six layers and ask, for each, what a standard interface would let you keep and what you would have to rewrite.
- Rewrite cost, unavoidableAuthoring model
Graph nodes, crews, handoffs or a plain typed loop. Your prompts, tools and tests are written against it. Rarely portable; budget a rewrite.
- Plan and cloudRuntime and hosting
Managed deployment, subprocess hosting or your own containers. Check which features need a paid plan or a specific cloud.
- OTel, W3CTelemetry
Where traces go by default and whether you can redirect them. OpenTelemetry and W3C Trace Context are the portable path.
- Highest avoidable exit costState store
Checkpoint and session formats are framework-specific. Own the database; treat serialised state as a versioned contract.
- MCP, A2ATool interface
MCP servers and A2A agents travel between frameworks. Pin the revision and vet every server.
- Provider featuresModel
Provider-specific features such as Responses-only fields are the usual trap. Test on a second provider early.
The evidence for each trap is specific. On non-Responses backends the OpenAI Agents SDK silently drops Responses-only fields unless strict validation is on, rejects features such as hosted tool search, and describes its Any-LLM and LiteLLM adapters as best-effort beta layers [61]. Its default tracing uploads to OpenAI's servers, so a second provider without an OpenAI key means another processor or disabling it [61]. LangGraph's library is usable without LangChain, but its managed cloud requires a Plus plan and its self-hosted control plane an Enterprise plan [62]. Microsoft warns that third-party systems and non-Azure Direct models fall under their own terms and that data-boundary responsibility is yours [5]. AWS says AgentCore will "Build with any open-source framework and any model", a vendor claim, and several AgentCore items are labelled preview [63]. Authoring is the biggest rewrite, but it is unavoidable. State is the biggest avoidable cost: we found no shared checkpoint specification, formats differ by framework, and the framework default is easy to leave in place.
Answer all 6 dimensions to see your score and where to start.
Where it breaks: the standards are unstable, so "portable" means portable to a versioned spec, and the map does not price commercial terms.
A selection flow you can run in an hour
The best-supported advice in our sources is restraint. Anthropic separates workflows, orchestrated "through predefined code paths", from agents that direct their own process, suggests starting with direct API calls, and notes that frameworks can obscure prompts and responses [64]. Microsoft's guide says "If you can write a function to handle the task, do that instead of using an AI agent." [5] Thoughtworks moved LangGraph out of Adopt, arguing a global shared-state graph is "not always the best approach" and that it is no longer "the default choice for building every agentic system" [65]. These point the same way: use the least machinery that meets your durability needs.
The NKK Framework Selection Flow turns that into seven gates. It ends in a family and a spike, not a product.
- Step 1: 1. Do you need an agent?
If a function or a single model call does the job, stop. Use plain code.
- Step 2: 2. Workflow or open loop?
Predefined steps favour workflow engines; open-ended tasks justify an agent loop.
- Step 3: 3. Must runs outlive a process?
Set the Durability Ladder level. L4 or L5 narrows the field to runtimes with checkpoints or an external engine.
- Step 4: 4. What is fixed: language and cloud?
.NET, Python, TypeScript, Go or Java, and any mandatory cloud, remove candidates quickly.
- Step 5: 5. Which providers must stay swappable?
If more than one, prefer neutral runtimes or lean libraries over a provider SDK.
- Step 6: 6. Which telemetry backend is mandatory?
Require OpenTelemetry export or a processor for your backend before you start.
- Step 7: 7. Run a two-week spike
Two candidates from different families, your own tasks, your own evals: restart mid-run, swap the model provider, swap the trace backend.
In our view, gates 1 to 3 narrow the shortlist more than gates 4 to 6, and gate 3 changes it most, because it is where framework defaults stop being enough. The flow ignores commercial terms and team skills, and orders questions rather than scoring products.
| If your situation is | Start your spike with | Why (NKK view) |
|---|---|---|
| Simple, bounded task | Direct API calls or your SDK's smallest loop | Least abstraction [64] |
| Long runs, approvals, replay | An orchestration runtime or an external durable engine | The defaults we checked stop at L2 |
| One cloud already mandated | That cloud's framework, plus the exit-cost scorecard | Accept the anchor knowingly; score it first |
| Several providers must stay swappable | A neutral runtime or lean library | Fewer provider-only features |
| TypeScript or .NET shop | TypeScript: Mastra, ADK TypeScript or Vercel AI SDK; .NET: Microsoft Agent Framework | Language narrows the field at gate 4 [10][20][27][31] |
What the evidence does not show
- No neutral benchmark. We found no reproducible cross-framework benchmark for latency, cost or accuracy, and we publish none. The 2025 preprint [7] calls performance optimisation a common shortcoming of all ten frameworks it studied but compares none. Its abstract also asserts that more than 80% of developers struggle to pick a framework; we found no method behind that figure, so we do not use it.
- Developer-pain evidence is thin. A second preprint finds that retrieval and orchestration problems are less visible and more complex than installation and prompting, and tend to persist as maintenance burdens on GitHub [66]. It reflects problems people choose to post on Stack Overflow and GitHub, not a census of production failures. The first preprint [7] studied 11,910 discussions (its Section 3) that developers chose to post, blames AutoGen's maintenance burden on its 0.2-to-0.4 migration and LangChain's on breaking API changes, and picked ten frameworks by GitHub topic-tag frequency with data to July 2025, so it excludes the OpenAI Agents SDK, Google ADK and Microsoft Agent Framework [7][8].
- Maturity signals conflict. Claude Agent SDK is tagged Alpha on the registry while Anthropic's docs present it for building production agents [43][18]. Version numbers and classifiers are a snapshot, not a quality rating.
- Gaps in the documentation. We could not read LangGraph's durability modes (the section was empty), or CrewAI's observability and deployment story. Whether any framework supports MCP 2026-07-28 is unverified.
- Vendor-authored sources. Anthropic, OpenAI, Google, Microsoft and LangChain describe their own products; we used them for what each says it does, not for comparisons.
- A moving target. Radar Vol. 34 was the latest published volume when we checked; re-check for a newer one before relying on its placements.
What to do next
- Write a one-page requirements sheet: language, cloud, providers, telemetry backend, data residency and the Durability Ladder level for each workflow.
- Run the Selection Flow's first three gates before shortlisting any product.
- Pick two candidates from different families and build one thin vertical slice with durable state, tracing and one vetted MCP server.
- Run the kill tests: restart the process mid-run, redeploy a changed workflow, swap the model provider, swap the trace backend. Record what breaks and how long the fix takes.
- Score the Exit-Cost Map and write down the most expensive layer. Own the state database and export traces through OpenTelemetry where you can.
- Pin the framework, MCP revision, A2A version and semantic-convention version, and subscribe to release notes. Plan migrations as projects.
- Re-assess every six months. Consolidation in this field has been fast enough that last year's default can be this year's maintenance-mode project.
Conclusion
No framework wins every criterion, and the sources do not support a ranking. What they support is a discipline: use the least machinery that meets your durability needs, keep tools on MCP and traces on OpenTelemetry, and treat state as an asset you own rather than a feature you rent. Choose the one whose failure behaviour and exit cost you have tested yourself.
References
Every figure and regulatory statement in this piece traces to a numbered source below. Links open the original publisher in a new tab.
- Reference 1: Model Context Protocol: Versioning(opens in a new tab)Model Context Protocol projectPublished n.d.Accessed 13 Oct 2026Tier 1: Primary source
- Reference 2: Agent2Agent (A2A) Protocol Specification(opens in a new tab)A2A ProjectPublished n.d.Accessed 13 Oct 2026Tier 1: Primary source
- Reference 3: Trace Context (W3C Recommendation)(opens in a new tab)W3CPublished 23 Nov 2021Accessed 13 Oct 2026Tier 1: Primary source
- Reference 4: AutoGen README (maintenance-mode notice)(opens in a new tab)MicrosoftPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 5: Microsoft Agent Framework Overview(opens in a new tab)Microsoft LearnPublished 29 Jul 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 6: LangChain and LangGraph Agent Frameworks Reach v1.0 Milestones(opens in a new tab)LangChainPublished 22 Oct 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 7: An Empirical Study of Agent Developer Practices in AI Agent Frameworks(opens in a new tab)arXiv preprintPublished 1 Dec 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 8: Semantic Kernel and Microsoft Agent Framework(opens in a new tab)Microsoft Agent Framework DevBlogPublished 7 Oct 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 9: semantic-kernel (PyPI project page)(opens in a new tab)Python Package IndexPublished 6 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 10: Microsoft Agent Framework Version 1.0(opens in a new tab)Microsoft Agent Framework DevBlogPublished 3 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 11: Linux Foundation Announces the Formation of the Agentic AI Foundation (AAIF), Anchored by New Project Contributions Including Model Context Protocol (MCP), goose and AGENTS.md(opens in a new tab)Linux FoundationPublished 9 Dec 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 12: A2A Protocol releases (v1.0.0 and v1.0.1)(opens in a new tab)A2A Project (GitHub)Published 12 Mar 2026Accessed 13 Oct 2026Tier 1: Primary source
- Reference 13: A2A Protocol Surpasses 150 Organizations, Lands in Major Cloud Platforms, and Sees Enterprise Production Use in First Year(opens in a new tab)Linux FoundationPublished 9 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 14: AI Agent Standards Initiative(opens in a new tab)NISTPublished n.d.Accessed 13 Oct 2026Tier 1: Primary source
- Reference 15: Technology Radar Vol. 34 (PDF)(opens in a new tab)ThoughtworksPublished Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 16: Model Context Protocol (2026-07-28): Key Changes(opens in a new tab)Model Context Protocol projectPublished 28 Jul 2026Accessed 13 Oct 2026Tier 1: Primary source
- Reference 17: OpenAI Agents SDK (Python) documentation home(opens in a new tab)OpenAIPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 18: Agent SDK overview(opens in a new tab)AnthropicPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 19: Hosting the Agent SDK(opens in a new tab)AnthropicPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 20: Agent Development Kit (ADK) overview(opens in a new tab)Google Cloud DocumentationPublished 13 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 21: Strands Agents (documentation home)(opens in a new tab)Strands Agents projectPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 22: Agent Development Kit (ADK) (Technology Radar Vol. 34, Trial)(opens in a new tab)ThoughtworksPublished 15 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 23: LangGraph overview(opens in a new tab)LangChain DocsPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 24: LlamaIndex Workflows (LlamaAgents documentation)(opens in a new tab)LlamaIndexPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 25: CrewAI: Introduction(opens in a new tab)CrewAI documentationPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 26: Pydantic AI overview(opens in a new tab)PydanticPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 27: Mastra (Technology Radar Vol. 34, Assess)(opens in a new tab)ThoughtworksPublished 15 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 28: Pydantic AI (Technology Radar, Trial; not on the current edition)(opens in a new tab)ThoughtworksPublished 5 Nov 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 29: Haystack: Agent component(opens in a new tab)deepsetPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 30: smolagents documentation(opens in a new tab)Hugging FacePublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 31: AI SDK by Vercel: Introduction(opens in a new tab)VercelPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 32: LangGraph persistence (checkpointers)(opens in a new tab)LangChain DocsPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 33: ADK: Sessions, State and Memory(opens in a new tab)GooglePublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 34: OpenAI Agents SDK: Sessions(opens in a new tab)OpenAIPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 35: CrewAI: Flows(opens in a new tab)CrewAI documentationPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 36: ADK: MCP tools(opens in a new tab)GooglePublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 37: CrewAI: MCP overview(opens in a new tab)CrewAI documentationPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 38: LangChain: Model Context Protocol (MCP)(opens in a new tab)LangChain DocsPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 39: langgraph (PyPI)(opens in a new tab)Python Package IndexPublished 12 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 40: strands-agents (PyPI)(opens in a new tab)Python Package IndexPublished 12 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 41: crewai (PyPI)(opens in a new tab)Python Package IndexPublished 9 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 42: agent-framework (PyPI project page)(opens in a new tab)Python Package IndexPublished 8 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 43: claude-agent-sdk (PyPI)(opens in a new tab)Python Package IndexPublished 8 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 44: openai-agents (PyPI)(opens in a new tab)Python Package IndexPublished 2 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 45: google-adk (PyPI)(opens in a new tab)Python Package IndexPublished 13 Oct 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 46: llama-index (PyPI)(opens in a new tab)Python Package IndexPublished 21 Sept 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 47: smolagents (PyPI)(opens in a new tab)Python Package IndexPublished 29 May 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 48: autogen-agentchat (PyPI)(opens in a new tab)Python Package IndexPublished 30 Sept 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 49: Ignoring durability in agent workflows (Technology Radar Vol. 34, Caution)(opens in a new tab)ThoughtworksPublished 15 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 50: Microsoft Agent Framework Workflows - Checkpoints(opens in a new tab)Microsoft LearnPublished 16 Sept 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 51: OpenAI Agents SDK integration (Temporal Python)(opens in a new tab)Temporal Technologies documentationPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 52: A survey of agent interoperability protocols: Model Context Protocol (MCP), Agent Communication Protocol (ACP), Agent-to-Agent Protocol (A2A), and Agent Network Protocol (ANP)(opens in a new tab)arXiv preprintPublished 4 May 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 53: Semantic conventions for GenAI agent and framework spans (gen-ai-agent-spans.md)(opens in a new tab)OpenTelemetryPublished n.d.Accessed 13 Oct 2026Tier 1: Primary source
- Reference 54: Microsoft Agent Framework: Observability(opens in a new tab)Microsoft LearnPublished 19 Sept 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 55: OpenAI Agents SDK: Tracing(opens in a new tab)OpenAIPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 56: Model Context Protocol Specification (revision 2026-07-28): Overview(opens in a new tab)Model Context Protocol projectPublished 28 Jul 2026Accessed 13 Oct 2026Tier 1: Primary source
- Reference 57: A First Look at the Security Issues in the Model Context Protocol Ecosystem(opens in a new tab)arXiv (DSN 2026 accepted paper)Published 18 Oct 2025Accessed 13 Oct 2026Tier 1: Primary source
- Reference 58: MCPTox: A Benchmark for Tool Poisoning Attack on Real-World MCP Servers(opens in a new tab)arXiv preprintPublished 19 Aug 2025Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 59: MCP by default (Technology Radar Vol. 34, Caution)(opens in a new tab)ThoughtworksPublished 15 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 60: OWASP Top 10 for Agentic Applications - The Benchmark for Agentic Security in the Age of Autonomous AI(opens in a new tab)OWASP Gen AI Security ProjectPublished 9 Dec 2025Accessed 13 Oct 2026Tier 1: Primary source
- Reference 61: OpenAI Agents SDK: Models (non-OpenAI providers)(opens in a new tab)OpenAIPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 62: LangSmith Deployments (hosting options for Agent Server)(opens in a new tab)LangChain DocsPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 63: Amazon Bedrock AgentCore FAQs(opens in a new tab)Amazon Web ServicesPublished n.d.Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 64: Building effective agents(opens in a new tab)Anthropic EngineeringPublished 19 Dec 2024Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 65: LangGraph (Technology Radar Vol. 34, Trial)(opens in a new tab)ThoughtworksPublished 15 Apr 2026Accessed 13 Oct 2026Tier 2: Research / official docs
- Reference 66: What Challenges Do Developers Face in AI Agent Systems? An Empirical Study on Stack Overflow & GitHub Issues(opens in a new tab)arXiv preprintPublished 29 Oct 2025Accessed 13 Oct 2026Tier 2: Research / official docs