diff --git a/src/oss/deepagents/comparison.mdx b/src/oss/deepagents/comparison.mdx index 001e02778b..e0d87f6243 100644 --- a/src/oss/deepagents/comparison.mdx +++ b/src/oss/deepagents/comparison.mdx @@ -24,36 +24,23 @@ This page helps you understand how [LangChain Deep Agents](/oss/deepagents/overv | **Security configurability** | Composable, per-tool human-in-the-loop | Permission system with modes, rules and hooks | Built-in tiers using approval modes and OS-level sandboxes | | **License** | MIT | MIT (underlying Claude Code is proprietary) | Apache-2.0 | -### Key differences - -**LangChain Deep Agents**: -- **Model flexibility**: Swap model providers (Anthropic, OpenAI, or 100+ others) at any time and run evaluations. -- **Long-term memory**: Persist context across sessions and threads with the [Memory Store](/oss/deepagents/memory) -- **Sandbox-as-tool pattern**: Run individual operations in isolated sandboxes from [different providers](/oss/deepagents/sandboxes) while the agent runs outside, or run the full agent inside a sandbox -- **Virtual filesystem**: Use pluggable backends (in-memory, disk, durable stores, sandboxes) for context and checkpoint management -- **Production deployment**: Deploy via [`deepagents deploy`](/oss/deepagents/deploy) or self-host with the Agent Server -- **Observability**: Use [LangSmith](/langsmith/home) for native tracing and debugging - -**Claude Agent SDK**: -- **Standardize on Claude**: First-class support for Claude models across Anthropic, Azure, Vertex AI, and AWS Bedrock -- **Custom hosting**: Build your own HTTP/WebSocket layer and run the SDK in containers -- **Hooks**: Easily intercept and control agent behavior - -**Codex SDK**: -- **Standardize on OpenAI**: GPT-5.3-Codex and OpenAI-specific tooling -- **OS-level sandbox modes**: Use built-in `read-only`, `workspace-write`, or `danger-full-access` modes -- **MCP server mode**: Expose your agent as an MCP server with `codex mcp-server` -- **Observability**: Use [OpenAI Traces](https://developers.openai.com/codex/guides/agents-sdk/#trace-the-workflow) +### Summary + +- **Choose Deep Agents** for an open source, model-agnostic harness you can deploy in a production-ready, [multi-tenant](/oss/deepagents/going-to-production#multi-tenancy) way while [keeping control of your memory](https://www.langchain.com/blog/your-harness-your-memory). +- **Choose Claude Agent SDK or Codex SDK** if you want to standardize on a single model provider and are comfortable building the hosting, auth, and multi-tenant isolation layers yourself. ## Feature comparison +The feature comparison is grouped by decision area. + +### Agent capabilities + | Feature | **Deep Agents** | **Claude Agent SDK** | **Codex SDK** | | ------- | --------------- | -------------------- | ------------- | -Core tools | File Read/Write/Edit | ✅ [`read_file`, `write_file`, `edit_file`](/oss/deepagents/harness#virtual-filesystem-access) | ✅ [Read, write, edit](https://platform.claude.com/docs/en/agent-sdk/overview#capabilities) | ✅ Read, write, edit | | Shell Execution | ✅ [`execute`](/oss/deepagents/) | ✅ [bash](https://platform.claude.com/docs/en/agent-sdk/overview#capabilities) | ✅ [`exec`](https://developers.openai.com/codex/cli/features#scripting-codex) | -| Glob/Grep | ✅ [`glob`, `grep`](/oss/deepagents/harness#virtual-filesystem-access)| ✅ [glob, grep](https://platform.claude.com/docs/en/agent-sdk/overview#capabilities) | ✅ Built-in | -| Web Search | ✅ support for [third-party](/oss/deepagents/customization#tools) and [provider-native](/oss/integrations/chat/openai#web-search) | ✅ [WebSearch, WebFetch](https://platform.claude.com/docs/en/agent-sdk/overview#capabilities) | ✅ [`web_search`](https://developers.openai.com/codex/cli/features#web-search) | +| Glob/Grep | ✅ [`glob`, `grep`](/oss/deepagents/harness#virtual-filesystem-access) | ✅ [glob, grep](https://platform.claude.com/docs/en/agent-sdk/overview#capabilities) | ✅ Built-in | +| Web Search | ✅ Support for [third-party](/oss/deepagents/customization#tools) and [provider-native](/oss/integrations/chat/openai#web-search) | ✅ [WebSearch, WebFetch](https://platform.claude.com/docs/en/agent-sdk/overview#capabilities) | ✅ [`web_search`](https://developers.openai.com/codex/cli/features#web-search) | | Planning/Todos | ✅ [`write_todos`](/oss/deepagents/harness#planning-capabilities) | ✅ [Todo lists](https://platform.claude.com/docs/en/agent-sdk/todo-tracking) | ✅ [Plan before changes](https://developers.openai.com/codex/cli/features) | | Subagents | ✅ [Subagents](/oss/deepagents/subagents) | ✅ [Subagents](https://platform.claude.com/docs/en/agent-sdk/subagents) | ✅ [Multi-agent workflows](https://developers.openai.com/codex/concepts/multi-agents) (experimental) via MCP + Agents SDK | | MCP Client | ✅ | ✅ [MCP](https://platform.claude.com/docs/en/agent-sdk/mcp) | ✅ [MCP client](https://developers.openai.com/codex/mcp) | @@ -62,28 +49,47 @@ This page helps you understand how [LangChain Deep Agents](/oss/deepagents/overv | Additional instructions | ✅ [Memory](/oss/deepagents/customization#memory) | ✅ [CLAUDE.md files](https://platform.claude.com/docs/en/agent-sdk/modifying-system-prompts#method-1-claude-md-files-project-level-instructions) | ✅ [AGENTS.md](https://developers.openai.com/codex/guides/agents-md) | | Long-term memory | ✅ [Memory Store](/oss/deepagents/memory) | ❌ | ❌ | | Streaming | ✅ [Streaming](/oss/deepagents/streaming/overview) | ✅ [Streaming](https://platform.claude.com/docs/en/agent-sdk/streaming-output) | ✅ [Streaming](https://github.com/openai/codex/blob/main/sdk/typescript/README.md#streaming-responses) | -Sandbox Integrations + +### Sandboxing and architecture + +| Feature | **Deep Agents** | **Claude Agent SDK** | **Codex SDK** | +| ------- | --------------- | -------------------- | ------------- | | Agent runs in sandbox | ✅ [Can run in sandbox](/oss/deepagents/sandboxes#agent-in-sandbox-pattern) | ✅ [Can run in sandbox](https://platform.claude.com/docs/en/agent-sdk/hosting) | ✅ [Can run in sandbox](https://developers.openai.com/codex/security#os-level-sandbox) | | Agent runs operations in sandboxes | ✅ [Uses sandboxes as tools](/oss/deepagents/sandboxes#sandbox-as-tool-pattern) | ❌ | ❌ | | OS-level sandbox modes | ❌ | ❌ | ✅ `read-only`, `workspace-write`, and `danger-full-access` | -Architecture | Composable Middleware | ✅ | ✅ [Hooks](https://platform.claude.com/docs/en/agent-sdk/hooks) | ❌ | | Virtual Filesystems | ✅ [Virtual filesystem](/oss/deepagents/harness#virtual-filesystem-access) with [pluggable backends](/oss/deepagents/backends) | ❌ | ❌ | -Deployment + +### Deployment and production + +| Feature | **Deep Agents** | **Claude Agent SDK** | **Codex SDK** | +| ------- | --------------- | -------------------- | ------------- | | Production hosting | ✅ [LangSmith Deployment](/oss/langgraph/deploy), [`deepagents deploy`](/oss/deepagents/deploy), self-hosted, or standalone | Build your own HTTP/WebSocket layer; run SDK in [containers](https://platform.anthropic.com/docs/en/agent-sdk/hosting) | ❌ | +| Multi-tenant deployment | ✅ One deployment with [custom auth and scoped user data](/oss/deepagents/going-to-production#multi-tenancy), plus [RBAC](/langsmith/rbac) | ⚠️ Possible, but you must build auth, tenancy, and per-user isolation yourself | ❌ | | Local execution environment | ✅ | ✅ | ✅ | | Cloud execution environment | ❌ | ❌ | ✅ | -Supported protocols + + + Need user-level isolation in one shared deployment? Deep Agents support [multi-tenant deployments](/oss/deepagents/going-to-production#multi-tenancy) with scoped threads, runs, and conversation history. For a walkthrough, watch the [custom auth video](https://www.youtube.com/watch?v=DkNqgCz8cjE). + + +### Protocols and state + +| Feature | **Deep Agents** | **Claude Agent SDK** | **Codex SDK** | +| ------- | --------------- | -------------------- | ------------- | | ACP server (IDE integration) | ✅ [ACP server](/oss/deepagents/acp) | ✅ (third-party) | ✅ (third-party) | -| MCP server mode | [MCP endpoint through Agent Server](/langsmith/server-mcp) | ❌ | ✅ [`codex mcp-server`](https://developers.openai.com/codex/guides/agents-sdk) | +| MCP server mode | ✅ [MCP endpoint through Agent Server](/langsmith/server-mcp) | ❌ | ✅ [`codex mcp-server`](https://developers.openai.com/codex/guides/agents-sdk) | | A2A endpoint | ✅ [A2A endpoint in Agent Server](https://docs.langchain.com/langsmith/server-a2a#a2a-endpoint-in-agent-server) | ✅ | ❌ | -State management -| Session Resume | ✅ | ✅ [Session management](https://platform.claude.com/docs/en/agent-sdk/sessions) | ✅ [Resume threads](https://developers.openai.com/codex/cli/features#resuming-conversations); SDK `resumeThread()` | +| Session Resume | ✅ [Reconnect and load thread history](/oss/deepagents/going-to-production#frontend) | ✅ [Session management](https://platform.claude.com/docs/en/agent-sdk/sessions) | ✅ [Resume threads](https://developers.openai.com/codex/cli/features#resuming-conversations); SDK `resumeThread()` | | File Checkpointing | ✅ [Backends and checkpoints](/oss/deepagents/backends#built-in-backends) | ✅ [File checkpointing](https://platform.claude.com/docs/en/agent-sdk/file-checkpointing) | ✅ [Git checkpoints](https://developers.openai.com/codex/config-basic) | | Time Travel (state branching) | ✅ | ✅ | ✅ | -Observability + +### Observability + +| Feature | **Deep Agents** | **Claude Agent SDK** | **Codex SDK** | +| ------- | --------------- | -------------------- | ------------- | | Native Tracing | ✅ [LangSmith](/langsmith/home) | ❌ | ✅ [OpenAI Traces](https://developers.openai.com/codex/guides/agents-sdk/#trace-the-workflow) | -| Evaluations | ✅ [LangSmith](/langsmith/evaluation-concepts) | ❌ | [Evals patterns](https://developers.openai.com/blog/eval-skills) (Command-line with `codex exec --json`) | +| Evaluations | ✅ [LangSmith](/langsmith/evaluation-concepts) | ❌ | [Evals patterns](https://developers.openai.com/blog/eval-skills) (command-line with `codex exec --json`) | **Notice a mistake?** diff --git a/src/oss/deepagents/going-to-production.mdx b/src/oss/deepagents/going-to-production.mdx index 63d5d3ced2..3bfcfdb94c 100644 --- a/src/oss/deepagents/going-to-production.mdx +++ b/src/oss/deepagents/going-to-production.mdx @@ -78,7 +78,7 @@ When your agent serves multiple users, you need to handle three concerns: verify - Return filters so users only see their own resources - Deny access with HTTP 403 for unauthorized operations -For a step-by-step tutorial, see [Make conversations private](/langsmith/resource-auth). +For a step-by-step tutorial, see [Make conversations private](/langsmith/resource-auth). For a walkthrough, watch the [custom auth video](https://www.youtube.com/watch?v=DkNqgCz8cjE). How you [scope memory](#scoping) and [execution environments](#execution-environment) determines what data is shared between users. See the sections below for details.