当前位置: 首页 > news >正文

DeerFlow源码分析

目录
  • 背景和价值
  • DeerFlow多智能体系统解析
    • 1. DeerFlow有哪些Agent,以及定义
    • 2. Agent之间流转(流程图)及控制变量
      • Agent流转流程图
      • 关键控制变量
    • 3. 实例讲解:用户输入"如何提高AI模型的推理速度?"
      • 流程图解析
      • 详细流转说明
    • 为什么这样设计?
  • 参考资料

背景和价值

DeerFlow多智能体系统解析

1. DeerFlow有哪些Agent,以及定义

DeerFlow基于LangGraph构建的多智能体协作系统,主要包含以下核心Agent:

Agent类型 定义 主要职责
协调器(Coordinator) 系统入口点,领导者 接收用户输入,处理简单问候/拒绝不当请求,将任务转交给规划器
规划者(Planner) 系统参谋部 将宏观问题分解为子任务,制定研究计划,判断是否需要背景调查
研究员(Researcher) 研究团队核心 通过网络搜索、爬虫等工具收集信息,确保数据质量
程序员(Coder) 研究团队技术专家 执行Python代码进行数据处理、统计分析、运行模拟
报告员(Reporter) 最终成果输出者 整合所有信息,生成结构化、人类可读的报告/播客/演示文稿

💡 从知识库[3][6]可知:DeerFlow采用"协调器→规划器→研究团队→报告员"的层级协作模式,研究团队包含研究员和程序员两个专业角色。

2. Agent之间流转(流程图)及控制变量

Agent流转流程图

用户输入│▼
[协调器(Coordinator)] → (通过handoff_to_planner工具)│▼
[规划者(Planner)] → (可能启用背景调查)│├───是否需要人工审核? (auto_accepted_plan)│      ││      ├───否 → 直接进入研究团队│      └───是 → [人工反馈节点(Human Feedback)]│               ││               ├───[ACCEPTED] → 进入研究团队│               └───[EDIT_PLAN] → 返回规划器│▼
[研究团队(Research Team)]│├───根据步骤类型路由│      ││      ├───RESEARCH → [研究员(Researcher)]│      └───PROCESSING → [程序员(Coder)]│▼
[所有步骤完成?]│├───是 → [报告员(Reporter)]└───否 → 继续执行未完成步骤

关键控制变量

变量名 作用 默认值 说明
auto_accepted_plan 是否跳过人工审核 False True表示自动接受计划,跳过用户反馈
enable_background_investigation 是否启用背景调查 False 启用后,planner会先进行初步搜索
plan_iterations 计划迭代次数 0 达到最大迭代次数后直接进入reporter
current_plan 当前研究计划 None JSON格式的计划,包含步骤和执行状态
step.execution_res 步骤执行结果 None 用于判断步骤是否完成

💡 从知识库[1][5]可知:current_plan是核心状态,包含steps列表,每个步骤有step_typeexecution_res属性,决定下一步流向。

3. 实例讲解:用户输入"如何提高AI模型的推理速度?"

流程图解析

用户输入: "如何提高AI模型的推理速度?"│▼
[协调器(Coordinator)] │ 处理输入,调用handoff_to_planner工具▼
[规划者(Planner)]│ 生成计划: │   - 背景调查: 搜索"AI模型推理速度优化" │   - 步骤1: 网络搜索相关论文│   - 步骤2: 分析不同优化技术│   - 步骤3: 代码实现示例│▼
[人工反馈节点]│ auto_accepted_plan = False (默认)│ 调用interrupt("请审核计划。")│▼
用户回复: "[ACCEPTED]"│▼
[研究团队(Research Team)]│ 根据步骤类型路由:│   - 步骤1: RESEARCH → [研究员(Researcher)]│   - 步骤2: PROCESSING → [程序员(Coder)]│▼
[研究员(Researcher)]│ 执行网络搜索,获取最新论文和优化技术│ 保存结果到observations│▼
[程序员(Coder)]│ 执行Python代码,实现不同优化技术│ 保存结果到observations│▼
[所有步骤完成?]│ 是 → 进入[报告员(Reporter)]│▼
[报告员(Reporter)]│ 整合信息,生成结构化报告│ 保存到final_report│▼
[流程结束]

详细流转说明

  1. 协调器阶段

    • 用户输入"如何提高AI模型的推理速度?"
    • 协调器判断为研究请求,调用handoff_to_planner工具转交规划器
    • 代码路径:coordinator_nodehandoff_to_planner工具
  2. 规划器阶段

    • 规划器生成计划,可能启用背景调查
    • 代码路径:planner_node → 生成current_plan
    • 如果auto_accepted_plan=False(默认),进入人工反馈节点
  3. 人工反馈阶段

    • 系统暂停,等待用户确认
    • 用户输入[ACCEPTED],系统继续执行
  4. 研究团队阶段

    • 系统根据计划中的步骤类型决定:
      • 网络搜索 → 研究员
      • 代码实现 → 程序员
    • 代码路径:continue_to_running_research_team函数
  5. 报告生成阶段

    • 所有步骤完成后,自动进入报告员
    • 报告员整合信息,生成最终报告
    • 代码路径:reporter_node

💡 从知识库[5]可知:current_plan是流转的核心,其中steps列表定义了任务流程,step_type决定路由到哪个专业Agent。

为什么这样设计?

DeerFlow的架构设计体现了"Plan & Reflection"的核心思想:

  • 确定性流程:通过状态变量(如current_planplan_iterations)保证任务执行路径可控
  • 自主探索能力:通过Reflection机制(如human_feedback_node)让Agent能根据执行情况调整计划

正如知识库[2]所述:"为了既保证任务成功率又不牺牲智能体的探索能力,我们需要在架构上融合确定性流程和自主Agent探索。"

这种设计使得DeerFlow既适合自动化研究任务,又能应对复杂场景下的不确定性,真正发挥出大模型的潜力。

参考资料

http://www.jsqmd.com/news/50471/

相关文章:

  • 2025北京留学机构前十名有哪些
  • 2025年北京回收二手红木家具公司权威推荐榜单:回收红木家具高价/回收阔叶黄檀家具/回收缅甸花梨家具源头公司精选
  • 2025澳大利亚研究生留学中介哪个好
  • 视频融合平台EasyCVR助力城市渣土车管理,打造智能联网监控方案
  • 服务器远程连接不上怎么回事?怎么解决?
  • 多位
  • CF1458C Latin Square
  • 2025年湖北阴囊湿疹怎么治疗护理权威推荐榜单:湖北附睾结核怎么治疗/湖北脓尿怎么治疗/湖北肾盂肾炎怎么治疗综合医院特色门诊精选
  • 2025广州权威的留学机构排名前十
  • 2025北京留学机构一览表最新
  • 这些奇怪的JavaScript隐式转换你一定遇到过!
  • 2025澳大利亚留学中介排行
  • 大象《Thinking in Projects》读书笔记3
  • 2025年高层建筑物平移源头厂家权威推荐榜单:房屋整体平移/建筑物平移/别墅平移源头厂家精选
  • 三分钟带你了解什么是 Headless UI (含demo)
  • PDF超级助手软件下载安装教程_免费PDF编辑工具使用指南
  • Vue3快速笔记
  • 详细介绍:技术实践:在基于 RISC-V 的 ESP32 上运行 MQTT over QUIC
  • python-IPO模型
  • 搭建vue前端项目
  • 2025厦门十大正规留学机构有哪些
  • 完整教程:C++ 模板进阶
  • 2025广州有哪些办理出国留学机构
  • windows下 自动检测网络状态,并重连至指定wifi的脚本
  • 2025港澳留学中介排名
  • map---显示地区地图
  • 2025北京留学中介机构名单
  • 2025年金刚砂耐磨地坪材料搅拌机制造企业权威推荐榜单:石墨增碳剂搅拌机/塑料粉混合机/石墨粉搅拌机源头厂家精选
  • 2025年武汉优质的华新水泥生产厂家推荐榜单,华新水泥有哪些鑫俊熙层层把关品质优
  • 计算机视觉:pyqt5+yoloV5目标检测平台 python实战 torch 目标识别 大数据项目 目标跟踪(建议收藏)✅ - 指南