DeerFlow Agent 模块核心讲解
DeerFlow 的 Agent 模块是整个框架的核心,负责代理的创建、配置、工具加载、中间件编排和提示词生成,通过配置驱动+工厂模式+中间件链实现灵活可扩展的智能体系统。
一、核心入口:make_lead_agent(代理工厂函数)
功能
生产环境的主代理入口,负责根据运行时配置创建 Lead Agent,处理配置解析、模型选择、中间件构建和工具加载。
核心流程
- 配置解析:从
RunnableConfig提取运行时参数(思考模式、模型名称、计划模式等) - 模型解析:按优先级(请求参数→代理配置→全局默认)解析最终模型名称
- 代理配置加载:根据代理名称加载对应配置(Bootstrap 模式除外)
- 元数据注入:设置 LangSmith 追踪所需的元数据
- 代理创建:根据是否为 Bootstrap 模式分支创建不同代理
设计亮点
- 配置驱动:通过配置而非硬编码控制代理行为
- 优雅降级:模型不支持思考模式时自动降级
- 双模式支持:同时支持 Bootstrap(初始自定义代理创建)和普通模式
二、模型工厂:create_chat_model
功能
根据配置动