老顾深度解析【字节跳动的AI项目DeerFlow】源码(一)

前言

老顾最近看了字节跳动的开源项目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个角色,协调者、规划者、执行者、报告者、人工,各个职责不同。

系统采用了精简的工作流程,包含以下组件:

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

交互流程

大致的流程

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也落地到我们里面项目中

相关推荐
字节跳动数据平台4 小时前
火山引擎Data Agent再拓新场景,重磅推出用户研究Agent
agent
AI大模型5 小时前
告别传统 RAG,迎接 GraphRAG:知识图谱+本体=更强 AI
程序员·llm·agent
后端小肥肠6 小时前
公众号对标账号文章总错过?用 WeWe-RSS+ n8n,对标文章定时到你的邮箱(下篇教程)
人工智能·agent
大模型教程8 小时前
用Dify搭建企业知识库:5个实战技巧提升检索准确率90%
程序员·llm·agent
安思派Anspire8 小时前
OpenAI的AgentKit:构建和部署AI智能体的更简单方法
aigc·openai·agent
DevYK12 小时前
企业级Agent开发教程(四) 基于 MongoDB 实现持久化记忆缓存
langchain·agent
sunscreen12 小时前
LangChain使用之Tools
agent
FreeCode13 小时前
智能体化系统(Agentic System)开发面临的挑战及应对
人工智能·agent
大模型真好玩1 天前
低代码Agent开发框架使用指南(四)—Coze大模型和插件参数配置最佳实践
人工智能·agent·coze
大模型教程1 天前
一文搞懂RAG:凭啥阿里70K算法岗都在用它?
程序员·llm·agent