字节跳动开源 Deep Research 项目 DeerFlow 全面解析

内容分享1个月前发布
0 4 0

一、项目概述

字节跳动于 2025 年 5 月 9 日正式开源其深度研究框架 DeerFlow(全称 Deep Exploration and Efficient Research Flow),旨在通过多智能体协作与模块化设计,将语言模型与专业工具(网络搜索、代码执行、数据爬取等)结合,实现自动化研究、报告生成及多媒体内容创作。该项目已发布至 GitHub 官方仓库,并配套提供详细部署指南和案例演示。

字节跳动开源 Deep Research 项目 DeerFlow 全面解析

二、技术架构与创新

  1. 多智能体协作系统
  2. 采用 LangGraph 构建模块化架构,包含 协调器(管理任务流程)、规划器(分解研究目标)、研究团队(研究员、编码员、报告员)等组件,支持动态调整任务计划(Re-planning)。
  3. 对比传统 LangChain Supervisor,其优化设计显著减少 API 调用次数和 Token 消耗,提升执行效率。
  4. 工具链集成
  5. 无缝接入 MCP 服务(类似私域搜索、设备操作)、网络爬虫及 Python 代码执行环境,支持复杂研究场景。
  6. 基于 Meta Prompt 技术,利用 OpenAI 官方模板自动生成高质量指令,降低人工编写 Prompt 的门槛。

字节跳动开源 Deep Research 项目 DeerFlow 全面解析

三、核心功能亮点

  1. 全流程研究支持
  2. 深度研究:从目标拆解(如“埃菲尔铁塔与最高建筑的高度对比”)到执行(搜索、代码分析),最终生成图文报告。
  3. Human-in-the-loop:用户可通过自然语言实时干预 AI 生成的计划或报告,调整细节或补充信息。
  4. 多媒体内容生成
  5. 播客与 PPT:研究报告可一键转换为双人主持的播客音频(火山引擎语音技术驱动)或文字版 PPT,支持音色定制。
  6. Replay 模式:交互过程以快照形式回放,便于追溯研究逻辑与步骤。
  7. 开源生态兼容性
  8. 基于 LangStack 技术栈(LangChain + LangGraph),代码结构简洁,适合开发者快速上手多智能体系统开发。

四、项目优势与对比

  • 效率提升:传统文献综述需数周,DeerFlow 可压缩至数小时,且支持跨领域数据整合
  • 灵活性:动态任务规划机制适应复杂场景,避免传统 RAG 的单一检索局限。
  • 开源价值:提供企业级功能(如 MCP 集成)的免费方案,推动社区协作创新。

五、应用场景与社区影响

  • 学术研究:快速完成文献综述、数据可视化及跨学科验证。
  • 商业分析:生成市场竞品报告、投资提议,支持播客形式传播结论。
  • 开发者生态:通过清晰架构设计,降低多智能体系统开发门槛,助力教育与企业定制化需求。

六、获取与使用

  • GitHub 仓库https://github.com/bytedance/deer-flow
  • 官方推荐环境:豆包 1.5 Pro(深度集成 MCP 与语音功能)。
  • 成本:完全开源免费,企业可基于自身需求二次开发。


DeerFlowDeep Exploration and Efficient Research Flow) 是一个社区驱动的深度研究框架,它建立在开源社区令人难以置信的工作之上。目标是将语言模型与用于 Web 搜索、爬网和 Python 代码执行等任务的专用工具相结合,同时回馈使之成为可能的社区。

快速开始

DeerFlow 是用 Python 开发的,并带有一个用 Node.js 编写的 Web UI。为确保设置过程顺利进行,提议使用以下工具:

推荐工具

  • 紫外线:简化 Python 环境和依赖项管理。 在根目录中自动创建虚拟环境并为您安装所有必需的软件包,无需手动安装 Python 环境。uv
  • NVM:轻松管理 Node.js 运行时的多个版本。
  • PNPM:安装和管理 Node.js 项目的依赖项。

环境要求

确保您的系统满足以下最低要求:

  • 蟒蛇:版本3.12+
  • Node.js:版本22+

安装

# Clone the repository
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

# Install dependencies, uv will take care of the python interpreter and venv creation, and install the required packages
uv sync

# Configure .env with your API keys
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# volcengine TTS: Add your TTS credentials if you have them
cp .env.example .env

# See the 'Supported Search Engines' and 'Text-to-Speech Integration' sections below for all available options

# Configure conf.yaml for your LLM model and API keys
# Please refer to 'docs/configuration_guide.md' for more details
cp conf.yaml.example conf.yaml

# Install marp for ppt generation
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli

(可选)通过 pnpm 安装 Web UI 依赖项:

cd deer-flow/web
pnpm install

配置

有关更多详细信息,请参阅配置指南。

注意

在开始项目之前,请仔细阅读指南,并更新配置以符合您的特定设置和要求。

控制台 UI

运行项目的最快方法是使用控制台 UI。

# Run the project in a bash-like shell
uv run main.py

Web 用户界面

该项目还包括一个 Web UI,提供更动态和引人入胜的交互式体验。

注意

您需要先安装 Web UI 的依赖项。

# Run both the backend and frontend servers in development mode
# On macOS/Linux
./bootstrap.sh -d

# On Windows
bootstrap.bat -d

打开浏览器并访问 http://localhost:3000 以浏览 Web UI。

在 Web 目录中探索更多详细信息。

支持的搜索引擎

DeerFlow 支持多个搜索引擎,可以使用变量在您的文件中配置这些搜索引擎:.envSEARCH_API

  • Tavily (默认):AI 应用程序的专用搜索 API
    • 文件中的 requiresTAVILY_API_KEY.env
    • 注册地址: https://app.tavily.com/home
  • DuckDuckGo:注重隐私的搜索引擎
    • 无需 API 密钥
  • Brave Search:具有高级功能的注重隐私的搜索引擎
    • 文件中的 requiresBRAVE_SEARCH_API_KEY.env
    • 注册地址: https://brave.com/search/api/
  • Arxiv:用于学术研究的科学论文搜索
    • 无需 API 密钥
    • 专门用于科学和学术论文

要配置您的首选搜索引擎,请在文件中设置变量:SEARCH_API.env

# Choose one: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily

特征

核心能力

  • LLM 集成它支持通过 litellm 集成大多数模型。支持 Qwen 等开源模型OpenAI 兼容 API 接口适用于不同任务复杂性的多层 LLM 系统

工具和 MCP 集成

  • 搜索和检索
    • 通过 Tavily、Brave Search 等进行网络搜索
    • 与 Jina 一起爬行
    • 高级内容提取
  • MCP 无缝集成
    • 扩展私有域访问、知识图谱、Web 浏览等功能
    • 促进各种研究工具和方法的集成

人工协作

  • 人机协同
    • 支持使用自然语言对研究计划进行交互式修改
    • 支持自动接受研究计划
  • 报告译后编辑
    • 支持类似 Notion 的块编辑
    • 允许 AI 优化,包括 AI 辅助优化、句子缩短和扩展
    • 由 tiptap 提供支持

内容创建

  • 播客和演示文稿生成AI 驱动的播客脚本生成和音频合成自动创建简单的 PowerPoint 演示文稿用于定制内容的可定制模板

建筑

DeerFlow 实现了一个模块化的多代理系统架构,专为自动化研究和代码分析而设计。该系统基于 LangGraph 构建,支持灵活的基于状态的工作流,其中组件通过定义明确的消息传递系统进行通信。

字节跳动开源 Deep Research 项目 DeerFlow 全面解析

在 deerflow.tech 现场观看

该系统采用简化的工作流程,包括以下组件:

  1. 协调器:管理工作流生命周期的入口点
  2. 根据用户输入启动研究流程
  3. 在适当的时候将任务委派给规划者
  4. 充当用户和系统之间的主要接口
  5. Planner:任务分解和规划的战略组件
  6. 分析研究目标并创建结构化的执行计划
  7. 确定是否有足够的上下文可用或是否需要更多研究
  8. 管理研究流程并决定何时生成最终报告
  9. 研究团队:执行计划的专业代理的集合:
  10. 研究员:使用网络搜索引擎、爬虫甚至 MCP 服务等工具进行网络搜索和信息收集。
  11. Coder:使用 Python REPL 工具处理代码分析、执行和技术任务。 每个代理都可以访问针对其角色优化的特定工具,并在 LangGraph 框架内运行
  12. Reporter:研究成果的最终阶段处理器
  13. 汇总研究团队的发现
  14. 处理和构建收集的信息
  15. 生成全面的研究报告

文本到语音转换集成

DeerFlow 目前包括文本转语音 (TTS) 功能,允许您将研究报告转换为语音。此功能使用 volcengine TTS API 从文本生成高质量的音频。速度、音量和音高等功能也是可定制的。

使用 TTS API

您可以通过终端节点访问 TTS 功能:/api/tts

# Example API call using curl
curl --location 'http://localhost:8000/api/tts' 
--header 'Content-Type: application/json' 
--data '{
    "text": "This is a test of the text-to-speech functionality.",
    "speed_ratio": 1.0,
    "volume_ratio": 1.0,
    "pitch_ratio": 1.0
}' 
--output speech.mp3

发展

测试

运行测试套件:

# Run all tests
make test

# Run specific test file
pytest tests/integration/test_workflow.py

# Run with coverage
make coverage

代码质量

# Run linting
make lint

# Format code
make format

使用 LangGraph Studio 进行调试

DeerFlow 使用 LangGraph 作为其工作流架构。您可以使用 LangGraph Studio 实时调试和可视化工作流。

在本地运行 LangGraph Studio

DeerFlow 包括一个配置文件,用于定义 LangGraph Studio 的图形结构和依赖项。此文件指向项目中定义的工作流图,并自动从该文件加载环境变量。langgraph.json.env

苹果电脑

# Install uv package manager if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies and start the LangGraph server
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking

Windows / Linux

# Install dependencies
pip install -e .
pip install -U "langgraph-cli[inmem]"

# Start the LangGraph server
langgraph dev

启动 LangGraph 服务器后,您将在终端中看到几个 URL:

  • API:http://127.0.0.1:2024
  • 工作室界面:https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
  • API 文档:http://127.0.0.1:2024/docs

在浏览器中打开 Studio UI 链接以访问调试界面。

使用 LangGraph Studio

在 Studio UI 中,您可以:

  1. 可视化工作流程图并查看组件如何连接
  2. 实时跟踪执行情况,了解数据如何流经系统
  3. 检查工作流每个步骤的状态
  4. 通过检查每个组件的输入和输出来调试问题
  5. 在规划阶段提供反馈以完善研究计划

当您在 Studio UI 中提交研究主题时,您将能够看到整个工作流程的执行情况,包括:

  • 创建研究计划的规划阶段
  • 可在其中修改计划的反馈循环
  • 每个部分的研究和写作阶段
  • 最终报告生成

例子

以下示例演示了 DeerFlow 的功能:

研究报告

  1. OpenAI Sora 报告 – OpenAI 的 Sora AI 工具分析
  2. 讨论功能、访问、提示工程、限制和道德注意事项
  3. 查看完整报告
  4. Google 的代理到代理协议报告 – Google 的代理到代理 (A2A) 协议概述
  5. 讨论它在 AI 代理通信中的作用及其与 Anthropic 的模型上下文协议 (MCP) 的关系
  6. 查看完整报告
  7. 什么是 MCP?– 在多个上下文中对术语“MCP”进行全面分析
  8. 探索人工智能中的模型上下文协议、化学中的磷酸一氢钙和电子学中的微通道板
  9. 查看完整报告
  10. 比特币价格波动 – 近期比特币价格走势分析
  11. 研究市场趋势、监管影响和技术指标
  12. 根据历史数据提供提议
  13. 查看完整报告
  14. 什么是法学硕士?– 对大型语言模型的深入探索
  15. 讨论体系结构、培训、应用程序和道德注意事项
  16. 查看完整报告
  17. 如何使用 Claude 进行深入研究?– 使用 Claude 进行深入研究的最佳实践和工作流程
  18. 涵盖提示工程、数据分析以及与其他工具的集成
  19. 查看完整报告
  20. 医疗保健领域的 AI 采用:影响因素 – 推动医疗保健领域 AI 采用的因素分析
  21. 讨论 AI 技术、数据质量、道德思考、经济评估、组织准备情况和数字基础设施
  22. 查看完整报告
  23. 量子计算对密码学的影响 – 量子计算对密码学的影响分析
  24. 讨论经典密码学、后量子密码学和抗量子加密解决方案的漏洞
  25. 查看完整报告
  26. 克里斯蒂亚诺·罗纳尔多 (Cristiano Ronaldo) 的表现亮点 – 克里斯蒂亚诺·罗纳尔多 (Cristiano Ronaldo) 表现亮点分析
  27. 讨论他的职业成就、国家队目标和在各种比赛中的表现
  28. 查看完整报告

要运行这些示例或创建自己的研究报告,您可以使用以下命令:

# Run with a specific query
uv run main.py "What factors are influencing AI adoption in healthcare?"

# Run with custom planning parameters
uv run main.py --max_plan_iterations 3 "How does quantum computing impact cryptography?"

# Run in interactive mode with built-in questions
uv run main.py --interactive

# Or run with basic interactive prompt
uv run main.py

# View all available options
uv run main.py --help

交互模式

该应用程序目前支持交互式模式,内置中英文问题:

  1. 启动交互模式:
  2. uv run main.py –interactive
  3. 选择您的首选语言(英文或中文)
  4. 从内置问题列表中进行选择,或选择选项以提出您自己的问题
  5. 系统将处理您的问题并生成一份全面的研究报告

人在回路

DeerFlow 包括一个人工循环机制,允许您在执行研究计划之前对其进行审查、编辑和批准:

  1. 计划审查:启用人工回路后,系统将在执行前呈现生成的研究计划供您审查
  2. 提供反馈: 您可以:
  3. 通过响应[ACCEPTED]
  4. 通过提供反馈(例如[EDIT PLAN] Add more steps about technical implementation)
  5. 系统将纳入您的反馈并生成修订后的计划
  6. 自动接受:您可以启用自动接受以跳过审核过程:
  7. 通过 API:在您的请求中设置auto_accepted_plan: true
  8. API 集成:使用 API 时,您可以通过以下参数提供反馈:feedback
  9. { “messages”: [{“role”: “user”, “content”: “What is quantum computing?”}], “thread_id”: “my_thread_id”, “auto_accepted_plan”: false, “feedback”: “[EDIT PLAN] Include more about quantum algorithms” }

命令行参数

该应用程序支持多个命令行参数来自定义其行为:

  • query:要处理的研究查询(可以是多个单词)
  • –interactive:使用内置问题在交互模式下运行
  • –max_plan_iterations:最大计划周期数(默认值:1)
  • –max_step_num:研究计划中的最大步骤数(默认值:3)
  • –debug:启用详细的调试日志记录
© 版权声明

相关文章

4 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    甜一石榴 投稿者

    收藏了,感谢分享

    无记录
  • 头像
    琼玉摇曳入锦怀 读者

    damx

    无记录
  • 头像
    放下皆得 读者

    不就是langchain、langgraph、mcp一堆开源库打包在一起做的玩具吗

    无记录
  • 头像
    顾归野 投稿者

    小子你部署了吗?也就是个玩具

    无记录