The landscape, grouped by shape
Lesson 2 of 4 in The Framework Landscape: Pick One (or None).
Ignore the star counts — they are a popularity snapshot, not an architecture. What actually differentiates frameworks is their shape: the mental model they force on your agent. Graph or loop? Roles or handoffs? In-process library or on-ramp to a managed runtime? Pick the shape first; the logo second.
Every claim below was verified against the project’s own repo or docs in September 2026. Where a framework is pre-1.0, that is said out loud — it means minor releases may break your code, so pin versions.
Graph & state machine
LangGraph calls itself a “low-level orchestration framework for building stateful agents” — and low-level is the honest part. You model the agent as an explicit graph of nodes and edges (design inspired by Pregel and Apache Beam), with checkpointed state you can persist, inspect, rewind, and replay. It is MIT-licensed, usable standalone without LangChain, in Python (3.10+) with a separate LangGraph.js for TypeScript.
Maturity: strong. LangGraph 1.0 shipped 2025-10-22 in both languages with a stated no-breaking-changes-until-2.0 commitment; the Python package was at 1.2.x by September 2026.
The thing it does best: auditable state. When compliance asks “what exactly did the agent know at step 7, and can you replay it?”, an explicit checkpointed graph is the strongest answer on this page.
Provider SDKs
OpenAI Agents SDK — “a lightweight, powerful framework for multi-agent workflows.” Despite the name it is provider-agnostic (Responses API, Chat Completions, and 100+ other LLMs), MIT-licensed, Python 3.10+ with a separate JS package. Its primitives are agents, handoffs, guardrails, sessions, and tools (including MCP), with tracing and human-in-the-loop built in. Maturity caveat: still pre-1.0 — v0.22.2 as of September 2026 — so minor releases may break you. Best at: the lightest credible path to multi-agent handoffs.
Claude Agent SDK — a different animal: you programmatically drive the Claude Code harness (the pip package literally bundles the Claude Code CLI). You inherit a production-hardened loop — Anthropic describes it as gather context → take action → verify work → repeat — plus agentic file search, subagents with isolated context windows, and automatic compaction. MIT-licensed code, but usage is governed by Anthropic’s Commercial Terms of Service, and it was renamed from the Claude Code SDK in September 2025. Also pre-1.0 (v0.2.x). Best at: inheriting a battle-tested harness instead of assembling one — at the price of the deepest single-vendor coupling in this lesson.
Cloud-native
Google ADK — “an open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents.” Apache-2.0, optimized for Gemini but explicitly model- and deployment-agnostic, with sibling repos in Java, Kotlin, Go, and TypeScript. It powers agents inside Google products (Agentspace, Customer Engagement Suite) and pave-roads into Cloud Run and Google’s managed agent runtime. Maturity note: ADK is on a 2.x line with documented breaking changes from 1.x. Best at: the paved road into Google Cloud, in five languages.
Microsoft Agent Framework — Microsoft’s framework for “building, orchestrating and deploying AI agents and multi-agent workflows” in Python and .NET (Go in preview), MIT-licensed. Microsoft’s docs are explicit: it is “the direct successor” to both Semantic Kernel and AutoGen, created by the same teams. It reached a production-ready 1.0+ with stable APIs and a long-term-support commitment. Best at: .NET shops and the enterprise Microsoft estate.
Strands Agents — AWS’s Apache-2.0 SDK (Python 3.10+, TypeScript on Node 22+), positioned as “build an agent harness and control it end-to-end”: an in-process, model-driven agent loop with no hosted control plane. AWS open-sourced it in May 2025 already running production workloads (Amazon Q Developer, AWS Glue, VPC Reachability Analyzer). Model-agnostic — Bedrock is the default, with Anthropic, OpenAI, and Gemini first-class — with OpenTelemetry tracing by default. Best at: a minimal model-plus-tools-plus-prompt loop you fully own, that also happens to deploy cleanly to AgentCore.
Role & team
CrewAI — “a fast and flexible multi-agent automation framework”, and a deliberately lean, standalone Python framework: its own primitives, built independently of LangChain. Its shape is the role-based team: Crews of agents with roles collaborating autonomously, and Flows for event-driven, fine-grained control when autonomy is too loose. MIT-licensed, and at a 1.15.x release line as of September 2026 (its README’s v0.102.0 install example is stale — do not mistake it for pre-1.0).
The thing it does best: the mental model. “A researcher, a writer, and a reviewer collaborate on a report” maps onto CrewAI code almost one-to-one, which makes it a favourite for prototyping multi-agent ideas fast. The honest caveat is the flip side: role-based autonomy is the hardest shape to audit when you need to know precisely why the team did what it did — that is what Flows exist to claw back.
TypeScript-native
Mastra — “the modern TypeScript framework for AI-powered applications and agents.” One roof over agents, graph-based workflows (chained with .then / .branch / .parallel), human-in-the-loop suspend-and-resume, RAG and memory, evals, and MCP. The core is Apache-2.0, with ee/ directories under a source-available enterprise license; @mastra/core was at 1.66.x in September 2026, and the company is a Y Combinator W25 startup — young, and moving fast. Best at: being the full-featured agent backend for a TypeScript team.
Vercel AI SDK — “the AI Toolkit for TypeScript” (the npm package is literally named ai). Provider-agnostic across Next.js, React, Svelte, Vue, Angular, and Node.js, Apache-2.0, and at major version 7 as of September 2026. It started life as a streaming-UI toolkit and now ships agent abstractions (a tool-loop agent, agent-to-UI streaming) on top. Best at: the model-calling and streaming-UI layer of a web app — reach for it when your “agent” lives inside a product UI, and reach for Mastra when it lives behind one.
Typed Python
Pydantic AI — “AI Agent Framework, the Pydantic way”, from the team behind the validation library half of Python already depends on. Its organizing principle is types: type-safe structured outputs, typed dependency injection for tools, and OpenTelemetry-native instrumentation, with a companion evals library (Pydantic Evals). MIT-licensed and model-agnostic.
Two things distinguish it. First, stability as a feature: V1 shipped in September 2025 with an explicit promise — “we will not break your code for at least 6 months” — after ~9 months of development and 15M downloads; it was on a stable 2.x line by September 2026. Second, first-party durable execution integrations (Temporal, DBOS, Prefect, Restate), so long-running agents survive restarts without you building checkpointing yourself.
The thing it does best: making agent code feel like well-typed Python instead of prompt glue — if your team already thinks in Pydantic models, this is the lowest-friction shape on the page.
| Framework | Shape | Language | License | Where it was (2026-09) |
|---|---|---|---|---|
LangGraph | Graph / state machine | Python; separate JS repo | MIT | 1.x stable since 2025-10; no-breaking-until-2.0 pledge |
OpenAI Agents SDK | Provider SDK (handoffs) | Python; separate JS repo | MIT | Pre-1.0 (v0.22.x) — pin versions |
Claude Agent SDK | Provider SDK (harness) | Python + TypeScript | MIT code; Anthropic commercial ToS | Pre-1.0 (v0.2.x) — tracks the bundled CLI |
Google ADK | Cloud-native, code-first | Python, Java, Kotlin, Go, TS | Apache-2.0 | 2.x line; breaking changes from 1.x |
Microsoft Agent Framework | Cloud-native, SK+AutoGen successor | Python + .NET (Go preview) | MIT | 1.0+ production-ready, LTS commitment |
Strands Agents | Cloud-native, in-process harness | Python + TypeScript | Apache-2.0 | Production inside AWS since before 2025-05 open-sourcing |
CrewAI | Role / team | Python | MIT | 1.15.x (README example stale at v0.102.0) |
Mastra | TypeScript-native, full-stack backend | TypeScript | Apache-2.0 core + source-available ee/ | @mastra/core 1.66.x; YC W25 company |
Vercel AI SDK | TypeScript-native, UI-first toolkit | TypeScript | Apache-2.0 | v7; agent abstractions added atop streaming core |
Pydantic AI | Typed Python | Python | MIT | 2.x stable; explicit API-stability promise since V1 (2025-09) |
How the framework wave actually landed
- 2022-10-01 — LangChain appears:
The first widely used framework for chaining LLM calls, tools, and retrieval landed in October 2022, weeks before ChatGPT. It gave the field its early vocabulary — chains, agents, tools, memory — and its first painful lesson in abstraction cost.
- 2023-03-30 — AutoGPT and the autonomous-agent spring:
An open-source loop that chains GPT-4 calls toward a goal became one of GitHub’s fastest-growing repositories ever, and then a public demonstration of why unbounded loops fail: vague goals, no stopping condition, no budget, no memory worth the name, and a bill that arrives anyway.
- 2023-11-06 — The Assistants API: a hosted agent runtime:
OpenAI DevDay shipped threads, hosted tools, retrieval, and parallel tool calls — the vendor taking over state management for you. It proved the demand for a managed runtime, and its later deprecation is why you keep your loop, your state, and your traces portable.
- 2024-01-01 — LangGraph: agents as explicit state graphs:
LangChain shipped a graph runtime for stateful, cyclic agent workflows — nodes, edges, and a persisted state object instead of a hidden loop inside a chain. It set the template most orchestration libraries now follow: you draw the control flow, the model only decides what happens inside a node.
- 2025-03-11 — OpenAI ships the Agents SDK:
An open-source agent library — agents, handoffs, guardrails, tracing — landed alongside the Responses API and built-in hosted tools. The model vendor now supplies the loop as well as the model, which is convenient and also a portability decision you should make deliberately.
- 2025-09-29 — The Claude Code SDK becomes the Claude Agent SDK:
Anthropic renamed the SDK to say out loud what people were already doing: the coding harness — file tools, sandboxed execution, permission prompts, subagents — is a general agent runtime. Coding agents turned out to be the most battle-tested agent architecture available.
Interactive checkpoint quiz (2 questions) — open this page in a browser to take it.