Two of the most credible agent frameworks in 2026. Both Python-first, both open-source, both support multi-provider model routing, both ship first-class multi-agent orchestration. Different centers of gravity: ADK leans into managed compliance via Vertex AI Agent Engine; LangGraph leans into vendor neutrality and ecosystem breadth. This leaf helps you pick the right one for the situation in front of you.
Read this if you're orienting before scanning the table. Skip to section 02 if you already know both and want the side-by-side.
ADK is Google's official agent framework. Apache 2 licensed Python (Java + JS exist). Ships first-class abstractions for agents, tools, sub-agents, delegation, parallel execution, and hand-off.
Vertex AI Agent Engine is the optional managed runtime on GCP. It hosts the agent, captures every turn via the session service, manages memory via Memory Bank, and exposes everything through GCP IAM. The pair makes "agent + compliance-grade audit" a turnkey deployment rather than something you assemble from OSS pieces.
You can also run ADK locally or on Cloud Run without Agent Engine. The framework stays useful; you give up the managed audit story.
LangGraph is LangChain Inc.'s graph-based agent framework. MIT licensed Python (TS narrower). Agents are modelled as state graphs — nodes are steps, edges are transitions, interrupts pause for human input.
v1.0 landed late 2025. 90k+ GitHub stars. Multi-provider is native via init_chat_model("<provider>:<model>"). MCP support was added in late 2025. LangSmith is the SaaS observability backend; Langfuse (OSS, self-hosted) works via the OpenTelemetry GenAI exporter.
LangGraph is one part of a larger ecosystem (LangChain Core, LangSmith, LangServe). You can use it standalone or as the orchestration layer within a fuller stack.
Where the frameworks differ in shape. Neutral — "different" is more common than "better."
| Dimension | Google ADK | LangGraph |
|---|---|---|
| Maintainer / License | Google · Apache 2 | LangChain Inc. · MIT |
| Maturity | GA 2024; mature on Google stack | v1.0 late 2025; 90k+ stars; broad community |
| Primary language | Python (Java + JS exist) | Python (TS narrower) |
| Mental model | Agents + tools + sub-agents. Delegate, hand-off, parallel. Maps cleanly to "what would a person do." | State graph. Nodes are steps, edges are transitions, interrupts gate humans. More powerful, steeper. |
| Multi-provider | Yes, via adapters. Gemini is the easy path; Claude / GPT / others work but Vertex Agent Engine assumes Gemini for deepest integration. | Yes, native. init_chat_model("provider:model") switches with a config call. All providers (including Ollama / vLLM) first-class. |
| Managed runtime | Vertex AI Agent Engine on GCP. Compliance-grade out of the box. | Self-host, or LangGraph Cloud (managed by LangChain). Or stand it up on any Python host. |
| Multi-agent orchestration | First-class. Sub-agents, parallel agents, sequential agents, loop agents are all framework primitives. | First-class via graphs. Supervisors, branches, hierarchical agents, conditional routing. |
| Memory / state | Memory Bank (managed long-term memory) + session service (per-conversation state with audit). | Checkpointers (Postgres, Redis, SQLite). LangMem for long-term memory. DIY vector store integrations. |
| MCP support | Via tool-server wrappers. Works but less polished as of mid-2026. | Native (added late 2025). Direct MCP-server consumption. |
| A2A protocol | Native — Google co-authored the spec. | Via adapters. |
| Observability | Vertex AI tracing + GCP audit logs. POPIA / GDPR audit story integrated. | LangSmith (SaaS, polished) or Langfuse (OSS, self-hosted, OTel-based). Pick by data-ownership preference. |
| IAM / auth | GCP IAM service accounts. Turnkey for enterprise. | DIY — Auth.js, Cloudflare Access, SPIFFE, etc. More choice, more setup. |
| Compliance story | Integrated. Agent Engine handles audit trails, IAM, data residency in one package. | Composed. LangGraph + Langfuse + Cerbos + identity layer of choice. Full control, more pieces to wire. |
| Ecosystem size | Smaller, growing fast. Strong on Google services (BigQuery, Workspace, Vertex models). | Bigger, broadest community. Tooling and integrations for almost everything. |
| Hiring pool | Smaller (newer framework); Google-ecosystem engineers. | Broader. "LangChain experience" appears on most agent-engineer CVs in 2026. |
Most other differences flow from this one. Pick the mental model that matches how the team thinks; everything else follows.
An agent is a function-like object: instructions, model, tools, optionally sub-agents it can delegate to. Hand-offs are explicit. Memory is a side-channel. The mental model maps cleanly to real-world workflows — customer support escalation, sales hand-off, research agent calling a writer agent.
Engineers ramp fast (a few days). Code reads top-down. Trade-off: less powerful for highly-branching parallel orchestration, where the mental cost of expressing "wait for A and B to both complete, then run C or D depending on A" stacks up.
A workflow is a graph. Nodes are functions that read state and emit state updates. Edges are conditional transitions (including back-edges for loops and parallel fan-out). Interrupts pause for human input. State is the first-class primitive; agents are graph patterns.
Engineers ramp slower (about a week to feel fluent). Code reads as state transitions, which can be unfamiliar. Trade-off: vastly more power for complex orchestration, replay-debuggable workflows, and fine-grained control over what runs in parallel vs sequentially.
Heuristic. If you can describe the agent's workflow in natural English as a sequence of decisions a person might make, ADK is the faster path. If you find yourself drawing a flowchart with branches, joins, and retries, LangGraph's primitives will save you reinventing them.
A first-principles question for any architecture that wants to remain provider-agnostic. Both frameworks pass; the lean matters.
ADK works with Gemini natively and supports Claude, GPT, and others through the model adapter system. Switching providers per agent is a configuration change.
The catch: Vertex AI Agent Engine assumes Gemini for its deepest integrations (Memory Bank optimisations, native tool-call routing, audit-log enrichment). Running ADK with non-Gemini models works but you give up some of Agent Engine's managed value. The "easy path" is Gemini all the way down.
init_chat_model("anthropic:claude-opus-4-7") or "openai:gpt-5" or "ollama:llama-4". All providers are first-class — none is "the easy path." Switching providers is a single function call.
Pairs naturally with a model gateway underneath (LiteLLM, OpenRouter, Cloudflare AI Gateway) for centralised caching, rate limits, and cost metering. The runtime stays vendor-neutral by design, not as an afterthought.
For an architecture with a stated constraint of never tied to one provider, must support open weights through frontier, LangGraph fits the constraint more cleanly. ADK fits when the team has decided Gemini is the primary model with occasional escapes to Claude or GPT.
Not a single recommendation — both are excellent. Pick the one whose strengths match the constraints of the situation in front of you.
The two frameworks interoperate cleanly. A common pattern in larger orgs:
— ADK for some agents: Gemini-heavy, GCP-resident, compliance-critical (think: customer-data agents in regulated industries, where Vertex Agent Engine's audit trail is the deciding factor).
— LangGraph for others: provider-mixed, edge-deployed, cost-sensitive (think: marketing or operations agents where Claude + GPT + Ollama in rotation makes economic sense).
— Both expose tools via MCP, so a LangGraph agent can call an ADK-hosted agent's tools and vice versa. The Agent-to-Agent (A2A) protocol provides the higher-level co-ordination layer; ADK is A2A-native, LangGraph via adapters.
The cost: two frameworks to maintain, two mental models for engineers, two observability paths to reconcile. Worth it when the integration value (compliance for ADK agents, portability for LangGraph agents) outweighs the maintenance.
If you want ADK's framework abstractions but not the GCP lock-in of Agent Engine, run ADK Python on Cloud Run (or any container host). You give up Memory Bank, the session service, and the integrated audit trail — bringing the trade-offs closer to LangGraph's "compose your own audit" stance. ADK becomes a Python framework choice rather than a managed-runtime choice.
LangGraph can call Gemini via init_chat_model("vertex:gemini-2.5-pro") just like any other provider. You can run LangGraph on Cloud Run and ingest traces into Vertex AI's tracing system. The combination loses Agent Engine's integrated audit (you'd build that via Langfuse instead) but keeps Gemini as a first-class model.
Compliance, latency, and ecosystem all push in different directions for South African builds. The honest read:
POPIA matters. Data residency, audit trails, processor accountability — all enterprise asks for South African banks, insurers, telcos, and healthcare. Vertex AI Agent Engine has the cleanest out-of-the-box story for "agent calls happen in africa-south1, audit logs live in our GCP project, IAM controls who can deploy and query." For regulated industries on GCP, ADK is the path of least resistance to a compliance review.
For SA SMEs and growth-stage companies less constrained by regulation, LangGraph + Langfuse + Cloudflare AI Gateway is cheaper, more portable, and less tied to one cloud. The Cloudflare Johannesburg edge is materially closer to end-users than GCP africa-south1 for latency-sensitive interactive agents.
Rule of thumb. Regulated industries already on GCP → ADK with Agent Engine. Growth-stage SMEs, edge deployments, multi-provider explicit → LangGraph with Langfuse. Hybrid orgs → both, with MCP as the bridge.
Verify the versions against the date on this leaf — both frameworks move fast.