当前时间: 2026-04-01 12:11:15
更新时间: 2026-03-31
分类:软件教程
评论(0)
本文最后更新于
2026-03-31,某些文章具有时效性,若有错误或已失效,请在下方
留言或联系
老夜。
DeerFlow2.0源码分析
我们在“小龙虾OpenClaw四十问”详细分析了OpenClaw的调度方式, 目前大部分开源项目例如Nanobot和CoPaw在能力上还是距离OpenClaw非常的远。
最近字节发布了DeerFlow2.0,我们来看看, 它是如何实现的?
1. 首先DF2.0不是一个纯Python或者TypeScript(TS)项目。
1)前端是typescripts开发的,基于React框架来实现的。
2)后端是Python开发的,基于LangGraph框架的。
3)前后端之间是通过FastAPI REST 来进行接口封装的。
2. 核心能力在deerflow-harness包的实现。
其中Agents 和 SubAgents是分开实现的两个包, 还有一个重要的包是Skills。
3. Skills调度,通过load_skills函数来完成的。
从Skill的类别就可以看到, 目前DF2.0对Skills的支持还非常初级。 这方面与Nanobot还非常类似。
主要还是通过installer和 loader来进行调度。
4. DF 2.0 基于 LangGraph 构建,利用其“有向无环图 (DAG)”与“循环图”的能力来管理 Agent 的状态流转。同时支持,生成 (Spawning),Lead Agent 动态生成具有特定 System Prompt 和工具集的 Sub-Agents(子智能体)。
Agent的核心是AgentMiddleware来支持多种钩子下的插件加载方式。
5. SubAgent动态委托 而非预定义的固定子 Agent,调度完全由 Lead Agent 通过内置工具触发,采用异步线程池 + 限流 + 轮询机制。
SubAgent核心就是任务执行, 要比LeadAgent简单非常多。
总体来看, Deer-Flow2.0是最像OpenClaw的Python能力实现了,但是依然有差距。 譬如Agent协作方式, Skills能力, 多通道排队等方面都有待进一步加强。 再次感叹OpenClaw的思考维度的厉害(参考小龙虾OpenClaw四十问)!!!
但是选择Python的LangGraph的工作流框架作为Agent的骨干,非常适合快速开发上手。