MCP downloads 97M+ 31% enterprises in production A2A under Linux Foundation LangGraph fastest latency Claude Sonnet 4.5 — 30hr autonomous coding CrewAI 60% Fortune 500 37% lab-to-prod gap CLEAR framework adopted OpenAI sandbox agents Apple ships Claude SDK in Xcode 26.3 MCP downloads 97M+ 31% enterprises in production A2A under Linux Foundation LangGraph fastest latency Claude Sonnet 4.5 — 30hr autonomous coding CrewAI 60% Fortune 500
Agent Systems · May 2026 Survey

The State of
Agent
Frameworks

Published May 2026 Sources Official framework docs
arXiv 2511.14136 (CLEAR)
McKinsey/S&P Global Q1 2026
Langfuse/Gurusup benchmarks
Klarna · Uber · LinkedIn · Replit Frameworks OpenAI · Anthropic · LangChain
CrewAI · Google · Microsoft
By Q2 2026 the framework war is effectively over — and won by six players occupying distinct architectural niches. Adoption is real: 31% of enterprises now run agents in production. But the lab-to-production gap remains the dominant pain point at 37%. Framework choice is no longer a library decision. It is an architectural commitment that compounds over years.
6
Surviving frameworks, distinct niches
31%
Enterprises running agents in production
37%
Lab-to-production gap (CLEAR arXiv)
4
Patterns That Ship
The hardest problem in 2026 is no longer building agents. It is operating them reliably — at scale, under governance, with cost-per-task as the unit of measure.
— Synthesized from 2026 State of AI Agents (Anthropic / Arcade) · S&P Global Market Intelligence · McKinsey
§ 02 — Framework Profiles

The six frameworks that survived.

Each framework profile covers architecture, primitives, code idiom, strengths, and the gaps developers consistently hit at production scale. Read these as architectural commitments, not feature checklists.

01

OpenAI Agents SDK

OpenAI · Released Mar 2025 · Open source

"A minimalist harness with four primitives — agents, handoffs, guardrails, tracing — and an opinionated runtime that gets you to production fast."

LanguagesPython · TypeScript
OrchestrationExplicit handoffs
ModelProvider-agnostic (100+)
Stable sincev0.14 sandbox (Apr 2026)
PredecessorSwarm (experimental)
Best forOpenAI-first stacks

The Agents SDK is OpenAI's production successor to the experimental Swarm. Its core abstraction is the handoff: agents transfer control to each other explicitly, carrying conversation context through the transition. The Apr 2026 update added native sandbox execution — agents now run in controlled computer environments with built-in support for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel.

from agents import Agent, Runner

triage = Agent(
    name="Triage",
    instructions="Route to billing or tech",
    handoffs=[billing_agent, tech_agent],
)
result = Runner.run_sync(triage, "Refund my order")
print(result.final_output)
Strengths Tiny surface area; production-grade tracing built in; AgentKit visual builder; works with 100+ LLMs via Chat Completions; native realtime voice via gpt-realtime-2.
Gaps Coarser orchestration than LangGraph; durable state requires bring-your-own; the simplicity that wins on velocity becomes a constraint on complex stateful workflows.
02

Claude Agent SDK

Anthropic · Renamed from Claude Code SDK · Sep 2025

"Give the agent a computer. Built-in file/shell tools, subagents with isolated context windows, and the deepest MCP integration in the ecosystem."

LanguagesPython · TypeScript
OrchestrationTool-use chain + subagents
ModelClaude-only
PowersClaude Code · Xcode 26.3
NotableSkills system · Hooks · Compaction
Best forLong-horizon agents · OS access

The SDK that powers Claude Code, exposed as a library. The design philosophy: giving a model real access to a real computer is a shorter path to capable agents than reinventing tool-calling on top of a chat API. Anthropic's own research shows the orchestrator+subagent pattern outperforming single-agent benchmarks by up to 90% when sub-agents work in parallel.

from claude_agent_sdk import query, ClaudeAgentOptions

async for message in query(
    prompt="Review this codebase: security, perf, tests",
    options=ClaudeAgentOptions(
        allowedTools=["Read","Glob","Grep","Task"],
        agents={
            "security-reviewer": {"prompt": "You audit auth"},
            "perf-reviewer": {"prompt": "You profile"},
        },
    ),
):
    print(message)
Strengths Deepest MCP integration (200+ servers, single-line config); built-in file/shell tools; subagents with isolated context windows; Skills system for progressive disclosure; prompt caching delivers 10× cost reduction.
Gaps Claude-only (no model routing to other vendors); no built-in observability, durable execution, or state persistence across sessions; runaway loops aren't guarded — developers must implement caps; the bundled CLI binary adds 270–340 MiB to Docker images.
03

LangGraph

LangChain · v1.0 GA Oct 2025 · 90M monthly downloads

"A low-level graph runtime where agents are nodes and edges are conditional flow. Durable execution, checkpointing, and human-in-the-loop are first-class citizens."

LanguagesPython · TypeScript
OrchestrationDirected graph + conditional edges
ModelProvider-agnostic
Production usersKlarna · Uber · LinkedIn · Replit · JPM
Inspired byPregel · Apache Beam · NetworkX
Best forStateful complex workflows

LangGraph is the runtime LangChain pivoted to after openly saying "use LangGraph for agents, not LangChain." Production-tested at scale: Klarna runs LangGraph for support across 85 million users, cutting resolution time by 80%. In a controlled 2,000-task benchmark across four frameworks, LangGraph was fastest on latency across all five test tasks.

from langgraph.graph import StateGraph, MessagesState, START, END

def classify(state): ...
def research(state): ...

g = StateGraph(MessagesState)
g.add_node("classify", classify)
g.add_node("research", research)
g.add_conditional_edges("classify", route_by_intent)
g.add_edge("research", END)
agent = g.compile(checkpointer=memory)
Strengths Durable execution (resume from interrupted state); built-in persistence; first-class HITL; LangSmith observability replays production traces locally; most token-efficient in independent benchmarks; battle-tested at LinkedIn, Uber, JPM, Klarna.
Gaps Steepest learning curve in the survey; graph theory + distributed systems literacy is a real prerequisite; frequent ecosystem updates create breaking-change risk; high TCO when factoring infrastructure and specialized talent.
04

CrewAI

CrewAI Inc · $18M Series A · 60% Fortune 500 footprint

"Role-based agent teams modeled on how humans organize work. The fastest path from idea to working multi-agent prototype — sometimes too fast."

LanguagesPython only
OrchestrationRole-based crews · Flows
ModelProvider-agnostic
Time-to-prototype2–4 hours (~35 LOC)
Stars30K+ GitHub · 100K certified devs
Best forContent, research, role workflows

CrewAI models multi-agent collaboration as a team of role-playing agents — each with role, backstory, goal, and tools. The 2025 enterprise breakout was real: $18M Series A, 100,000+ agent executions per day, 150+ enterprise customers. Distinctive feature: a hierarchical process mode that auto-generates a manager agent overseeing task delegation.

from crewai import Agent, Task, Crew

researcher = Agent(role="Senior Researcher",
    goal="Surface industry trends",
    backstory="PhD in market analysis...")
writer = Agent(role="Tech Writer", ...)

crew = Crew(agents=[researcher, writer],
    tasks=[research_task, writing_task],
    process=Process.hierarchical)
crew.kickoff()
Strengths Lowest learning curve; role abstraction maps intuitively to business stakeholders; Crews + Flows give you both autonomy and predictability; built-in observability and control plane in CrewAI AMP suite.
Gaps ~18% token overhead vs LangGraph for ticket-triage workloads; ~3× the tokens on simple one-tool-call flows in independent benchmarks; debugging 5+ agent pipelines gets opaque; no checkpointing for long-running flows; teams often migrate to LangGraph in production.
05

Google ADK

Google · Released Cloud NEXT 2025 · v2.0 Apr 2026

"Event-driven runtime with hierarchical agent trees, native A2A protocol support, and four-language coverage. The most multilingual framework in the survey."

LanguagesPython · TS · Go · Java
OrchestrationHierarchical tree · Workflow Runtime
ModelGemini-first; LiteLLM bridge
PowersAgentspace · Customer Engagement Suite
NotableA2A protocol · Skills · bidirectional audio/video
Best forGCP-native · multimodal · polyglot teams

ADK introduces an event-driven runtime that orchestrates agents, tools, and persistent state into cohesive applications. The Runner asks the Execution Logic to process; each LLM invocation, tool call, or callback yields events back. This bidirectional model enables observability impossible with synchronous APIs. ADK 2.0 added a graph-based Workflow Runtime for deterministic flows with routing, fan-out/fan-in, loops, retry, HITL, and nested workflows.

from google.adk import Agent, Workflow

researcher = Agent(name="researcher",
    model="gemini-flash-latest",
    tools=[google_search])
writer = Agent(name="writer", ...)

root = Workflow(name="pipeline",
    edges=[("START", researcher, writer)])
# adk run path/to/agent  or  adk web
Strengths Only framework with native Python/TS/Go/Java; A2A protocol enables cross-framework agent communication (an ADK agent can call a LangGraph or CrewAI agent); bidirectional audio/video streaming; native deployment to Vertex AI Agent Engine; rich evaluation tooling.
Gaps Strongly Gemini-optimized; weakest on tool-call cost efficiency in independent benchmarks; v2.0 introduced breaking changes that fragmented session compatibility; the framework's surface area is large enough that learning all of it is a project.
06

Microsoft Agent Framework

Microsoft · v1.0 GA Apr 2026 · Successor to Semantic Kernel + AutoGen

"The unification of Semantic Kernel's enterprise muscle and AutoGen's multi-agent conversation, now the canonical Microsoft stack for agents on Azure."

LanguagesPython · .NET
OrchestrationGraph workflows + conversational
ModelMulti-provider via Azure AI Foundry
Enterprise usersKPMG · BMW · Fujitsu · Novo Nordisk
ProtocolsMCP · A2A · OpenTelemetry
Best forAzure-native · .NET shops · governance

Microsoft sunset two parallel projects (Semantic Kernel and AutoGen) into one unified framework, released as 1.0 in April 2026. The framework provides AutoGen's simple agent abstractions plus Semantic Kernel's enterprise features — session-based state, type safety, middleware, telemetry — and adds graph-based workflows for explicit multi-agent execution paths.

// .NET — Microsoft Agent Framework
var agent = new ChatAgent(
    name: "compliance",
    description: "Reviews documents for GDPR",
    chatClient: azureOpenAI.AsChatClient("gpt-4"),
    tools: [reviewerTool]);

var workflow = WorkflowBuilder
    .StartWith(intakeAgent)
    .Then(compliance)
    .Then(approval)
    .Build();
Strengths Only major framework with first-class .NET support; native Azure AI Foundry deployment; built-in OpenTelemetry, Entra security, governance; 10,000+ orgs on Azure AI Foundry Agent Service; MCP + A2A both supported natively.
Gaps Best leverage assumes Azure ecosystem; migration friction from legacy AutoGen v0.2 / v0.4 docs is real; newest of the six — operational maturity outside Microsoft's case-studied accounts is still being established.
§ 03 — Head-to-Head

Six frameworks, six dimensions.

Ratings reflect the consensus from independent 2026 benchmarks (CLEAR framework, Langfuse, Gurusup, Towards AI), production case studies, and developer community sentiment. They are directional, not definitive — your context matters more than any leaderboard.

FrameworkOrchestrationModel Lock-in Learning CurveMCP SupportSweet Spot
OpenAI Agents SDKExplicit handoffsNone (100+ LLMs)EasyNativeOpenAI-first stacks, voice agents, fast prototyping
Claude Agent SDKTool-use + subagentsClaude onlyMediumDeepestOS-level automation, coding, long-horizon tasks
LangGraphDirected graph + edgesNoneSteepNativeStateful complex workflows, durable execution
CrewAIRole-based crews + FlowsNoneEasiestAdapterRole workflows, content, research, prototyping
Google ADKHierarchical treeGemini-leaningMediumNativeGCP-native, multimodal, polyglot Java/Go teams
MS Agent FrameworkGraph + conversationalMulti-providerMediumNativeAzure-native, .NET shops, governed enterprise
FrameworkTime-to-Hello-WorldDocs Quality CommunityTypeScript ParityVisual Builder
OpenAI Agents SDK< 5 minExcellentExcellentFull parityAgentKit / Agent Builder
Claude Agent SDK10–15 minStrongStrongFull parityNo (CLI-driven)
LangGraph30–60 minStrong (v1 redesign)LargestFull parityLangSmith Studio
CrewAI< 10 minStrongStrong (100K certified)Python onlyYes (AMP)
Google ADK15–20 minStrongGrowingFull parity + Go/Javaadk web
MS Agent Framework20–30 minStrongNewer.NET-firstAI Foundry
FrameworkDurable ExecutionObservability HITLState PersistenceGuardrails
OpenAI Agents SDKSandbox 0.14+Tracing (built-in)YesSessions, Conversations APINative
Claude Agent SDKBYOBYOPermissions systemSessions (v2 API)Hooks (PreToolUse, etc.)
LangGraphBest in classLangSmith (replays)First-classCheckpointersMiddleware
CrewAILimitedAMP Control PlaneYes (via Flows)Task-output passingCoarse-grained
Google ADKWorkflow Runtime 2.0Cloud TraceTool confirmation flowPluggable backendsYes
MS Agent FrameworkYes (state mgmt)OpenTelemetryYesSession-basedFilters · Entra
FrameworkToken EfficiencyLatency Profile Memory FootprintNotes (from independent 2026 benchmarks)
OpenAI Agents SDKEfficientLowLightProvider-native; bills through OpenAI API; sandbox adds infra cost
Claude Agent SDK10× cheaper w/ cachingMedium270–340 MiB binaryPrompt caching is the key cost lever; subagents reduce token usage on long tasks
LangGraphBest in classLowestLightFastest on latency across all 5 tasks in 2,000-task benchmark; best state-mgmt efficiency
CrewAI~18% overheadMediumLight~3× tokens on simple flows; multi-role coordination is expensive on small tasks
Google ADKMidMediumLightWeakest tool-call cost efficiency; Skills system reduces baseline 90% on agents w/ 10+ skills
MS Agent FrameworkEfficientMediumLightMulti-provider routing helps; Azure AI Foundry adds managed-service overhead
Independent benchmark — Q1 2026
Relative latency on 2,000 task instances (same model, same tasks). Lower is faster.
LangGraph
1.00×
AutoGen / MAF
1.02×
OpenAI SDK
1.15×
Claude SDK
1.25×
Google ADK
1.30×
CrewAI
1.55×
Token cost — simple one-tool-call workflow
Indexed against LangChain baseline (= 1.0×). Lower is cheaper.
LangChain
1.00×
LangGraph
1.05×
AutoGen / MAF
1.20×
CrewAI
3.00×
§ 04 — Three Evaluation Scenarios

The same problem, three different worlds.

Framework choice is context-dependent. We evaluate each across three canonical scenarios — business automation, consumer assistant, and academic research — with the metrics that actually matter in that context.

i
Scenario · Enterprise

Business automation

A B2B SaaS company building an automated invoice-to-payment pipeline. Multi-step approval, audit trail, integration with ERP / CRM / finance systems. Compliance is non-negotiable.

Multi-step approval Audit trail ERP / CRM SOC2 / GDPR

The task

Process inbound invoices from email. Extract structured data. Cross-reference vendor master and PO database. Route to the right approver based on amount and category. On approval, schedule payment via the treasury API. Log every step for audit. Pause and escalate to a human if anything is off.

Why most frameworks lose

This is not a "build an agent" problem. It's a "build a durable, observable, human-supervised workflow with agent reasoning at decision points" problem. The frameworks that win are the ones that treat state, persistence, and HITL as first-class concerns — not bolt-ons.

Defined metrics

Cost & Throughput
  • Cost-per-successful-invoice (USD) — full token + infra + retry cost
  • Median end-to-end latency (intake → approval-routed)
  • P95 latency on long-tail invoices (complex PO matching)
Reliability & Governance
  • Audit-trail completeness (% of steps with structured log)
  • Recovery time after partial failure
  • HITL escalation precision (false-escalations / 100 invoices)
  • Cross-system integration latency (ERP + CRM round-trip)
LangGraph   ·   MS Agent Framework
LangGraph wins on technical merit: checkpointers give true durable execution, conditional edges model approval gates explicitly, LangSmith replays the exact production trace locally. Klarna runs this exact pattern for 85M users with 80% resolution-time reduction. MS Agent Framework wins when the customer is Azure-native: OpenTelemetry, Entra, and AI Foundry deployment collapse months of governance work. KPMG, BMW, and Fujitsu chose this path for production workloads.

Why not the others?

CrewAI can prototype this in an afternoon, but the lack of native checkpointing and the 18% token overhead on multi-step flows make production hardening expensive. A common pattern: prototype on CrewAI, rewrite on LangGraph. OpenAI/Claude SDKs are lightweight enough that engineering teams end up building most of the durable-execution layer themselves. Google ADK is a fit if you're already on GCP — the v2.0 Workflow Runtime now supports this class of workflow well.

ii
Scenario · Consumer

Consumer assistant

A travel-booking assistant inside a mobile app. Conversational, multimodal (voice + photo of itinerary), tolerates ambiguity, must feel snappy. Cost-per-user is the existential constraint.

Conversational Voice + multimodal Low latency Cost-per-user

The task

User says "find me a 3-day Lisbon trip in October under $1,200, near a beach." Voice in. Show options. Handle interruptions ("actually make it 4 days"). Let the user upload a screenshot of a hotel and ask "is this in the bundle?" Book on confirmation. Email itinerary.

Why this is hard

Consumer assistants live and die on perceived latency and cost. The orchestration challenge isn't graph theory — it's keeping the conversation alive while making real progress on a multi-tool task, and doing it without burning $0.10 per turn.

Defined metrics

User Experience
  • Time-to-first-token (TTFT) — perceived responsiveness
  • Turn-completion latency P50 / P95
  • Interruption recovery quality (resume mid-tool gracefully)
  • Multimodal handoff smoothness (voice → image → voice)
Unit Economics
  • Cost per successful booking (USD, blended)
  • Cost per conversation turn (P50)
  • Booking-conversion rate per 100 sessions
  • Tail cost: dollars/session at P99 (verbose conversations)
OpenAI Agents SDK   ·   Google ADK
OpenAI Agents SDK wins on voice-first products: gpt-realtime-2 is the strongest realtime voice model shipping, the handoff primitive maps cleanly to "interrupt + delegate to specialist," and Sessions handle conversation state without ceremony. Google ADK wins for multimodal-heavy assistants: native bidirectional audio/video, Gemini's image understanding, and the event-driven runtime makes multimodal handoffs idiomatic rather than glued-together.

Why not the others?

Claude SDK excels at long-horizon coding but is heavier than needed for short conversational turns — and the model lock-in eliminates the option to route cheap turns to a Haiku-class model on another vendor. LangGraph's power is wasted here; its sweet spot is durable multi-step processes, not 4-turn travel queries. CrewAI would burn 3× the tokens on simple one-tool flows. MS Agent Framework is fine but consumer apps rarely benefit from its enterprise-governance strengths.

iii
Scenario · Academic / Research

Research agent

A literature-review agent for a research lab. Reads PDFs, scrapes arXiv, runs Python notebooks, generates LaTeX. Reproducibility, transparency, and the ability to spawn parallel sub-agents matter more than UX polish.

Reproducibility Tool transparency Parallel subagents Long-horizon

The task

Given a research question, scan the last 3 years of arXiv for relevant papers. Download PDFs, extract methods and results, run their published code where possible to verify reproducibility, synthesize a structured literature review with LaTeX bibliography. Spawn parallel sub-agents per paper to avoid context overflow.

Why this is hard

This is the scenario where context-engineering and OS-level access matter most. The agent needs file system, shell, Python execution, long context, and the ability to fan out work across sub-agents that each maintain their own focused context. Anthropic's own research found multi-agent architectures outperform single-agent benchmarks by up to 90% in this regime.

Defined metrics

Capability & Coverage
  • Papers correctly retrieved (recall @ 50) for a known topic
  • Method extraction accuracy (LLM-as-judge + human spot-check)
  • Code reproducibility rate (% of papers' code runnable)
  • Citation accuracy (% of claims with valid attribution)
Process & Transparency
  • Trace completeness (every tool call logged and replayable)
  • Sub-agent parallelism efficiency (wall-clock speedup vs single-agent)
  • Hallucination rate on summaries (per CAR-bench protocol)
  • End-to-end token budget per literature review
Claude Agent SDK   ·   LangGraph (for orchestration shell)
Claude Agent SDK is purpose-built for this: Read/Write/Edit/Bash/Glob/Web Search are native tools, subagents with isolated context windows are first-class, the Skills system makes domain expertise (LaTeX, BibTeX, arXiv API) hot-loadable, and Claude Sonnet 4.5 has demonstrated 30+ hours of autonomous coding. LangGraph earns the dual mention when you need the durability layer around it — for week-long, resumable research runs spanning many context windows, wrap Claude SDK calls inside a LangGraph checkpointed graph.

Why not the others?

OpenAI SDK sandbox-agents (Apr 2026) brought it closer, but the harness is younger and the file/shell tool depth lags Claude. CrewAI's role-based abstraction maps awkwardly to research workflows where parallelism is data-driven not role-driven. Google ADK can do it, especially if you need Gemini's long-context strengths — but the framework's enterprise lean shows. MS Agent Framework is least at-home here; research workflows rarely benefit from .NET strengths.

§ 05 — Voices from the Field

What developers actually say.

Synthesized from Reddit's r/LLMDevs and r/MachineLearning, Hacker News, dev.to, and engineering blogs at Klarna, Uber, LinkedIn, Replit, and Anthropic. Direct paraphrases — not verbatim quotes.

"We prototyped in CrewAI in a weekend and shipped to demo. Three months later we rewrote it in LangGraph because we needed checkpointing and our 7-agent crew had become impossible to debug."

— Engineering Lead, B2B SaaS startup (paraphrased from dev.to)

"The Claude Agent SDK feels less like a framework and more like an opinionated harness. That's the point. When it fits, it's the shortest path from 'I have an idea' to 'the agent is editing files.' When it doesn't, you'll know fast."

— Quoted from morphllm.com 2026 review

"OpenAI Agents SDK is the most opinionated framework, and that's an advantage. Fewer decisions, faster implementation. The tracing and guardrails save weeks of custom plumbing."

— Best Multi-Agent Frameworks 2026, gurusup.com

"LangGraph is steeper but it pays you back. We use it because we need to know exactly what our agent did, replay any production trace locally, and resume long-running workflows after server restarts. That's not optional at our scale."

— Inferred from LangChain customer case studies (Uber, LinkedIn, Klarna)

"Microsoft's unification of Semantic Kernel and AutoGen was overdue. The new framework finally gives us one answer to 'which Microsoft thing do I use?' — and the Azure AI Foundry integration is the only governance story that satisfies our compliance team."

— Inferred from KPMG/BMW/Fujitsu deployment case studies

"ADK feels Java-shop friendly in a way no other framework does. Having Python, TypeScript, Go, and Java with feature parity is a real advantage for polyglot teams — even if the Gemini-first defaults need work to undo."

— Hands-on with the Google ADK, InfoWorld
The consensus pattern

"Match the framework to the problem, not the other way around. Subagents are cheap. Conversations are expensive. Handoffs are in the middle. The decision is no longer about features — it's about what you'll regret in six months."

§ 06 — The Anatomy of an Agent Loop

Five stages, six frameworks, real engineering.

Every production agent runs the same five-stage loop: plan → decompose → execute → verify → loop control. What separates frameworks is how each stage is implemented, what's provided versus left to the developer, and how the loop handles its own termination.

i.
Plan
Form a strategy
Decompose the user goal into a sequence of intermediate goals. Anthropic recommends saving the plan to external memory before context fills. OpenAI's Codex team treats prompt structure as a "first-class performance surface" — durable instructions at the top, volatile at the bottom.
ii.
Decompose
Break down to subtasks
Translate goals into a multiset of subtasks. The VeriMAP pattern couples decomposition with verification design: each subtask is generated with its own verifier. Sub-tasks without dependencies get parallelized; dependent ones get sequenced.
iii.
Execute
Call tools, write code, browse
The orchestrator routes each subtask: dispatch to a sub-agent, call a tool, run a shell command. This is where MCP servers earn their keep — one integration unlocks an ecosystem instead of N bespoke wrappers.
iv.
Verify
Check before continuing
Run the test suite, lint, diff against the spec, or invoke an LLM-as-judge. Anthropic: "verification is pluggable." A judge agent catches 15-20% of errors before they reach users — at the cost of 500-800ms latency.
v.
Loop Control
Continue or terminate
Re-plan if verification failed. Stop if done. Stop if budget exceeded. Cognition's Devin team: "verification is the bottleneck, not generation." Anthropic recommends hard caps at the harness level, never billing alerts.
The principle that ties them together
An agent is "an LLM autonomously using tools in a loop." The loop is the framework's contract with the developer. What it includes by default — and what it leaves for you to engineer — is the whole game.
i.

Planning & Strategy Formation

Stage 01 · How each framework forms its plan
Planning is where context anxiety lives: models that wrap up prematurely as they believe context is running out. The decision is whether planning is implicit (the model decides each step) or explicit (the framework forces a plan artifact).
OpenAI SDK
Implicit Plan emerges turn-by-turn through the agent loop; no first-class plan artifact. Codex CLI introduced explicit AGENTS.md for repository-level planning context — that file becomes part of the stable cache prefix and persists across runs.
Claude SDK
Explicit + persisted Anthropic's harness pattern: claude-progress.txt + initial git commit on first run. The initializer agent's job is to set up the environment and write the plan. The coding agent reads it on every subsequent context-window reset. Plans survive context truncation.
LangGraph
Plan-as-graph Plan is the graph itself — nodes, edges, conditional routing. The "plan" is a static artifact you compile before the agent runs. Plan-and-execute pattern with scoped re-planning reports 82% token reduction vs regenerating full plans from scratch.
CrewAI
Role-implicit "Plan" is encoded in the crew composition: who's the researcher, who's the writer, who's the manager. Hierarchical Process mode auto-generates a manager agent that does runtime re-planning. The risk: goal drift across iterations on vague inputs.
Google ADK
Workflow agents Three plan types: Sequential, Parallel, Loop — deterministic workflow agents with no LLM in the planning path. ADK 2.0 added Workflow Runtime for graph-based execution with explicit retry, fan-out/fan-in, nested workflows.
MS Agent Framework
Workflows + agents Graph-based WorkflowBuilder for explicit multi-agent execution paths, plus AutoGen-style conversational planning for dynamic flows. State management is session-based and durable — plans survive process restarts.
ii.

Task Decomposition & Sub-Agent Spawning

Stage 02 · Whether you fan out, and at what cost
Anthropic's research: multi-agent architectures outperform single-agent by ~90% when sub-agents work in parallel — but at ~15× the token cost of a chat conversation. The decision is when fanning out is worth the multiple.
OpenAI SDK
Handoffs + Agents-as-tools Two flavors: handoff transfers control (one-way), agent-as-tool delegates with return value. No first-class sub-agent context isolation. You can compose, but you own the context-boundary discipline.
Claude SDK
First-class subagents Define agents in the agents param with their own description, prompt, restricted tools, optional model. Each gets an isolated context window — the security reviewer's deep read of auth code doesn't pollute the perf reviewer. Sub-agents cannot spawn their own sub-agents (intentional).
LangGraph
Subgraphs + Send API Subgraphs are first-class — each can have its own state schema. The Send primitive enables fan-out with map-reduce semantics. State is checkpointed at super-step boundaries, so parallel branches recover independently on failure.
CrewAI
Coarse-grained Decomposition is role-based, not data-driven. Task outputs pass sequentially between agents via the Task object. Independent benchmark: ~3× the tokens of competitors on simple one-tool-call flows because every role adds an LLM round-trip.
Google ADK
Hierarchical tree Root agent delegates to sub-agents, which can have their own sub-agents. Task API in ADK 2.0 adds structured agent-to-agent delegation with multi-turn task mode and mixed delegation patterns.
MS Agent Framework
Graph workflows + GroupChat Inherits AutoGen's GroupChat for conversational decomposition and Semantic Kernel's structured workflows for deterministic ones. The WorkflowBuilder fluent API composes them.
Claude SDK — Context-isolated subagents
async for msg in query(
  prompt="Review codebase",
  options=ClaudeAgentOptions(
    allowedTools=["Read","Glob","Task"],
    agents={
      "sec-review": {
        "prompt": "Audit auth",
        "tools": ["Read","Grep"],
        "model": "claude-opus",
      },
      "perf-review": {
        "prompt": "Profile hot paths",
        "tools": ["Read","Bash"],
        "model": "claude-sonnet",
      },
    },
  ),
):
  print(msg)
# Each subagent runs in isolation
# Returns only summary, not raw context
LangGraph — Send API for parallel fan-out
from langgraph.constants import Send

def dispatch(state):
  # map-reduce: one Send per subtask
  return [
    Send("reviewer", {"file": f})
    for f in state["files"]
  ]

g = StateGraph(State)
g.add_node("reviewer", review_file)
g.add_node("reduce", merge_reports)
g.add_conditional_edges("plan", dispatch)
g.add_edge("reviewer", "reduce")
g = g.compile(checkpointer=memory)
# State checkpointed at each super-step
# Parallel branches recover independently
iii — iv.

Execution & Verification

Stages 03–04 · How tools run and how outputs get checked
Execution is the easy part — every framework can call a tool. Verification is where production agents live or die. Cognition's Devin team: "verification is the bottleneck, not generation." The frameworks differ in whether verification is opt-in glue code or a first-class loop participant.
OpenAI SDK
Guardrails (in/out) Input/output guardrails are first-class. The new sandbox execution (v0.14+) ships with native support for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel. The Manifest abstraction makes workspaces portable across sandbox providers.
Claude SDK
Hooks + verification patterns PreToolUse, PostToolUse, Stop, SubagentStart intercept the loop. Verification is pluggable: rules-based (linters, test runners), visual (screenshots for UI work), LLM-as-judge. Tool use supports parallel calls, strict schema enforcement, per-tool streaming.
LangGraph
Conditional edges + interrupts Verification is a node in the graph. Failed verification → conditional edge → re-plan or escalate. The interrupt() primitive pauses execution at any point and saves a checkpoint — humans (or another agent) can inspect and modify state before resuming.
CrewAI
Task-level callbacks Verification happens between tasks — coarse-grained. The hierarchical Process mode introduces a manager that can re-route on bad outputs, but the round-trip cost is high.
Google ADK
Built-in evaluation ADK ships with eval tooling for test trajectories against expected paths. Tool confirmation flow (HITL) is built into the runtime. Code execution uses the Vertex AI Code Execution Sandbox.
MS Agent Framework
Filters + middleware Filters intercept every model call (Semantic Kernel inheritance). OpenTelemetry traces every tool execution. Native sandboxing via Azure AI Foundry's managed agent service.
Production hard rule
A lightweight judge agent that scores worker outputs before they reach the user catches 15-20% of errors at the cost of 500-800ms latency. Almost every production deployment we surveyed runs one. The frameworks that make this trivial (LangGraph conditional edges, Claude PostToolUse hook, ADK eval) win.
v.

Loop Control: Budgets, Limits, & Runaways

Stage 05 · How the agent knows to stop
The most common production failure is a loop that never terminates. A single runaway job can hit the context ceiling and start failing — or worse, keep retrying and burn through API budget silently. Anthropic's production guide explicitly recommends hard caps at the harness level rather than relying on billing alerts.
OpenAI SDK
max_turns on Runner; tracing surfaces loops in real time. Sandbox execution adds CPU/memory caps. No automatic repetition detection — you log + analyze.
Claude SDK
BYO budget guards Loop guards are not built in. Developers implement both numeric iteration limits and repetition detection. The bundled CLI has /cost and /context but the SDK does not expose programmatic budget hooks at the harness level.
LangGraph
recursion_limit + interrupts recursion_limit on every invoke(); conditional edges let you implement custom budget guards as graph nodes. LangSmith surfaces token + cost telemetry per node, per run. Checkpointers make it safe to terminate and resume.
CrewAI
max_iter on Agent, max_rpm for rate limiting. Less granular than graph-based frameworks — you can stop a crew, but mid-task budget enforcement is rough.
Google ADK
Loop workflow agent has max_iterations. Event-driven runtime makes it trivial to attach a budget callback to every yield. Cloud Trace + Cloud Monitoring give per-agent cost dashboards.
MS Agent Framework
Workflow timeouts and retry policies are first-class. Middleware can short-circuit any model call. OpenTelemetry provides cost attribution down to the tool call.
The pattern that ships

Production loops in 2026 use three tiers of guards: (1) per-call token cap, (2) per-agent turn cap, (3) per-task wall-clock + dollar budget. When any guard trips, the agent enters a structured-handoff mode: write progress to disk, log state, escalate to human or to a "summarizer" sub-agent. Never let the LLM decide whether to stop.

§ 07 — Context Engineering

The discipline that actually matters.

The shift from "prompt engineering" to "context engineering" is the most important paradigm move of 2025–2026. Anthropic defines context as "the set of tokens included when sampling from a model" and the engineering challenge as "optimizing the utility of those tokens against the inherent constraints of LLMs." Nominal context windows are 200K. Effective working context is 60–80K. Past that, context rot degrades model recall.

The Four Operations of Context Engineering
Every framework has a position on each: Offload (store full data outside context, pass references). Reduce (compact conversation history). Retrieve (fetch only what's needed, when it's needed). Isolate (sub-agents with fresh windows that return only summaries).
1.

Offload — Externalize state, pass references

Operation 01 · The filesystem is the memory
Sub-agents write findings to a shared filesystem and return lightweight references — the artifact pattern. The lead agent never re-reads every detail; it follows a reference when needed. This is how Anthropic's Claude Research handles long-horizon work that would otherwise blow context.
Claude SDK
Native filesystem Read, Write, Edit, Glob, Bash are built-in tools. claude-progress.txt + git history is the canonical externalization pattern. Skills extend this with progressive disclosure — load expertise only when needed.
LangGraph
Store + Checkpointer Two distinct persistence layers: Store for cross-thread long-term memory (user preferences, episodic), Checkpointer for per-thread short-term state. Confusing them is the #1 architecture mistake. Production uses PostgresStore + PostgresSaver.
OpenAI SDK
Sandbox + Manifest v0.14 sandbox gives agents real file access. The Manifest abstraction describes the workspace portably. file_search hosted tool externalizes large corpora. Conversations API provides durable thread state.
Google ADK
Session + Artifacts Session state with pluggable backends. Artifact service for large binary or text outputs that shouldn't live in context. SkillToolset's three-tool pattern (list_skills, load_skill, load_skill_resource) reports 90% baseline context reduction.
CrewAI
Mem0 + shared memory Memory is task-output passing by default. CrewAI partners with Mem0 for richer long-term memory. Less idiomatic than LangGraph's two-layer model.
MS Agent Framework
Session-based state Inherits Semantic Kernel's memory connectors (Azure AI Search, Postgres, Redis). Type-safe state objects across the workflow.
2.

Reduce — Compaction strategies

Operation 02 · Summarize history in place
Compaction replaces full conversation history with a structured summary — typically reducing context size by 60–80%. The trade-off: it breaks prompt cache. The strategy is to compact only when the cache benefit is exhausted, and to compact predictable parts of the prompt only.
Claude SDK
Automatic + PreCompact hook Automatic compaction fires when accumulated context approaches the window limit. The PreCompact hook lets you intercept and customize the summary. Common pattern: HeadTail compaction (20% head, 80% tail) at an 8K or 15K budget.
OpenAI SDK
/compact slash + context mgmt Responses API provides Context Management primitives including compaction. The Codex agent loop documents prompt structure as a first-class performance surface: durable content at top, volatile at bottom — preserves cache while allowing tail rewrites.
LangGraph
trim_messages + middleware trim_messages utility supports last/first strategies, token-aware truncation. LangChain 1.0's middleware lets you inject compaction at any model call. Checkpointers preserve full history while the visible context is reduced.
Google ADK
Custom callbacks Compaction is developer-implemented via callbacks. ADK exposes event stream so you can summarize-and-replace within the runtime.
CrewAI
Manual No first-class compaction primitive. You implement it inside task functions. The framework's coarse-grained task model makes mid-task compaction awkward.
MS Agent Framework
Filters / middleware Filters can rewrite chat history before each call. Less developed than LangGraph or Claude for compaction specifically.
3.

Retrieve — Just-in-time, not always-in-time

Operation 03 · RAG, search, dynamic loading
2024 orthodoxy: load everything into context up-front via RAG. 2026 inversion: agentic search — the agent runs grep/find/tail to load only what it needs, when it needs it. Anthropic explicitly recommends agentic search over RAG-first patterns for code-heavy tasks. Vector search becomes the optimization for when agentic search is insufficient.
Claude SDK
Agentic search native Grep, Glob, Read tools enable on-demand loading. tool_search dynamic tool discovery prevents 50K+ token tool definitions from polluting context. Skills load just-in-time via progressive disclosure.
OpenAI SDK
file_search hosted tool for vector retrieval. web_search for fresh information. Sandbox agents get grep/find on the workspace.
LangGraph
Tool-driven retrieval Pair with LangChain retrievers (1000+ integrations). The graph structure makes retrieval a node — easy to inspect, cache, and replace.
Google ADK
Vertex AI Search Native integration with Vertex AI Search, AlloyDB, BigQuery. Built-in connectors collapse most enterprise retrieval boilerplate on GCP.
CrewAI / MS Agent Framework
CrewAI relies on LlamaIndex / Mem0 integrations. MS Agent Framework leans on Semantic Kernel's connectors + Azure AI Search.
4.

Isolate — Fresh-context sub-agents & handoffs

Operation 04 · The orchestrator-subagent pattern
The defining move: when context fills, don't compact — reset. Spawn a fresh sub-agent with a structured handoff artifact. Compaction preserves continuity at the cost of context anxiety. A reset gives a clean slate at the cost of the handoff carrying enough state.
Compaction — same agent, shorter history
# LangGraph: trim in place
from langchain_core.messages import trim_messages

trimmer = trim_messages(
  max_tokens=8000,
  strategy="last",
  token_counter=count_tokens,
  include_system=True,
)

def call_model(state):
  msgs = trimmer.invoke(state["messages"])
  # same agent continues with shortened history
  return {"messages": [model.invoke(msgs)]}

# Pros: continuity, no handoff loss
# Cons: cache invalidation, context anxiety
Context reset — fresh agent, handoff artifact
# Anthropic harness pattern
# 1. Initializer agent (first run only)
init_agent.run("""
Set up environment:
- claude-progress.txt
- init.sh
- initial git commit
""")

# 2. Each subsequent session: fresh agent
while not done:
  fresh_agent = ClaudeAgent(...)
  fresh_agent.run("""
    Read claude-progress.txt.
    Make incremental progress.
    Update progress file + git commit.
  """)

# Pros: clean slate, no context anxiety
# Cons: handoff artifact must carry state
The Cognition vs Anthropic debate
Cognition (Devin): "Don't build multi-agents." Single-threaded, full-context, with read-only sub-agents at most. Anthropic: "Multi-agent outperforms single-agent by 90% on research-style tasks." Both agree on the underlying principle — context engineering is everything — and disagree on the cost-benefit of distributing it across multiple agents.
§ 08 — Token Budget & Prompt Caching

The economics of agent loops.

Token costs in multi-agent systems don't scale linearly — they compound. Each tool call adds context. Each sub-agent response feeds back to the orchestrator. Without deliberate budget management, a single runaway job hits the ceiling and starts failing — or burns through your API budget silently.

Token attribution — typical agent turn
Where the budget actually goes (representative breakdowns)
Naïve single-agent
SYS 8%
TOOLS 12%
HISTORY 55%
TASK 15%
OUT 10%
~120K
+ Compaction
SYS 14%
TOOLS 20%
SUM 20%
TASK 26%
OUT 20%
~45K
+ Subagent isolation
SYS 22%
TOOLS 18%
HIST 8%
TASK 30%
OUT 22%
~22K
+ Prompt cache hit
SYS
TLS
HST
TASK 55%
OUT 36%
~7K eff.
System prompt Tool definitions History / Summary Current task Output

The arithmetic is brutal at production scale. A 120K-token agent run on Claude Opus 4.6 ($5/MTok input, $25/MTok output) costs ~$0.60 per turn for input alone. Run that 50 times a day across a team of 10 → $9,000/month on a single agent workflow. Prompt caching reduces uncached input cost from $3.00/MTok to $0.30/MTok on Sonnet — 10× cheaper when the prefix is stable.

Prompt Caching — The 10× Cost Lever

Don't break the cache
Arxiv 2601.06007 ("Don't Break the Cache") on DeepResearch Bench: prompt caching reduces API costs by 41–80% and improves TTFT by 13–31% across providers. The rule: durable content at the top of the prompt, volatile at the bottom. Every change to system prompt, tool definitions, or rules silently breaks caching.
Anthropic / Claude SDK
Explicit cache control cache_control: {type: "ephemeral"} annotations let you mark exactly which prompt segments are cached. Sonnet pricing: $0.30/MTok cached vs $3.00/MTok uncached. The single biggest cost lever in the ecosystem.
OpenAI
Automatic prefix caching Automatic for prompts ≥1024 tokens. No explicit annotations needed. Codex CLI keeps system instructions, tool definitions, sandbox config in identical order between requests to preserve the prefix.
Google / Gemini
Implicit + explicit Implicit caching at provider level + explicit context caching for large reusable corpora (up to 24 hour TTL).
Framework-level
LangGraph: cache discipline is your responsibility — graph structure makes it visible at least. Claude SDK: the agent loop is built around cache preservation. OpenAI SDK: same. CrewAI: role-based delegation rewrites prompts between agents — cache benefit is harder to preserve. ADK / MS Agent Framework: provider-level only.
Rules that earn back 41-80% on production bills

(i) Place durable content (system prompt, tool defs, persistent rules) at the beginning; volatile content (user input, session data) at the end. (ii) Normalize prompts — tiny variations create thousands of near-duplicate cache entries. (iii) Cache retrieval queries, not retrieval output. (iv) Compaction breaks the cache — only compact when the cache benefit is already exhausted. (v) Never cache PII, secrets, or customer-specific data.

Multi-agent cost multiplier
Tokens consumed per task vs single-agent baseline. Multi-agent is ~15× the cost of chat. The question is whether the task class justifies the multiple.
Single chat turn
Single agent + tools
Orchestrator + 3 subagents
15×
CrewAI role workflow (5 agents)
22×
Long-horizon (10 ctx windows)
30×
§ 09 — The Crossover Point

When single-agent breaks.

The single most important architectural question in 2026: when does a single agent stop working and you must go multi-agent? Both Anthropic and Cognition agree on the principle (context is everything) but disagree on the inflection point. This section gives the operational answer.

Three signals that you've crossed the threshold
If you observe any two of these in production, you've already crossed
Stay single-agent
When this fits
  • Task fits inside one context window (~60-80K effective tokens)
  • Steps are sequential — each depends on the previous
  • Workflow is deterministic enough to specify upfront
  • Cost ceiling is tight (cost-per-task < $0.10)
  • The user perceives this as one continuous decision-maker (consumer chat)
  • Latency is the primary constraint (voice, real-time UX)
  • Coordination overhead would dominate any quality gain
Go multi-agent
When you need to scale
  • Task class is breadth-first (research, code review, broad search)
  • Subtasks are independent and can truly parallelize
  • Each subtask needs different specialized context / tools / model
  • Total information exceeds what fits in a single window
  • You can afford 10–15× the token cost for the quality gain
  • Failures are recoverable per-subagent (no shared-state corruption)
  • You have the harness to make subagents reliable (Claude / LangGraph)
Your agent regularly burns > 60K tokens before completing a task
→ Reduce or isolate
The model wraps up prematurely as context grows ("context anxiety")
→ Reset, don't compact
A single agent must hold both broad context and narrow expertise
→ Orchestrator + specialist subagents
Subtasks could run in parallel with no shared mutable state
→ Fan-out with Send / Task / subagent
You need to verify outputs before they reach the user
→ Judge agent (15-20% error catch)
Coordination cost > specialization benefit
→ Stay single-agent; add skills
The cross-cutting design rule
Even if your system has complex internal components, it should present itself to the user as a single coherent entity. The user must feel they are talking with one continuous decision-maker. Multi-agent is an implementation detail of your harness — never an exposed surface area.

Routing the work: which framework, which pattern, which scenario

Synthesizing the whole survey into one decision
Match the pattern to the problem, not the other way around. Subagents are cheap (one LLM call per delegation). Multi-turn conversations are expensive (N agents × M rounds). Handoffs are in between. The table below is the synthesis of everything in this report.
Consumer chat
(travel, support)
Single-agent + tools. Stay coherent for the user. Use cache aggressively (durable system prompt, volatile user input). Compact at 70% window. Reset only if the conversation crosses session boundaries.
OpenAI SDK Google ADK (multimodal)
Coding agent
(repo-scale work)
Single primary agent + isolated subagents for breadth-first sub-tasks (security review, perf profile, test gen). Use agentic search not RAG. claude-progress.txt-style externalization for long-horizon. Reset context per session.
Claude SDK OpenAI SDK + Codex
Research / analysis
(deep, breadth-first)
Orchestrator + parallel subagents is justified here. Pay the 15× cost for the 90% quality gain. Subagents write findings to shared filesystem, return only references. Final synthesis happens in the orchestrator with reduced context.
Claude SDK LangGraph (durability shell)
Business workflow
(approvals, integrations)
Deterministic graph with LLM-at-decision-points, never LLM-as-orchestrator. Checkpointers for durable execution. HITL at every approval gate. Verification + audit log are first-class nodes, not afterthoughts.
LangGraph MS Agent Framework
Customer support
(triage + route)
Triage agent + specialist sub-agents via handoff. Don't over-architect. Most teams reach for multi-agent when they need good tool use + clean routing. Lightweight judge agent before user response catches 15-20% of errors.
OpenAI SDK CrewAI (prototyping) LangGraph (production)
Multi-tenant SaaS
(per-customer agents)
Single-agent per tenant, isolated state stores, shared system prompt + cached prefix across tenants. Cross-tenant fan-out is a security boundary you don't want to cross at the LLM layer.
LangGraph + PostgresSaver MS Agent Framework + Entra
§ 10 — The Gaps & Where the Market Is Going

What every framework still gets wrong.

None of the six frameworks is "done." Each ships with structural gaps that the community and vendors are actively closing — sometimes via the framework itself, sometimes via the surrounding protocol layer (MCP, A2A, AG-UI).

i.
Production-grade evaluation
Only 38% of production agents run automated evals on every prompt change. The CLEAR framework (Nov 2025, arXiv 2511.14136) documents a 37% lab-to-prod performance gap. Most frameworks ship a tracing UI; almost none ship a real eval harness.
CLEAR-style five-dim evaluation as the emerging standard
ii.
Runaway loops & cost guards
The most common production failure mode is a loop that never terminates. Most SDKs do not build in loop guards, repetition detection, or hard caps. Anthropic's own production guide recommends implementing these at the harness level rather than relying on billing alerts.
Cost-per-task as a first-class telemetry primitive
iii.
Cross-framework interoperability
The A2A protocol (open-sourced to Linux Foundation 2025) and MCP (97M+ downloads) are quietly collapsing the cost of multi-framework deployments. By Q1 2026, 67% of CTOs surveyed say MCP is their default agent-integration standard.
Hybrid stacks via MCP (tools) + A2A (agent-agent) becoming the norm
iv.
Security & shadow agents
Only 14.4% of organizations have full security approval for their entire agent fleet. 47% of agents on average are actively monitored. Prompt injection remains a structural problem; no framework solves it natively.
Governance agents that monitor other agents — emerging 2026 pattern
v.
Long-running memory & context
Effective working context during agent execution is closer to 60–80K tokens despite nominal 200K windows. Compaction helps but introduces context degradation. Skills systems (Anthropic, Google) and progressive disclosure are emerging answers.
Skills-based progressive disclosure as the new context-engineering primitive
vi.
UI & frontend communication
Agents → tools (MCP), agents → agents (A2A) — but agents → frontend was unsolved until CopilotKit's AG-UI (May 2025). Now integrated with LangGraph, CrewAI, Mastra, and MS Agent Framework.
AG-UI converging as the third leg of the protocol stack
Decision tree: which framework should you build on?
You're already on OpenAI and want to ship voice or fast multi-agent prototypes
OPENAI AGENTS SDK
You're committed to Claude and want OS-level automation or coding agents with the deepest MCP ecosystem
CLAUDE AGENT SDK
You need durable execution, complex stateful workflows, and the team can invest in graph thinking
LANGGRAPH
You need a working multi-agent prototype this week and role-based abstractions match how stakeholders think
CREWAI
You're on GCP, need multimodal, or your team is polyglot across Python/Java/Go/TypeScript
GOOGLE ADK
You're an Azure / .NET shop with strict governance requirements and existing Foundry investment
MICROSOFT AGENT FRAMEWORK
You need to build on top of multiple frameworks at once
MCP + A2A + AG-UI protocol stack
§ 11 — Conclusion

The era of framework-as-architecture.

Framework choice is no longer a library decision. In 2026 it is an architectural commitment — to a model, an orchestration philosophy, an observability stack, a deployment target, and a community. Pick wrong and you face a 50–80% rewrite when you outgrow it. Pick right and you ship faster than you thought possible, and sleep at night.
The pattern that wins

High-performing teams in 2026 don't optimize for raw framework capability. They optimize for: narrow scope, hard metrics, automated evaluation, named ownership, and human-in-the-loop checkpoints in production rollouts. The framework matters less than the operating discipline around it.

Build vs. buy is no longer the question. The frameworks are good enough. The question is whether your organization is ready to operate agents with the same discipline you bring to databases and APIs. Most aren't yet — and that's where the next two years of work live.