DeerFlow 2.0:字节跳动开源的 SuperAgent Harness,让单 Agent 退休

DeerFlow 2.0:字节跳动开源的 SuperAgent Harness,让单 Agent 退休

你有没有过这样的经历:丢给 AI 一个” 调研 10 个竞品、写一份对比报告、顺手生成 PPT” 的需求,它在第三步开始编造数据,到第五步已经忘了第一步说过什么?

这不是模型不够聪明的问题 —— 单个 Agent 的天花板就摆在那里:一个 context window、一条推理主线、一次串行执行。当任务真的需要数小时、跨多种工具、并行展开时,单 Agent 注定会崩。

2026 年 2 月 28 日,字节跳动把内部打磨已久的 DeerFlow 2.0(Deep Exploration and Efficient Research Flow)整体开源到 GitHub,几个小时内冲上 Trending 第一,至今已收获 7.8 万 + stars。它想解决的就是这件事:不再让一个 Agent 干所有活,而是搭一套”AI 员工” 调度系统

项目背景:从 Deep Research 框架到 SuperAgent Harness

DeerFlow 最早只是字节内部用来跑深度研究(Deep Research)的小框架。2.0 版本做了完全重写 —— 和 v1 没有任何共享代码 —— 定位从” 研究框架” 升级为”SuperAgent Harness”。

什么是 Harness?官方有一句很妙的比喻:

A harness does not do the pulling — the horses do. DeerFlow does not write your code or generate your slides directly. It decides which sub-agents to spawn, what tools each gets, how much context they carry, and how their results merge.

Harness 不亲自拉车,它只负责调度马匹:决定派哪些子 Agent 去跑、给它们什么工具、带多少上下文、最后怎么合并结果。

它构建在 LangGraph + LangChain 之上,Python 3.12+ 后端、React 前端,MIT 协议,仓库地址 github.com/bytedance/deer-flow

核心功能

DeerFlow 2.0 的能力可以拆成五块,每一块都直击单 Agent 模式的痛点。

1. Lead Agent + Sub-Agents:分层编排,扇出扇入

最上层是 Lead Agent(主代理),它只做四件事:接收用户目标、把任务拆解、决定派哪些 Sub-Agent、最后合成输出。Lead Agent 是唯一看到全貌的组件,每个 Sub-Agent 只拿到自己那一份 scoped 任务和最小必要上下文。

任务之间没有依赖时,Sub-Agent 并行跑;有依赖时串行排队。这就是经典的 fan-out / fan-in 模式 ——OpenAI 的 Swarm、Anthropic 的多 agent 实验用的也是同一套路。

2. Sandbox:三层隔离,把代码关进笼子

Sub-Agent 要执行代码、写文件、跑 bash,必须在沙箱里。三种模式:

  • Local Execution:直接跑在宿主机,速度快,无隔离;
  • Docker Execution:每个 Sub-Agent 跑在独立容器里,挂载 /mnt/user-data/(包含 uploads/workspace/outputs/);
  • Docker + Kubernetes:K8s Pod 级别隔离,通过 provisioner service 管理,适合规模化部署。

沙箱不是装饰品。Sub-Agent 写的代码崩了,崩在容器里;读到 prompt injection 想执行 rm -rf,文件系统是只读的;想要挖矿,CPU / 内存被 --cpus--memory 限死。这就是多层防御:agent 指令约束 → 运行时隔离 → harness 级别 kill switch。

3. Skills:按需加载的” 技能包”

Skills 是带 YAML frontmatter 的 Markdown 文件,本质上是一组结构化的能力描述。DeerFlow 内置了 deep-search、report-generation、frontend-design、deploy 等常见 skill,外部还可以通过 .skill 压缩包安装自定义技能。

关键设计是渐进式加载(lazy-loading)—— 只有当前任务需要的 skill 才会被塞进 context window。这直接解决了长任务里”prompt 越来越胖” 的经典问题。

4. Memory:短期摘要 + 长期持久化

DeerFlow 把记忆分成两层:

  • 短期:对话过程中的摘要、压缩、context offload 到文件系统;
  • 长期:跨 session 持久化的用户偏好、知识、workflow。会自动抽取事实、附 confidence score、用 debounce 机制减少不必要的 LLM 调用。

关掉终端,下周再开,DeerFlow 仍然记得你之前调研过什么、报告偏好用 PDF 还是 Markdown、哪类源不要采信。

5. 模型无关 + 全渠道集成

任何 LangChain 兼容的 LLM 都能接:GPT-5、Claude Sonnet 4.6、Gemini 2.5 Flash、DeepSeek v3.2、字节自家的 Doubao-Seed-2.0-Code、Kimi 2.5。甚至支持通过 CLI backend 直接复用本地 Codex / Claude Code OAuth 凭证。

接入渠道也铺得很广:Web UI、Python 客户端、Telegram / Slack / 飞书机器人 —— 后者通过 long-polling 或 WebSocket 实现,不需要公网 IP,自托管用户狂喜。

实战示例:本地跑一个研究报告

下面这段来自官方文档,展示从 clone 到跑通的最小路径。

1. 准备环境

要求 Python 3.12+、Node.js 22+、pnpm、Docker(推荐)。

1
2
3
4
5
6
7
8
9
10
11
12
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

# 生成 config.yaml 和 .env(交互式向导,约 2 分钟)
make config

# 校验环境
make doctor

# 拉取 sandbox 镜像并启动所有服务
make docker-init
make docker-start

启动后访问 http://localhost:2026,默认端口。

2. 配模型

编辑 config.yaml,加一段模型配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
models:
- name: deepseek-v3
display_name: DeepSeek v3.2
use: langchain_openai:ChatOpenAI
model: deepseek-chat
api_key: $DEEPSEEK_API_KEY
base_url: https://api.deepseek.com

- name: claude-sonnet-4.6
display_name: Claude Sonnet 4.6
use: deerflow.models.claude_provider:ClaudeChatModel
model: claude-sonnet-4-6
max_tokens: 4096
supports_thinking: true

后台会热加载 config.yaml,不用重启服务(除了 database.checkpoint_channel_mode 这类基础设施字段)。

3. 通过 Python 客户端跑任务

DeerFlow 提供嵌入式 Python client,直接 import 就能用,不需要单独起服务

1
2
3
4
5
6
7
8
from deerflow.client import DeerFlowClient

client = DeerFlowClient()
response = client.chat(
"调研 5 个开源向量数据库,写一份对比报告并生成 PPT",
thread_id="vector-db-research",
)
print(response.summary)

或者通过 Claude Code 桥接 claude-to-deerflow边写代码边让后台 DeerFlow 跑研究,研究完成回调通知你拿结果 —— 这是”AI 员工” 工作流的核心场景。

4. 部署规格

官方推荐的硬件配置:

  • 本地 dev:4 vCPU / 8 GB RAM 起步,建议 8 vCPU / 16 GB;
  • Docker dev:同上;
  • 长跑生产服务:8 vCPU / 16 GB 起步,建议 16 vCPU / 32 GB,多 worker 必须接 Postgres + Redis stream bridge

Linux + Docker 是生产首选,macOS / Windows 建议只做 dev/eval。

适用场景和限制

适合谁用

  • 深度研究类任务:跨几十个网页的爬取、抽取、合成;
  • 全栈编码项目:文件读写 + bash + 部署一气呵成;
  • 数据分析 + 可视化:上传 CSV,让 Sub-Agent 跑 pandas + 出图;
  • 内容生产流水线:报告 → 网页 → PPT → 视频一条龙;
  • 企业内部知识工作:接 IM 机器人,把 DeerFlow 变成团队里的 AI 员工。

它的边界

DeerFlow 不是万能的,下面这些场景它也帮不上:

  • 实时低延迟对话:harness 设计目标是长任务(分钟到小时级),不是 ChatGPT 那种秒回;
  • 完全本地离线:虽然模型可以接 vLLM,但 web search / TTS / 视频生成等 skill 多数仍依赖外部 API;
  • 零运维小白:依然要懂 Docker、模型配置、API key 管理;官方推荐 Linux + Docker 不是没有原因;
  • 安全合规场景:Sub-Agent 跑 bash 默认开了,需要在 config.yaml 里显式收紧白名单;
  • v1 老用户:2.0 是 ground-up rewrite,升级路径断了,需要手动迁移到 1.x 分支。

总结

DeerFlow 2.0 的真正意义不在它做了多少功能,而在它折射出的方向:AI 行业的下一个战场,正在从模型本身转向” 自主执行的基建”。

过去两年大家都在卷更大的 context window、更强的 reasoning、更高的 benchmark。DeerFlow 这种 harness 出现说明:单 Agent 已经触顶,下一步比拼的是谁能把一群 Agent 编排得更好、把沙箱隔离做得更扎实、把记忆和技能管理得更聪明。

如果你正在被” 单 Agent 跑长任务一定会崩” 这件事困扰,DeerFlow 值得 clone 下来跑一跑;如果只是想找个轻量级聊天机器人,它大概率 overkill。

至少有一点可以肯定 —— 字节把这种东西开源出来,对整个 Agent 生态都是好事


项目地址https://github.com/bytedance/deer-flow
官方文档https://deerflow.tech
许可协议:MIT
Star:78.2k+ | Fork:10.7k+