Claude Code SDK VS. LangGraph

💡
  1. Claude Code 提倡的 Model + Harness 范式核心是什么?能力边界在哪?
  1. LangGraph 类基于状态机的框架,在 2026 年是否过时?
  1. DeerFlow 这类 SuperAgent Harness 为什么选择 LangGraph 作为底座?
  1. 复杂 Agent 系统的分层架构应如何组织?
  1. 不同部署形态下,范式选择有何差异?
 

范式核心:Model + Harness

复杂 AI Agent 的”决策大脑”不一定需要传统的 workflow graph 作为核心控制结构。
更有效的范式是:Agent = Model + Harness
  • Model 负责理解、推理、计划、工具选择和结果综合
  • Harness 负责工具、上下文、文件系统、Shell、权限、Skill、Subagent、Hook、会话、checkpoint、沙箱和反馈循环
 

Claude Code Harness 的能力边界

解决的问题
  • 模型自主驱动的 agent loop
  • 工具选择空间设计(Read / Write / Edit / Bash / Grep / WebSearch)
  • 长上下文 + 自动压缩
  • 文件系统作为外部记忆
  • Skills / Subagents / Hooks / Permissions 的高层抽象
  • MCP 协议的工具生态接入
这些能力都不需要状态机,证明了Agent 大脑不必是 workflow graph
 
没解决的问题
Claude Code 是单进程 CLI 应用,部署形态决定了它根本不需要解决这些问题:
Claude Code 的部署特征
因此不需要解决的问题
单进程 CLI,一个开发者一个会话
多用户并发隔离
本地执行,可人工干预 / 重启
进程重启后的状态恢复
短到中等时长任务(分钟–小时)
长任务的 checkpoint + resume
终端 stdout 输出
跨网络的 SSE / WebSocket 流式
无跨用户状态需求
Thread / Session 抽象
失败由用户重跑
Durable execution 跨故障恢复
单一开发者使用
横向扩展与负载均衡
本地 trace
企业级可观测性与审计
Claude Agent SDK 同样有此边界
Anthropic 后续推出的 Claude Agent SDK 是”Claude Code as a library”,继承了 Claude Code 的单进程假设
  • 没有内置的多用户 Thread 隔离机制
  • 没有内置的跨进程 checkpoint 与 resume
  • 没有内置的 Web SSE 协议
  • 没有内置的服务端横向扩展调度层
Anthropic 自己在 2026.05 推出 Claude Managed Agents(托管版本),添加了 Dreaming、Outcomes、Multiagent Orchestration 等能力。
这说明:要把 Agent SDK 做成多用户服务,必须在外面包一层托管层 —— Anthropic 选了自营托管,开发者则面临”自建 or 用 LangGraph / Temporal”的选择。
 
关键结论:场景边界决定范式适用性
Claude Code “不需要 LangGraph”,不是因为它证明了 LangGraph 过时,而是因为它的部署场景天然落在 LangGraph 价值之外
把 Claude Code 的结论无差别推广到所有 Agent 场景,是范式讨论中最常见的误归因。
 

LangGraph 类框架的局限

容易把 Agent 退化成节点流水线
许多 workflow agent 会被设计成:
弱模型时代有效,强模型时代会削弱模型的自主规划能力。Model + Harness 范式的核心恰恰是让模型自己决定下一步。
开放式任务会产生分支爆炸
复杂任务的真实路径很难提前穷举:
显式建模所有分支会导致:节点过多、条件复杂、调试困难、维护成本高、模型自主性下降。
 
Workflow 不适合沉淀复杂 Skill 化知识
Skills 抽象(SKILL.md + 资源)比 workflow 节点更适合表达可复用的领域知识:
Skill 是”声明式的业务能力包”,由 Agent 自主发现与组合,而不是”显式调用的节点”。
 

 LangGraph 类框架的空间

把 LangGraph 当作 Agent 服务的 runtime infrastructure,而不是 Agent 的”思考路径编排器”,它的价值在 2026 年反而是增强的。
服务运行时的核心能力
任何要把 Agent 做成多用户服务的项目,都必须解决:
能力
解决什么
Thread / Session 抽象
多用户并发隔离
Checkpointing
进程重启后的状态恢复
Durable execution
长任务跨故障恢复
Streaming (SSE / WebSocket)
实时把 token / 工具调用推回前端
Middleware Chain
沙箱、权限、上下文压缩、成本统计等横切关注点
Time travel
从历史 checkpoint 回滚重分支
Subgraph / 子流程嵌入
把高确定性子任务嵌入开放式主流程
Trace / Replay
LangSmith 等可观测性基础设施
LangGraph 的角色升级
LangGraph 自身在 2026 也吸收了”Agent loop”高层抽象:[^langgraph-overview]
  • create_react_agent / create_supervisor / create_swarm:把 Agent loop 作为 prebuilt 组件
  • Deep Agents:基于 LangGraph 的 harness 模板,提供 planning / subagents / filesystem / context management
  • Middleware Chain:标准化的横切关注点处理
  • 与 Temporal 并列被讨论为 “durable execution for AI agents” 的两条路径
LangGraph 不再是纯状态机框架,它已经是”状态机底座 + Agent loop 高层抽象”的双重身份。
 
适合的场景
 
DeerFlow 实现分析
DeerFlow 作为字节跳动开源的 SuperAgent Harness 项目,是分析”如何把 Model + Harness 范式做成多用户服务”的最佳样本。
DeerFlow 在 README 开头自我描述为:
“DeerFlow is an open-source super agent harness that orchestrates sub-agents, memory, and sandboxes to do almost anything — powered by extensible skills.”
并明确说明演化路径:
“DeerFlow started as a Deep Research framework… DeerFlow 2.0 is no longer a framework you wire together. It’s a super agent harness — batteries included, fully extensible.”
 
LangGraph 在 DeerFlow 中的真实角色
基于官方 backend/README.md 和 backend/docs/ARCHITECTURE.md
事实
LangGraph 定位
运行时与编排基础层,智能体运行时嵌入 FastAPI 网关,基于 LangGraph 构建
Lead Agent
采用 LangGraph 状态机(响应式事件驱动),调用make_lead_agent(config)生成主智能体
ThreadState
直接扩展 LangGraph 的 ThreadState,加入 sandbox / artifacts / thread / title / todos / image 字段
Middleware Chain
真实存在,8 个组件按严格顺序执行:ThreadData / Uploads / Sandbox / Summarization / Title / TodoList / ViewImage / Clarification
Streaming
LangGraph 的 SSE streaming 协议
关键事实:DeerFlow 的 Lead Agent 不是 Claude Code 风格的自主 agent loop,而是跑在 LangGraph 状态机里的 reactive event-driven 节点。
 
Claude Code 风格抽象建在 LangGraph 之上
DeerFlow 把第 3 代抽象(Subagents / Skills / Sandbox / Memory)实现在 LangGraph 之上,而不是绕过 LangGraph:
抽象
实现机制
Subagents
task() 工具派发,最多 3 并发 + 15 分钟超时,背靠后台线程池 + SSE
Skills
递归扫描 skills/{public,custom}/SKILL.md,按需注入 prompt(progressive loading)
Sandbox
抽象接口 + 可插拔 provider(LocalSandboxProvider / AioSandboxProvider 走 Docker)
Memory
LLM 提取用户事实 → JSON 持久化 → 跨会话注入 prompt
Tool 接入
内置工具 + 配置工具 + MCP(MultiServerMCPClient 支持 stdio / SSE / HTTP)
自主性的真实来源
DeerFlow 的”自主性”不是来自 Claude Code 风格的”模型自主决定下一步”,而是来自:
LangGraph 提供了”事件循环 + 状态持久化 + 流式回推”的底座,Claude Code 风格的”工具空间 + Subagent + Skills”建在底座之上。这两者是嵌入耦合关系,不是外挂关系。
 
DeerFlow 的本质定位
DeerFlow 是建立在 LangGraph 状态机之上、实现了 Claude-Code 风格高层抽象(Subagents / Skills / Sandbox / Memory)的 SuperAgent Harness。LangGraph 不是可替换的工程选择,是结构骨架
 

DeerFlow 混合范式的合理性

DeerFlow 的服务特征
特征
含义
FastAPI Gateway
多用户并发服务,非单进程 CLI
多平台前端
Web 前端 + Feishu / Slack / Telegram 等 IM gateway
Thread 持久化
用户的对话历史可以中断、恢复、回看
Subagent 异步执行
后台线程池 + 15 分钟超时 + SSE 回推
Sandbox 隔离
多用户的执行环境必须隔离
Memory 跨会话
用户在不同会话间的偏好 / 事实需要持久化
这些特征本质上是”服务运行时”问题,不是”Agent 决策”问题
 
三类必须的服务运行时能力
Class A:状态与持久化
  • Thread / Session 抽象(隔离多用户)
  • Checkpointing(中断后恢复)
  • 状态字段扩展(sandbox info / artifacts / todos / images)
Class B:事件流与流式协议
  • SSE / WebSocket 推送(token、tool call、subagent 结果)
  • Subagent 异步事件回调
  • 事件总线(lead agent ↔ subagents)
Class C:横切关注点
  • Middleware Chain(前置后置钩子)
  • 上下文压缩(Summarization)
  • 沙箱注入(Sandbox)
  • 上传文件处理(Uploads)
  • 用户澄清流程(Clarification)
 
LangGraph 与 Claude Agent SDK 能力对比
能力
LangGraph 提供
Claude Agent SDK 提供
Thread / Session
✓ 原生
✗ 需要自建
Checkpointing
✓ 原生(Memory / SQLite / Postgres / Redis)
✗ 需要自建
Durable execution
✓ 原生(重启可恢复)
✗ 需要自建
SSE streaming
✓ 原生
✗ 需要自建
Middleware Chain
✓ 原生
△ 仅 lifecycle hooks,粒度不同
Time travel
✓ 原生
✗ 需要自建
Subgraph 嵌入
✓ 原生
✗ 需要自建
Trace / Replay
✓ LangSmith 集成
△ OpenTelemetry,企业级工具链不如 LangSmith
Agent loop
△ 通过 prebuilt
✓ 原生且更强
Subagent 派发
△ 通过 subgraph
✓ 原生且更强
Skills
✗ 无原生
✓ 原生
MCP 接入
✓ 通过 MultiServerMCPClient
✓ 原生
关键观察
  • 在”服务运行时”层面,LangGraph 几乎完胜 Claude Agent SDK
  • 在”Agent 决策大脑”层面,Claude Agent SDK 完胜 LangGraph
DeerFlow 选择的混合范式 —— LangGraph 做运行时 + Claude Code 风格抽象做决策大脑 —— 正是把两者的长处合在一起。
 
字节选择 LangGraph 是评估后的工程决策,不是惯性:
  1. 避免重造轮子:状态持久化、SSE、Middleware Chain 在 LangGraph 已经稳定且开源
  1. 生态资产复用:LangSmith 的 trace / eval / prompt 管理可以直接复用
  1. 演化路径开放:未来如果需要把高确定性子流程嵌入开放式 Agent(如审批、合规检查),LangGraph 的 subgraph 是天然方案
  1. 抽象不冲突:Subagents / Skills / Sandbox / Memory 这些 Claude Code 创新可以建在 LangGraph 之上,没有结构性矛盾
 

DeerFlow 如果不用 LangGraph

  1. Thread / Session 抽象 + 并发隔离
  1. Checkpointing(内存 + 持久化 backend)
  1. 进程重启状态恢复
  1. SSE streaming 协议 + 事件序列化
  1. Middleware Chain 框架
  1. 8 个具体 Middleware(DeerFlow 现有)
  1. Subagent 后台调度 + 事件回调中
  1. Trace / Replay 基础设施
  1. 持续维护与稳定性
 
如果不用 LangGraph,会失去:
  • LangSmith 的 trace / eval / prompt 管理:要自建等价物,或者接入其他可观测性平台后重写适配
  • LangGraph 社区的状态机抽象演化:包括未来的 durable execution 改进、time travel 优化等
  • LangChain 的工具生态适配层:包括与各模型厂商的 API 兼容
  • 跨 LangChain 项目的标准化:当用户已经熟悉 LangGraph 时,认知成本更低
 

推荐架构:分层组合

 

参考文献

  • https://code.claude.com/docs/en/how-claude-code-works
  • https://www.anthropic.com/product/claude-code
  • https://code.claude.com/docs/en/agent-sdk/overview
  • https://code.claude.com/docs/en/agent-sdk/agent-loop
  • https://code.claude.com/docs/en/agent-sdk/subagents
  • https://code.claude.com/docs/en/agent-sdk/skills
  • https://platform.claude.com/docs/en/managed-agents/overview
 
  • https://docs.langchain.com/oss/python/langgraph/overview
  • https://docs.langchain.com/oss/python/langgraph/durable-execution
 
 

© Morgan Woods 2024 - 2026