前言
老顾最近看了字节跳动的开源项目DeerFlow(多智能体Agent协作、支持MCP) ,里面采用的技术原理和方案,和老顾即将输出的多智能体框架LangGraph系列课程 能够相辅相成,可以作为企业级别的实战项目进行落地 。老顾会输出关于DeerFlow项目的系列文章/视频,让我们小伙伴们更轻松的了解相关知识。
企业实战知识点
DeerFlow是非常标准的企业级多智能体Agent项目,从中我们可以学习到企业实战中如何进行技术方案设计的,里面包含了以下知识点:
1、支持多层模型,不同的智能体Agent可以对应不同模型
2、多智能体Agent之间的如何协作,LangChain、LangGraph核心知识点
3、不同的智能体Agent采用不同的提示词prompt模板,而且可以从中学习到提示词是如何编写,以及如何关联到不同的结构中
4、在多智能体中如何加入人工中断节点,可以让用户对一些信息进行修正
5、智能体中工具的集成,以及MCP的集成
6、相关常用的工具,如:多种搜索引擎、爬虫、程序脚本;MCP市场
7、工程项目代码结构,编码的设计模式,以及执行脚本
环境要求
**环境要求:**Python 3.12+;NodeJs 22+
技术框架: FastAPI、LangChain、LangGraph、MCP、UV包管理
github: github.com/bytedance/d...
项目介绍
DeerFlow是一个深度研究助理。借助搜索引擎、网络爬虫、Python和MCP服务等强大工具,它提供即时见解、全面报告;也可以把报告采用播客的方式,进行多人方式播报。

01:27
多种角色

整个流程中有5个角色,协调者、规划者、执行者、报告者、人工,各个职责不同。
系统采用了精简的工作流程,包含以下组件:
- **协调者:**管理工作流生命周期的入口点
- 根据用户输入启动研究过程
- 在适当时候将任务委派给规划者
- 作为用户和系统之间的主要接口
- **规划者:**负责任务分解和规划的战略组件
- 分析研究目标并创建结构化执行计划
- 确定是否有足够的上下文或是否需要更多研究
- 管理研究流程并决定何时生成最终报告
- **执行者:**执行计划的专业智能体集合:
- 研究员:使用网络搜索引擎、爬虫甚至 MCP 服务等工具进行网络搜索和信息收集。
- 编码员:使用 Python REPL 工具处理代码分析、执行和技术任务。 每个智能体都可以访问针对其角色优化的特定工具,并在 LangGraph 框架内运行
- **报告者:**研究输出的最终阶段处理器
- 汇总研究团队的发现
- 处理和组织收集的信息
- 生成全面的研究报告
交互流程
大致的流程
1、用户提出问题
2、协调者进行问题背景调查,用来丰富此问题的相关信息
3、规划者对问题进行维度、步骤分解
4、是否进行人工 中断修正,修正再交给规划者
4、执行者对规划者规划的步骤进行工具执行
5、执行者 所有步骤完成后,交接给报告者
6、报告者最终输出全面的报告

上图中比较扼要的介绍了交互流程,带⭐图标的节点为Agent
主要界面
入口交互页面

规则者界面

执行者页面

报告者界面

报告风格配置

规划相关配置

MCP配置

搜索引擎
DeerFlow 支持多种搜索引擎:
- **Tavily(默认):**专为 AI 应用设计的专业搜索 API
- **DuckDuckGo:**注重隐私的搜索引擎
- **Brave Search:**具有高级功能的注重隐私的搜索引擎
- **Arxiv:**用于学术研究的科学论文搜索
工具和 MCP 集成
- 搜索和检索
- 通过 Tavily、Brave Search 等进行网络搜索
- 使用 Jina 进行爬取
- 高级内容提取
- MCP 无缝集成
- 扩展私有域访问、知识图谱、网页浏览等能力
- 促进多样化研究工具和方法的集成
Agent架构
DeerFlow 实现了一个模块化的多智能体系统架构,专为自动化研究和代码分析而设计。该系统基于 LangGraph 构建,实现了灵活的基于状态的工作流,其中组件通过定义良好的消息传递系统进行通信。

总结
老顾介绍了DeerFlow的基本概念,以及核心的交互流程,大家有一个初步的认知。
后续老顾会对各个角色Agent进行拆解,源码剖析,目标是可以让多智能体Agent和MCP也落地到我们里面项目中