Last updated: 2026-06-20
1. Overview
| Nature | Vendor Lock-in | Typical Use Case | |
|---|---|---|---|
| DeepAgents | Lightweight library (based on LangGraph) | Model-agnostic | Replicating Claude Code-style deep single-agent workflow |
| OpenCode | Terminal product + detachable base | Model-agnostic, multi-provider is a key selling point | Terminal AI coding assistant |
| Google ADK | Enterprise full-lifecycle framework | Tight with GCP / Vertex AI (supports third-party models) | Enterprise multi-agent systems needing eval/deploy/observability |
| Claude Agent SDK | Library version of Claude Code’s core | Tight with Anthropic models | Embedding Claude Code capabilities into your own product/pipeline |
| OpenAI Agents SDK | Lightweight multi-agent orchestration library | Nominally model-agnostic, practically OpenAI-optimized | Production-grade multi-agent apps in the OpenAI ecosystem |
One-liner metaphors:
- DeepAgents = “blueprints and parts for building a car”
- OpenCode = “a drivable car (with a chassis you can reuse)”
- ADK = “Google’s LangGraph + LangSmith + LangServe all-in-one”
- Claude Agent SDK = “Claude Code’s engine exposed as a library”
- OpenAI Agents SDK = “four primitives (Agent/Tool/Handoff/Guardrail) + built-in Tracing in a lightweight production framework”
2. Core Architecture Layers
These solutions sit at different levels of abstraction:
1
2
3
4
5
ADK → Agent Platform OS
Claude Agent SDK → System-level Runtime (Filesystem/MCP Native)
OpenAI Agents SDK→ Application-level Multi-Agent Runtime
DeepAgents → Agent Loop / Harness
LangGraph → Control Flow Engine
Bottom to top: farther from applications, stronger system-level capabilities; stronger runtime capabilities; more complete enterprise features.
| Layer | Core Positioning | Problem Solved |
|---|---|---|
| LangGraph | Workflow Engine | How to orchestrate Agent flows |
| DeepAgents | Agent Harness | How to quickly build an Agent Loop |
| OpenAI Agents SDK | Multi-Agent Application Runtime | How to build multi-agent apps |
| Claude Agent SDK | System-level Agent Runtime | How to build agents with filesystem, Shell, and MCP capabilities |
| ADK | Agent Platform Runtime | How to run, manage, and deploy Agent systems |
3. Layer Responsibilities
LangGraph — Control Flow Layer
- Graph Execution
- State Machine
- Deterministic Workflow
- Human Defined Routing
Developers design the execution path; the runtime executes it.
DeepAgents — Agent Loop Layer
- ReAct Loop
- Tool Calling
- Prompt Driven
- Lightweight
Execution model: LLM → Tool → LLM → Tool → Done
Engineering the Agent Loop for developers.
OpenAI Agents SDK — Application Runtime Layer
- Agents / Handoffs / Tools / Guardrails / Tracing
Execution model: Agent A → handoff → Agent B → Tool → Guardrails
Quickly building production-grade multi-agent applications.
Strengths: Multi-Agent Handoff, Tracing, Guardrails Weaknesses: Limited runtime capability, not great for coding agents
Claude Agent SDK — System Runtime Layer
Origin: Claude Code’s runtime capabilities made available as a library.
- Filesystem Native / Bash Native / MCP Native
- Subagents / Hooks / Session Persistence
Execution model: Agent ↔ Filesystem ↔ Bash ↔ MCP Tools ↔ Subagents
An agent is a process that can operate on a real system environment.
Strengths: Naturally suited for coding agents, mature MCP ecosystem, strong filesystem and Shell capabilities
ADK — Agent Platform Layer
- Runner / Session / Memory / Artifact
- Event Stream / Multi-Agent Orchestration / Deployment
Execution model: Event → Runner → Agents → Tools/Subagents → Memory → Artifacts → Event
An agent is an observable, deployable, and maintainable system.
Strengths: Complete runtime, native multi-agent support, lifecycle management, enterprise-grade capabilities
4. DeepAgents vs OpenCode
4.1 Core Positioning
- DeepAgents: Development framework/library (Python, based on LangGraph) for quickly building agents with deep planning and long-running task execution capabilities (similar to Claude Code). Not an end-user product.
- OpenCode: Ready-to-use terminal AI coding assistant (an open-source alternative to Claude Code / Cursor CLI). Its underlying layer can also be extracted and used as a framework.
4.2 Subagent Design Philosophy
- DeepAgents: Uses a built-in
tasktool to dispatch subtasks to subagents, each with its own context window. The core goal is to prevent main context pollution/bloat, emphasizing context isolation and engineering-style task planning (similar to TODO list state tracking). - OpenCode: Subagents are more role-oriented (e.g., code-reviewer, debugger), each with configurable tool permissions and prompts. The approach resembles “role-based dispatching,” with an emphasis on multi-provider support (expensive models for the main agent, cheaper models for subtasks).
4.3 Extensibility
| Dimension | DeepAgents | OpenCode |
|---|---|---|
| Extension method | Code-level (Python, custom middleware, tools, state schema) | Config-level + plugin/tool protocol (TS ecosystem, MCP support) |
| Target audience | App developers embedding into their own products | End users + developers who want custom workflows |
| Model support | Any model supported by LangChain | Native multi-provider switching is a selling point |
| UI | No built-in UI, pure backend logic | Built-in TUI (terminal interface), complete experience |
5. ADK vs DeepAgents
What ADK has that DeepAgents doesn’t
- Full lifecycle management: Built-in evaluation framework, native tracing/observability, one-click deploy to Vertex AI Agent Engine (
adk deploy agent_engine). DeepAgents doesn’t handle testing, deployment, or monitoring at all. - Formal multi-agent type system: Distinguishes between LLM Agents (LLM-driven decision making), Workflow Agents (Sequential/Parallel/Loop, pure code control flow without LLM), and Custom Agents. DeepAgents ties almost all nodes to the LLM reasoning loop, without “pure code control flow agents” as first-class citizens.
- Session / Memory / Artifact three-layer state model + managed services: Memory persists user info across sessions; Artifact manages files/binaries; backed by managed services (VertexAIMemoryBankService, SQL database support). DeepAgents’ “memory” is basically LangGraph’s checkpoint/state with no such engineering layering.
- Plugin (lifecycle callback) mechanism: Execute custom code at various stages of the agent workflow via callback hooks (logging, policy enforcement). DeepAgents’ middleware mechanism is lighter, lacking this fine-grained multi-stage hook system.
- Multi-language SDK: Python, TypeScript, Go, Java, Kotlin. DeepAgents only has Python (+ a community JS version).
- Graph-based workflow runtime (2.0): Agents/Tools/Functions evaluated as graph nodes, with native support for auto-retry, telemetry, and Human-in-the-Loop pauses. DeepAgents uses LangGraph under the hood, but HITL and auto-retry need to be wired up manually.
What DeepAgents has that ADK doesn’t (or isn’t a core strength)
- Minimalist, high-fidelity reproduction of the single-agent mental model: Focused on replicating Claude Code’s “planning + TODO tracking + file tools + subagent isolation” pattern with extremely low cognitive overhead. ADK’s conceptual system (Runner/Event/Session/State/Memory/Artifact/Plugin/Callback/WorkflowAgent…) is rich but steep to learn—overkill if all you need is a single deep agent.
- Vendor-neutral, lightweight, no cloud dependency: Built on LangChain/LangGraph, model-agnostic by nature. ADK’s high-value features (Memory Bank, Agent Engine deployment, Trace) mostly require Vertex AI, tying the experience to GCP.
- Toolkit tailored for coding agent scenarios: Built-in tools (file read/write, TODO planning, subtask dispatch) are directly tuned for programming tasks. ADK is a general-purpose framework with no “built-in presets” for coding tasks.
- Readability and hackability from smaller code footprint: The codebase is small; middleware, state schema, and subagent dispatch logic have almost no black boxes. ADK has more abstraction layers and a longer debugging chain.
6. Claude Agent SDK Key Features
-
Not a general framework, but Claude Code’s kernel “as a library”: Provides exactly the same tools, agent loop, and context management as Claude Code, callable via Python/TypeScript. Unlike DeepAgents’ “reimplementation,” this is the official engine directly exposed.
-
Complete subagent context isolation, but only two levels deep: Subagents get a fresh context, inheriting nothing from the parent conversation. The only communication channel is the prompt string passed to the Agent tool call. The parent receives only the subagent’s final message (as-is, possibly summarized). Limitation: Subagents cannot spawn their own subagents (no recursive nesting). DeepAgents’ graph structure theoretically allows deeper nesting.
-
Supports different models for subagents, with two definition methods: filesystem (
.claude/agents/*.md) and programmatic (AgentDefinition). Can share configuration with the Claude Code CLI—a unique design that neither ADK nor OpenAI SDK offers. -
Tool Search on-demand loading: Automatically triggered when MCP tool descriptions exceed 10% of the context window, reducing context usage by up to 95%. None of the other four frameworks specifically address this pain point.
-
Hooks system down to the tool-call level: PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd, UserPromptSubmit, etc. Can be bound to specific tools (e.g., auto-log audit trails after Edit/Write).
-
Notable gaps: No built-in evaluation framework, no managed deployment, no formal long-term memory/session service—it’s essentially a “runtime library.” All of these need to be wired up externally.
7. OpenAI Agents SDK Key Features
-
Core abstraction is Handoff (control transfer), not task dispatch: The four primitives are Agent, Tools, Handoffs, Guardrails. Handoff transfers control of the loop—not a function call that returns results. Once handed off, the new agent takes over the entire conversation (also supports “Agents as tools” dispatch-style usage as an option).
-
Guardrails are first-class citizens, with input/output segmentation and parallel execution: Failed checks trigger a tripwire, immediately throwing an exception and stopping execution. When chaining multiple agents via handoff, input guardrails only apply to the first agent, and output guardrails only apply to the agent producing the final result.
-
Tracing dashboard out of the box: Automatically collects full event records for LLM generations, tool calls, handoffs, guardrails, etc., with debugging via platform.openai.com’s Traces panel. On LLM call-chain instant visualization, the experience approaches ADK, but ADK’s observability system is more complete (including evaluation framework and deployment telemetry). OpenAI’s Tracing being built into a lightweight library is already noteworthy.
-
Sessions are relatively simple: Provides automatic conversation history management across agent runs, far less sophisticated than ADK’s four-layer system (Session/State/Memory/Artifact).
-
Nominally provider-agnostic, practically closest to OpenAI: Supports Responses/Chat Completions API and 100+ other LLMs, but built for the OpenAI API with native support for function calling, structured output, and streaming without additional abstraction layers.
8. World Model
This is the most fundamental difference between these frameworks—their assumptions about “what world the agent lives in.”
| System | World Model |
|---|---|
| DeepAgents | Prompt Context |
| OpenAI Agents SDK | Tool + Agent Graph |
| Claude Agent SDK | Filesystem + MCP + Tools |
| ADK | Distributed Runtime System |
9. Subagent / Task Delegation Mechanisms: Three Design Philosophies
| Mode | Representative | Core Feature | Selling Point |
|---|---|---|---|
| Dispatch & Report | DeepAgents’ task toolClaude Agent SDK’s Agent (as Tool) |
Parent agent stays in control; subagent reports back; parent decides next step | Context isolation |
| Handoff / Control Transfer | OpenAI Agents SDK’s default Handoff | Control transfers completely; new agent takes over the entire conversation; original agent exits | Clear responsibility boundaries |
| Graph Node / Workflow Agent | ADK 2.0 graph-based runtime | Agents/Tools/Functions are all graph nodes; supports LLM-driven transfer + explicit AgentTool delegation; can mix in non-LLM Workflow Agents | Determinism + flexibility (but heaviest conceptually) |
10. Tool System Comparison
| System | Tool System |
|---|---|
| DeepAgents | Function Calling + built-in programming toolset (file read/write, TODO planning, subtask dispatch) |
| OpenAI Agents SDK | Tool Abstraction + Guardrails |
| Claude Agent SDK | MCP + Bash + Filesystem |
| ADK | Tool Registry + Tool Governance + Tool Routing |
11. State Management
| System | State Model |
|---|---|
| DeepAgents | Prompt State |
| OpenAI Agents SDK | Session State |
| Claude Agent SDK | Filesystem + Session |
| ADK | Distributed State + Artifacts |
12. Engineering Philosophy
| System | Philosophy | Priority |
|---|---|---|
| DeepAgents | Make agents easy. | Developer experience first |
| OpenAI Agents SDK | Make multi-agent apps production-ready. | Application development first |
| Claude Agent SDK | Make agents behave like real systems. | System execution capability first |
| ADK | Make agents enterprise-scale systems. | Platform and operations first |
13. Selection Guide
- Must be model-agnostic, want to customize every aspect → DeepAgents
- Need a terminal-based coding assistant with flexible model switching → OpenCode (its underlying layer can also be extracted as a framework, though this mode is less mature than DeepAgents’ pure library design)
- Enterprise-grade, need eval/deploy/observability/multi-language team collaboration → ADK
- Want to embed Claude Code capabilities into your product, already committed to Anthropic models → Claude Agent SDK
- Primarily in the OpenAI ecosystem, need clear handoff patterns + built-in tracing/guardrails → OpenAI Agents SDK
- Just need workflow orchestration → LangGraph
14. One-Liner Summary
| Solution | One-Liner |
|---|---|
| LangGraph | Workflow engine |
| DeepAgents | Agent Harness — lightweight, readable, model-agnostic, great for experimental/custom projects |
| OpenCode | Ready-to-use terminal product with multi-provider support and role-based subagents |
| OpenAI Agents SDK | Multi-Agent Application Runtime — clean primitives, unique Handoff pattern, built-in Guardrails and Tracing |
| Claude Agent SDK | System-level Agent Runtime — most thorough subagent isolation (but only two levels), on-demand tool loading is a unique weapon |
| ADK | Agent Platform OS — enterprise full-lifecycle framework, most complete feature set |
Note: This article is based on publicly available information as of June 2026. All projects evolve quickly; verify with official documentation before making key decisions.
-
Previous
The Divide and Convergence of Agents: Coding Agent vs Personal Agent — A Panoramic Comparison -
Next
LLM Serving: GPU Memory, KV Cache, and Large-Scale Inference