Skip to content

DeerFlow 概述

学习目标: 了解 DeerFlow 的项目背景、Harness 架构理念、核心组件和适用场景

预计时间: 40 分钟

难度等级: ⭐⭐☆☆☆

更新时间: 2026年5月


DeerFlow 是什么

项目背景

DeerFlow 出自字节跳动之手,核心作者是 Daniel WalnutHenry Li。2026 年 2 月,DeerFlow 2.0 发布后迅速登顶 GitHub Trending #1,截至 2026 年 5 月已获得 超过 64,000 个 GitHub Star,采用 MIT 开源协议

技术栈方面,DeerFlow 基于 LangGraph 1.0LangChain 构建——不是从零造轮子,是在 LangGraph 的编排能力之上做了更高层的封装。

字节跳动内部孵化出很多优秀的开源项目(比如 Rspack、Modern.js),DeerFlow 是他们在 AI Agent 领域的一次重要布局。它解决的问题非常明确:让 Agent 真正能干活,而不只是会聊天。

Super Agent Harness 定位

DeerFlow 将自己定位为 Super Agent Harness,而不是又一个 Agent 框架。Harness 和 Framework 有什么区别?一个简单的类比:

概念类比说明
Framework(框架)积木盒给你一堆积木,你自己搭房子。灵活但需要自己拼装。
Harness(马具)已组装好的发动机核心功能完整,你只需要接上就能跑。开箱即用。
DeerFlow安装了发动机的整车不仅有发动机(Harness),还有轮胎、方向盘、座椅——拿来就能上路。

更直白地说:用 LangGraph 你需要自己写图结构、自己搭运行环境、自己实现记忆和工具调度。而 DeerFlow 把这些都集成好了,你只需要配置和运行。

名称含义

DeerFlow 全称是 Deep Exploration and Efficient Research Flow——深度探索与高效研究流。这个名字反映了它的初心:让 AI Agent 能够深入探索多个研究方向,并高效地产出成果。


从 Deep Research 到 Super Agent Harness

1.x 时代:专注研究

DeerFlow 1.x 是纯粹的 Deep Research 框架,定位很窄——针对需要深度调研、多方资料收集、综合报告生成的场景。它就像一个"研究助手",把大模型的研究能力发挥到极致。

社区的意外推动

但开发者们用它做的事情远远超出了"研究"范畴:

  • 数据流水线:多步骤数据抓取、清洗、分析
  • PPT 生成:自动根据主题创建完整演示文稿
  • Dashboard 开发:让 Agent 从数据直接生成可视化面板
  • 内容自动化:批量文章生成、多语言翻译、社交媒体发布

团队意识到:人们需要的不是一个"研究工具",而是一个通用的 Agent 执行容器

2.0 彻底重写

2026 年 2 月发布的 DeerFlow 2.0 完全重写了代码库(与 1.x 不共享代码)。定位从"Deep Research 框架"升级为"Super Agent Harness"。

Harness 理念的两个核心:

  1. 开箱即用:部署一个 Docker 容器,就能得到一个具备记忆、沙箱执行、多 Agent 协作能力的完整系统
  2. 可扩展:所有组件——Skills、Memory、Sandbox——都可以替换和定制

2.0 的架构决策非常务实:不追求什么都自己造,而是在 LangGraph 之上做封装,把精力集中在"开发者真正需要但框架不提供"的东西上——隔离沙箱、持久记忆、上下文工程。


核心架构

DeerFlow 的架构可以拆解为五大核心组件:Lead Agent、Sub-Agents、Sandbox 执行环境、Skills 系统和 Memory 系统

Lead Agent

Lead Agent 是整个系统的统一调度中枢。它的职责包括:

  • 任务拆解:将用户输入的复杂任务分解为可执行的子任务
  • Sub-Agent 调度:根据子任务类型,动态创建合适的 Sub-Agent
  • 结果汇总:收集所有 Sub-Agent 的结构化输出,综合成最终交付物

Lead Agent 本身不直接执行代码或访问文件系统,它是一个"管理者"角色。

Sub-Agents

Sub-Agent 是实际干活的人。有几个关键设计:

  • 按需动态拉起:Lead Agent 认为需要时才会创建,不是预分配
  • 独立 Scoped Context:每个 Sub-Agent 有完全隔离的上下文窗口,看不到其他 Sub-Agent 或 Lead Agent 的内部状态
  • 并发限制:最多 3 个 Sub-Agent 并行执行
  • 超时保护:每个 Sub-Agent 最长运行 15 分钟

Sub-Agent 分为两种类型:

类型说明可用工具
General-purpose通用执行代理完整工具集,不可递归(不能再创建 Sub-Agent)
Bash命令行专用代理仅限于终端命令执行

每个 Sub-Agent 执行完毕会返回结构化结果,由 Lead Agent 汇总整合。

整体编排流程如下:

                         ┌──────────────────────────────────────┐
                         │            Lead Agent                 │
                         │     (协调中枢:拆解 + 调度 + 汇总)     │
                         └──────────┬────────────┬───────────────┘
                                    │            │
                    ┌───────────────┼────────────┼───────────────┐
                    │               │            │               │
                    ▼               ▼            ▼               ▼
            ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
            │  Sub-Agent 1 │ │  Sub-Agent 2 │ │  Sub-Agent 3 │ │  ...         │
            │ (研究方向A)   │ │ (研究方向B)   │ │ (研究方向C)   │ │  (最多3并行)  │
            │              │ │              │ │              │ │              │
            │  Sandbox     │ │  Sandbox     │ │  Sandbox     │ │              │
            │ (隔离Docker)  │ │ (隔离Docker)  │ │ (隔离Docker)  │ │              │
            └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
                   │                │                │                │
                   └────────────────┼────────────────┼────────────────┘
                                    │                │
                                    ▼                ▼
                            ┌──────────────────────────────────┐
                            │   Lead Agent 汇总结构化结果        │
                            │   研究报告 / 网站 / PPT / 代码     │
                            └──────────────────────────────────┘

Sandbox 执行环境

Sandbox 是 DeerFlow 区别于纯"对话式 Agent"的关键。它不是让 Agent 告诉你"我建议你这样做",而是让 Agent 直接动手做

每个 Sub-Agent 运行在一个隔离的 Docker 容器中,拥有完整的文件系统:

/mnt/user-data/
├── workspace/     # 工作目录
├── uploads/       # 上传文件
└── outputs/       # 输出文件

支持的后端

后端说明
本地 Docker默认方式,适合开发和测试
远程 K8s Pod生产环境,可弹性伸缩

资源管理

  • Warm Pool 热池:预启动容器,减少 Sub-Agent 等待时间
  • LRU 驱逐:当容器数量超限时,回收最近最少使用的容器
  • 空闲超时:600 秒无活动自动释放
  • 默认并发:3 个 Sandbox 同时运行

有 Sandbox 和没有 Sandbox 的区别,用一个表格展示很清楚:

维度带工具的聊天机器人DeerFlow(有 Sandbox 的 Agent)
执行环境无,只能生成文本建议隔离 Docker 容器,可运行代码
文件操作不能读写文件完整文件系统,可创建/修改/删除
持久产出聊天记录实际文件:报告、网页、PPT
安装依赖不行可在容器内 pip install / apt-get
错误恢复只能告诉你出错了可在容器内重试、排查、修复
安全性由 API 提供商保障容器隔离,限制对宿主机访问

Skills 系统

DeerFlow 的 Skills 是用 Markdown 文件定义的指令模板,按需渐进加载到 Agent 上下文窗口。

加载策略

  • 不在初始化时一次性把所有 Skill 塞入上下文(那样 Token 消耗是不可接受的)
  • 只在 Lead Agent 判断需要时,才加载对应的 Skill 文档
  • 按需加载让技能库可以无限扩展,不会拖慢每次交互

内置 Skills

Skill用途
研究多来源信息收集、整合、报告撰写
报告结构化报告生成,支持 Markdown/PDF
幻灯片从内容自动生成演示文稿
网页使用代码生成网站页面
图片/视频多媒体内容生成

可扩展性

  • 所有 Skill 都是可自定义的——直接修改 Markdown 文件即可
  • 可替换——你可以用自己的 Skill 替换内置的
  • 可组合——一个任务可以串行或并行使用多个 Skill

还有一个有意思的集成 Claude Code 集成:通过 claude-to-deerflow Skill,DeerFlow 可以把 Claude Code 作为 Sub-Agent 来调用,编排更复杂的协作流水线。

Memory 系统

DeerFlow 的记忆系统跟 Hermes Agent 的自学习不同,它走的是自动事实提取路线。

核心机制

  • LLM 驱动:每次交互后,大模型自动扫描对话内容,提取"值得记住的事实"
  • 三层结构
层次存储内容示例
用户上下文用户身份、偏好、常用配置用户是一名研究者,偏好 Python
历史记录过往任务的摘要和结果上次调研了 RAG 技术的 3 种方案
离散事实具体知识点(含置信度评分)"DeerFlow 2.0 发布于 2026-02"(置信度: 高)

实现方式

  • 数据以 JSON 格式 存储在本地
  • 提供 CRUD API,支持程序化读写
  • 附带 前端管理界面,可直接查看和编辑记忆
  • 使用 Tiktoken 控制 记忆大小,防止无限膨胀
  • 去重队列 确保同一事实不会被重复存储

Context Engineering

DeerFlow 在上下文管理上有一些独特的设计,团队称之为 Context Engineering(上下文工程)。它解决的问题很实际:长链路任务中,Agent 的上下文窗口一直在膨胀,怎么保证它不"漂"?

子代理上下文隔离

每个 Sub-Agent 有独立的作用域上下文(scoped context)。一个 Sub-Agent 的上下文不会泄漏到另一个,Lead Agent 也只看到 Sub-Agent 返回的结构化结果,而不是它的完整对话过程。这既保护了上下文窗口不被污染,也是一种安全机制。

上下文压缩中间件

在每次 LLM 调用之前,中间件会检测上下文是否接近窗口上限,如果是,则对历史对话做智能摘要压缩,保留关键信息但大幅减少 Token 数。

会话状态快照中间件

每隔一段时间(或在关键节点),中间件会对当前会话状态做快照——包括已完成的子任务、已收集的信息、剩余的步骤。如果 Agent 出现上下文漂移或陷入循环,可以用快照恢复。

交付物保护中间件

Sub-Agent 可能因为上下文溢出而"忘记"自己正在生产什么。交付物保护中间件会在 Sub-Agent 的上下文中持续注入当前交付物的中间状态,确保它始终知道自己在生成什么。

这四类中间件解决的是一个核心问题:长链路自治 = 让 Agent 在漫长的执行过程中始终保持聚焦。DeerFlow 的这种设计思路,在实际的长耗时任务中非常关键。


编排模式与多 Agent 协作

基本流程

DeerFlow 的编排模式遵循一个清晰的三步走流程:

用户输入


┌─────────────────────────────────────────┐
│ Step 1: Lead Agent 拆解                  │
│ "调研 A、B、C 三个方向,各写 500 字报告"    │
│ → 拆解为 3 个独立子任务                     │
└──────────────────┬──────────────────────┘


┌─────────────────────────────────────────┐
│ Step 2: Sub-Agent 并行执行               │
│ ┌────────┐ ┌────────┐ ┌────────┐       │
│ │ Sub-1  │ │ Sub-2  │ │ Sub-3  │  ...  │
│ │ 方向A   │ │ 方向B   │ │ 方向C   │       │
│ └────────┘ └────────┘ └────────┘       │
│   最多 3 个并行,15 分钟超时               │
└──────────────────┬──────────────────────┘


┌─────────────────────────────────────────┐
│ Step 3: Lead Agent 汇总                  │
│ 将 3 份结构化结果合并为最终报告             │
└─────────────────────────────────────────┘

多路并行研究

DeerFlow 的并行能力可以做到:同时让十几个 Sub-Agent 去研究不同方向(虽然同时最多 3 个在跑,但因为 Sub-Agent 快速完成并退出,新 Sub-Agent 不断接力,整体上可以实现"看似同时进行十几个方向"的效果)。

想象一下这种场景:你让它"调研 2026 年 AI Agent 领域的最新进展",它可能同时在研究 "LangGraph 1.0 的新特性"、"OpenAI Codex CLI"、"Anthropic Agent SDK"、"MCP 协议生态"等多个方向,每个方向一个 Sub-Agent,独立搜索、独立分析、独立产出,最后 Lead Agent 汇总成一篇全面报告。

产出类型

DeerFlow 的最终产出不只是文字报告。Lead Agent 可以根据需要决定产出的类型:

产出类型示例
研究报告多章节 Markdown 文档
网站静态 HTML 页面
演示文稿PPTX 幻灯片
代码完整的项目或脚本
图片/视频基于描述生成的多媒体文件

生态对比

与 Agent 框架/平台的对比

维度DeerFlowHermes AgentLangGraphOpenManus
定位Super Agent Harness带自学习 Agent图式编排框架通用 Agent
部署服务器 Docker6 种后端框架层面本地 CLI
核心优势开箱即用完整性自学习循环编排灵活性极简配置
记忆跨 session 持久SQLite + FTS5需自行实现会话内
Sandbox原生 Docker
构建基础LangGraph 1.0 之上自研底层框架自研

选型建议

  • 需要完整运行时(不想自己搭 Sandbox、Memory、Skills)→ DeerFlow
  • 需要自学习能力(Agent 越用越聪明)→ Hermes Agent
  • 需要自定义编排逻辑(你有特殊的图结构需求)→ LangGraph

与工作流平台的对比

DeerFlow 常被拿来与 Dify 和扣子(Coze)比较,但三者的定位和目标用户差异很大:

维度DeerFlowDify扣子(Coze)
定位Super Agent Harness开源 LLMOps 平台AI Bot 开发平台
目标用户高级开发者开发者为主非技术用户
工作流编排代码驱动 (Lead Agent)可视化 DAG 拖拽可视化流程图
部署方式自托管 Docker自托管/云版SaaS 云服务
编程要求高(Docker + Python)中(低代码)低(零代码)
Sandbox原生 Docker 沙箱代码执行沙箱
长期记忆自动事实提取知识库 + RAG内置跨会话
开放性MIT 开源Apache 2.0 开源闭源
核心场景长时域自治任务知识库/企业 AI聊天 Bot/客服

选型建议

  • 需要深度自动化,Agent 要"真正干活"(跑代码、写文件、生成交付物)→ DeerFlow
  • 需要一个可视化的 LLM 应用搭建平台,以知识库和 RAG 为核心 → Dify
  • 零门槛构建聊天 Bot,快速部署到飞书/微信等平台 → 扣子

适用场景

1. Deep Research

DeerFlow 的初心能力。多方向并行探索 + Sub-Agent 独立调研 + Lead Agent 综合报告。特别适合需要大量资料收集和整理的研究任务。

2. 数据流水线

多步骤任务编排,每个步骤一个 Sub-Agent,后一步依赖前一步的输出。Sandbox 环境意味着每个步骤都可以真正运行代码来处理数据。

3. 自动化内容生产

利用内置的幻灯片、网页、图片/视频 Skill,可以从一个主题直接生成多种格式的交付物——研究报告 + 演示文稿 + 配套网页一站搞定。

4. 多步骤开发任务

从需求分析到代码生成到测试执行,每个阶段可以由不同的 Sub-Agent 负责,Lead Agent 统筹全局。

5. 模型兼容性

DeerFlow 支持所有 OpenAI 兼容 API 的 LLM,不绑定特定模型提供商。你可以根据任务类型选择最合适的模型——研究任务用 Claude,代码任务用 GPT,或者混合使用。

不适合的场景

  • 轻量级单次任务:启动整个 DeerFlow 容器做一次简单查询,性价比不高
  • 交互式对话:如果只是需要聊天体验,DeerFlow 的重型架构偏重
  • 低代码环境:团队没有 Docker 和 Python 基础,DeerFlow 不是好选择

思考题

检验你的理解

  • [ ] 能说出 DeerFlow 的核心定位和 Harness vs Framework 的区别
  • [ ] 能解释 Lead Agent + Sub-Agent 的编排模式
  • [ ] 知道 Sandbox 的作用和对比不带 Sandbox 的 Agent 的差异
  • [ ] 理解 Skills 的按需加载策略和 Memory 的三层结构
  • [ ] 能根据场景判断是否适合使用 DeerFlow
  • [ ] 了解 DeerFlow 与 Dify、扣子(Coze)的核心差异

本节小结

通过本节学习,你应该掌握了:

DeerFlow 背景

  • 字节跳动出品,MIT 开源,64K+ Stars
  • Super Agent Harness 定位 vs 传统 Framework
  • 2.0 从 Deep Research 工具升级为通用 Harness

核心架构

  • Lead Agent 调度 + Sub-Agent 并行执行
  • 隔离 Docker Sandbox 执行环境
  • 按需加载的 Skills 系统
  • LLM 驱动的自动事实提取记忆系统

Context Engineering

  • 子代理上下文隔离
  • 三种中间件(压缩、快照、交付物保护)

生态定位

  • 与 Hermes Agent、LangGraph、OpenManus 的对比
  • 与 Dify、扣子的差异化分析

适用场景

  • Deep Research、数据流水线、内容生产
  • 不适合轻量交互和低代码环境

延伸阅读


← 返回模块目录 | 继续学习: DeerFlow 实战部署 →

最近更新

基于 MIT LICENSE 许可发布