微信扫码
添加专属顾问
我要投稿
探索多代理工作流如何革新信息处理! 核心内容: 1. 多智能体工作流架构概览及其专业代理角色 2. 各代理的主要职责和协作流程 3. 工作流配置参数和步骤类型详解
Tip
多代理工作流架构,不同的专业代理协作处理用户查询,并生成一份全面的研究报告
DeerFLow 的多智能体工作流程由五个专业智能体组成,以下是它们特定的角色以及责任
将用户的请求分为三类
将复杂查询分解为可管理的步骤,以便创建详细的研究计划
执行需要收集信息的研究步骤
web_search_tool
和 crawl_tool
执行涉及到 Python 代码的数据处理
负责所有收集的信息综合成完整的最终报告
将代理的提示映射到定义其行为的实际代码文件
步骤分为研究、处理两种类型
StepType.RESEARCH
need_web_search: true
StepType.PROCESSING
need_web_search: false
DeerFlow 集成了代理可用于收集信息和处理数据的各种工具
支持通过 MCP 动态加载其他工具
这里给出 GitHub 趋势存储库的 MCP 示例
"mcp_settings": {
"servers": {
"mcp-github-trending": {
"transport": "stdio",
"command": "uvx",
"args": ["mcp-github-trending"],
"enabled_tools": ["get_github_trending_repositories"],
"add_to_agents": ["researcher"]
}
}
}
Tip
本文的记录数据的流转,用户输入到最终研究报告的产出,前后端交互时的消息、事件、状态,以及每个组件内的内部数据转换
sendMessage 函数(web/src/core/store/store.ts 76-154)的处理流程如下:
getChatStreamSettings()
chatStream()
chat 的 Stream 参数包括如下
前端使用 Zustand 来管理应用状态,关键状态组件包括
当后端接收到事件时,它们会被处理并更新上述状态
以下这些状态更新函数用于管理聊天、研究过程中的状态变化,确保前端能够正确显示对话和研究进度
前后端通过 SSE 进行流式响应,支持两种模式
当后端接收到聊天请求时,通过 /api/chat/stream
断点进行处理
_astream_workflow_generator()
处理请求并生成流式响应_astream_workflow_generator()
职责如下
管理 Agent 节点之间的状态转换,每个节点处理当前状态,并返回一个对象,该对象用于更新状态并引导工作流进入下一个节点
LangGraph 的状态对象包含
Message 是 DeerFlow 系统的主要数据结构,在前后端之间流动
从后端流式传递到前端的事件具有如下结构
{
"event": "<event_type>",
"data": "<JSON 数据>"
}
其中 event_type 可以是:
从前端传递到后端的请求结构如下
{
"messages": [{ "role": "user", "content": "string" }],
"thread_id": "string",
"auto_accepted_plan": true,
"max_plan_iterations": 3,
"max_step_num": 5,
"interrupt_feedback": "string",
"enable_background_investigation": true,
"mcp_settings": {
"servers": {
"server_name": {
"transport": "string",
"command": "string",
"args": ["string"],
"url": "string",
"env": { "key": "value" },
"enabled_tools": ["string"],
"add_to_agents": ["string"]
}
}
}
}
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-08-13
2024-06-13
2024-08-21
2024-09-23
2024-07-31
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-09-17
2025-05-11
2025-05-09
2025-05-08
2025-05-07
2025-04-30
2025-04-29
2025-04-29
2025-04-29