快讯

DeerFlow 2.0 深度解读:字节跳动的 SuperAgent runtime 实战

DeerFlow 2.0 是字节跳动开源的 SuperAgent harness,GitHub 星数超 3.5 万。它基于 LangGraph,采用单主 Agent + 11 层中间件 + 动态子 Agent 架构,内置沙盒执行、长期记忆和 Skills 扩展机制。与传统框架不同,DeerFlow 提供开箱即用的运行时,让 Agent 真正执行代码而非仅返回建议。

Ross · 2026.03.31

DeerFlow 2.0 深度解读:字节跳动的 SuperAgent runtime 实战

2026 年 2 月 27 日,字节跳动在 GitHub 开源了 DeerFlow 2.0。不到 24 小时,它便冲上 GitHub Trending 第一,最终累计超过 35,000 颗星。这个数字在开源 Agent 框架中极为罕见。DeerFlow 究竟是什么?它解决了什么问题?工程实现有哪些亮点?本文从工程视角全面解析。

从研究工具到 Runtime

DeerFlow 最初是字节内部的自研研究框架,1.0 版本采用固定的五节点结构,本质上是一个"深度研究"工具。团队很快意识到一个问题:随着任务复杂度提升,固定结构无法应对多步骤、多分支的工作流。

2.0 版本因此进行了完全重写,与 1.0 没有任何共享代码。新的定位非常明确——SuperAgent Harness,即一个开箱即用、可扩展的 Agent 运行时。

这里的关键词是"运行时"(Runtime)而非"框架"(Framework)。大多数 Agent 框架(LangGraph、CrewAI、AutoGen)提供的是构建块,开发者需要自己组装、配置、调试。而 DeerFlow 2.0 提供的是一个已经能跑的系统,带默认值、带 UI、带沙盒、带记忆层。开发者可以直接使用,也可以按需拆解定制。

架构解析

整体设计

DeerFlow 2.0 的架构围绕三个核心概念展开:

  1. 单主 Agent(Lead Agent):负责任务分解和全局协调
  2. 11 层中间件链(Middleware Chain):处理请求预处理、结果后处理、安全检查等横切关注点
  3. 动态子 Agent:根据任务需求动态生成和调度

这种设计与传统的"固定 Agent 组合"不同。DeerFlow 的主 Agent 会根据任务性质自主决定需要多少子 Agent、每个子 Agent 负责什么、它们之间如何协作。

flowchart TB subgraph User["用户输入"] U[复杂任务] end subgraph LeadAgent["Lead Agent"] TA[任务分析] TP[任务分解] TS[子Agent调度] TR[结果合成] end subgraph Middleware["11层中间件链"] M1[请求预处理] M2[安全检查] M3[上下文注入] M4[工具选择] M5[结果验证] M6[格式转换] M7[日志记录] M8[错误处理] M9[重试策略] M10[结果后处理] M11[响应组装] end subgraph SubAgents["动态子Agent"] SA1[Researcher] SA2[Coder] SA3[Browser] SA4[FileManager] SAn[...] end subgraph Sandbox["Sandbox执行环境"] SB[Docker Container] FS[文件系统] EX[执行器] end subgraph Memory["记忆系统"] LM[短期记忆] PM[长期记忆] TMT[TIAMAT云端] end U --> Middleware Middleware --> LeadAgent LeadAgent --> TP TP --> TS TS --> SubAgents SubAgents <--> Sandbox SubAgents <--> Memory TS --> TR TR --> Middleware Middleware --> U

LangGraph + LangChain 底层

DeerFlow 2.0 构建在 LangGraphLangChain 之上。LangGraph 提供了状态图编排能力,使得复杂的任务流可以被建模为有向无环图(DAG),支持条件分支、循环和并行执行。LangChain 则提供了工具抽象层和模型交互接口。

不过,DeerFlow 并不是简单调用这些库。它在 LangGraph 之上封装了自己的编排模式,引入了Supervisor 模式——一个持续运行的 Supervisor 负责监控子 Agent 的状态、处理超时和异常、并在必要时终止或重试任务。

sequenceDiagram participant User as 用户 participant Lead as Lead Agent participant Sup as Supervisor participant Sub1 as Sub-Agent 1 participant Sub2 as Sub-Agent 2 participant Sandbox User->>Lead: 复杂任务 Lead->>Lead: 任务分析 & 分解 Lead->>Sup: 调度子Agent rect rgb(240, 248, 255) Note over Sup: 并行执行 Sup->>Sub1: 分配Researcher任务 Sup->>Sub2: 分配Coder任务 Sub1->>Sandbox: 执行搜索 Sub2->>Sandbox: 执行代码 Sub1-->>Sup: 完成 Sub2-->>Sup: 完成 end Sup->>Lead: 汇总结果 Lead->>Lead: 结果合成 Lead-->>User: 最终输出

任务分解机制

当用户输入一个复杂任务(比如"研究 2026 年 AI 创业公司 Top 10 并制作一份演示文稿")时,DeerFlow 不会在一个 LLM 调用中尝试完成所有事情。它会:

  1. 理解任务意图:主 Agent 分析用户需求,判断任务类型和复杂度
  2. 生成执行计划:将任务分解为结构化的子任务列表
  3. 识别并行机会:判断哪些子任务可以并行执行
  4. 调度子 Agent:为每个子任务分配置适的 Agent 角色和工具集
  5. 结果合成:汇总各子 Agent 的输出,生成最终结果

每个子 Agent 都有自己独立的上下文作用域、工具集和终止条件。这种层次化的任务分解是 DeerFlow 与众不同的关键。

核心组件

Skills 系统

Skills 是 DeerFlow 2.0 的核心扩展机制。一个 Skill 本质上是一组预定义的提示词、工具和输出格式的组合,告诉主 Agent 如何处理某一类任务。

例如,一个"网页抓取"Skill 会定义:

  • 何时使用这个 Skill(触发条件)
  • 可以调用哪些工具(Jina 爬虫、浏览器渲染等)
  • 输出的格式要求
  • 如何与用户交互

Skills 使得添加新功能时不需要修改底层框架,只需配置新的 Skill 即可。这是 DeerFlow 强调的"batteries included, fully extensible"理念的核心。

flowchart LR subgraph Skill["Skill定义"] TR[触发条件] TOOL[工具集] FM[输出格式] SY[交互语法] end subgraph Execution["执行时"] CA[Lead Agent] Match{匹配Skill?} Load[加载Skill配置] Exec[调用工具] end CA --> Match Match -->|是| Load Load --> Exec Match -->|否| CA TR -.-> Match TOOL -.-> Load FM -.-> Exec

Sandbox 隔离执行

DeerFlow 为 Agent 提供了真实的计算机——一个隔离的 Docker 容器。这意味着:

  • Agent 可以执行 bash 命令并看到真实输出
  • Agent 可以构建和运行完整的 Web 应用
  • Agent 生成的代码会在隔离环境中运行,不会影响宿主机

这是 DeerFlow 与大多数"建议型"Agent 的本质区别。大多数 AI 编程工具(Copilot、Cursor、Claude Code)只是返回代码块,实际执行仍然由人类完成。DeerFlow 则让 Agent 真正运行代码。

Sandbox 支持三种模式:

  • 本地模式:直接在本机执行(仅开发测试用)
  • Docker 模式:利用字节开源的 AIO Sandbox
  • Kubernetes 模式:适合大规模生产部署

长期记忆

DeerFlow 2.0 包含一个持久化记忆系统,可以跨会话记住:

  • 用户偏好
  • 写作风格
  • 项目结构
  • 历史交互上下文

记忆更新通过异步去重队列实现,不会阻塞主对话线程。系统还集成了 TIAMAT 作为云端记忆后端,表明字节正在向企业级规模演进。

需要注意的是,Agent 记忆仍是一个未完全解决的问题。信心评分机制在理论上合理,但在生产环境中可能出现意外行为。建议在实际使用中验证记忆行为,不要完全依赖自动记忆。

MCP 集成

DeerFlow 支持 Model Context Protocol(MCP),可以连接外部工具和服务。这是当前 Agent 框架的标准扩展方式,使得 DeerFlow 能够与现有基础设施无缝集成。

集成生态

搜索和爬虫

开箱即支持:

  • Tavily - 深度研究搜索
  • Brave Search - Web 搜索
  • DuckDuckGo - 隐私搜索
  • Jina - 网页内容提取

消息平台

原生集成:

  • 飞书(Lark) - 字节系企业生态
  • Telegram
  • Slack

模型兼容性

DeerFlow 兼容任何 OpenAI API 兼容的 LLM。官方推荐:

  • Doubao-Seed-2.0-Code - 字节自家模型
  • DeepSeek v3.2
  • Kimi 2.5

模型选择很重要——主 Agent 需要强大的指令跟随和结构化输出能力来正确分解任务。较小的本地模型可能在编排层表现不佳。

工程实践观察

优势

  1. 开箱即用:不需要从零组装基础设施
  2. 执行型 Agent:真正运行代码,而非仅返回代码建议
  3. 可扩展:Skill 机制使得功能添加与框架解耦
  4. 沙盒安全:Docker 隔离保证执行安全
  5. 记忆层:减少重复上下文输入

局限

  1. Opinionated:自带 opinionated 的设计,可能与特定团队需求冲突
  2. 记忆仍不完美:企业级可靠性有待验证
  3. 模型依赖:对主 Agent 的模型能力要求较高
  4. 复杂度:11 层中间件意味着更长的调试链路

适用场景

  • 需要深度研究 + 执行的自动化工作流
  • 企业内部的 Agent 助手搭建
  • 快速原型验证,无需从零构建基础设施

与其他框架的对比

特性 DeerFlow 2.0 LangGraph CrewAI AutoGen
定位 Runtime(带默认值) 框架 框架 框架
执行模式 执行型 构建块 构建块 构建块
记忆 内置 需自行集成 需自行集成 需自行集成
Sandbox Docker/K8s
消息集成 飞书/TG/Slack

DeerFlow 的优势在于它不是一个库,而是一个产品。对于需要快速上线 Agent 能力的团队,这是最大的吸引力。

快速开始

# Docker 启动(推荐)
docker run -d -p 8000:8000 deerflow/deer-flow
 
# 本地开发
git clone https://github.com/bytedance/deer-flow
cd deer-flow
pip install -e .
deer-flow

配置文件 config.yaml 中设置 LLM API、搜索工具等即可开始使用。

结语

DeerFlow 2.0 代表了字节跳动对 Agent 运行时的一次重要探索。它证明了执行型 Agent 不仅仅是一个概念,而是可以落地的工程系统。35,000 颗星背后是开发者对"开箱即用 Agent 平台"的强烈需求。

对于工程团队而言,DeerFlow 2.0 值得密切关注。它的 Skill 机制和沙盒设计为构建生产级 Agent 应用提供了有价值的参考。同时,它的 opinionated 架构也意味着团队需要评估是否与自身需求匹配。