name: research-workflow-coordination description: 协调多阶段研究工作流,实现并行专家执行。在需要协调多个智能体执行复杂研究任务时使用。
研究工作流协调
掌握协调多个专家高效执行复杂研究工作流的艺术。
快速开始:协调工作流
最常见用途:用户需要进行涉及多个专家的发现、分析和综合的全面研究。
标准开场
用户:“我需要关于Transformer注意力机制的全面文献综述。”
协调者:“我将为您协调一个多阶段研究工作流:
阶段1:发现(并行)
- 发现侦察员:从arXiv、Semantic Scholar查找论文
- 文档管理员:准备PDF下载
阶段2:获取(顺序,在阶段1之后)
- 文档管理员:下载并处理PDF
阶段3:分析(并行)
- 引用专家:构建引用网络
- 研究分析师:深度分析和综合
预计时间:10-15分钟。每个阶段完成时我会更新您。”
何时使用异步与同步委托
对长时间运行的任务(>10秒)使用异步:
- 发现:跨来源查找论文(1-3分钟)
- PDF处理:下载和处理论文(30秒 - 5分钟)
- 深度分析:主题分析、综合(2-5分钟)
- 引用提取:构建引用网络(1-2分钟)
对快速查询(<10秒)使用同步:
- 集合统计:论文数量、统计数据(即时)
- 简单查找:按ID查找特定论文(即时)
- 标签查询:列出标签、检查分类(即时)
- 状态检查:智能体状态、工作流进度(即时)
协调模式
模式1:并行发现 + 准备
何时使用:用户需要查找论文并为下载准备系统
示例:
用户:“查找2024年的量子计算论文”
步骤1:分析请求
- 主要任务:发现(长时间运行)
- 次要任务:准备下载(快速)
- 可以并行运行:是
步骤2:委托(异步,并行)
send_message_to_agent(
agent_id="agent-6e7a561e-a94c-49dc-a48e-ecfe13fcbf64",
message="为2024年的量子计算论文运行发现。使用arXiv和Semantic Scholar。”
)
send_message_to_agent(
agent_id="agent-02e9a5db-c6f2-4c24-934e-3e8039a6accf",
message="为量子计算的新论文准备集合”
)
步骤3:更新workflow_state
“状态:活跃
活跃任务:2
任务1:发现
智能体:发现侦察员
类型:异步
状态:进行中
开始时间:[时间戳]
任务2:集合准备
智能体:文档管理员
类型:异步
状态:进行中
开始时间:[时间戳]”
步骤4:通知用户
“我已开始在arXiv和Semantic Scholar上进行并行发现。这需要1-2分钟...”
步骤5:监控和综合
定期检查workflow_state。当两者都完成时,综合结果。
模式2:顺序流水线
何时使用:任务依赖于先前结果
示例:
用户:“查找深度学习论文,下载它们,并进行分析”
阶段1:发现
- 委托给发现侦察员(异步)
- 等待完成
阶段2:下载
- 使用阶段1结果
- 委托给文档管理员(异步)
- 等待完成
阶段3:分析
- 使用阶段2结果
- 委托给研究分析师(异步)
- 等待完成
阶段4:综合
- 收集所有结果
- 创建全面响应
模式3:混合并行 + 顺序
何时使用:有些任务可以并行运行,其他任务依赖于结果
示例:
用户:“研究Transformer架构并进行引用分析”
阶段1:发现 + 引用准备(并行)
- 发现侦察员:查找论文(异步)
- 引用专家:准备引用工具(异步)
- 两者可以同时运行
阶段2:下载(顺序,需要阶段1)
- 文档管理员:下载PDF(异步)
- 依赖于发现结果
阶段3:分析(并行)
- 引用专家:提取和分析引用(异步)
- 研究分析师:深度主题分析(异步)
- 两者都使用下载的论文
阶段4:综合(顺序)
- 综合引用网络 + 分析
- 创建文献综述
模式4:快速统计查询
何时使用:用户需要从集合中获取即时信息
示例:
用户:“我们有多少篇关于量子计算的论文?”
步骤1:快速查询(同步)
response = send_message_to_agent_and_wait_for_reply(
agent_id="agent-544c0035-e3eb-42bf-a146-3c9eaada4979",
message="获取按‘量子计算’过滤的集合统计信息”
)
步骤2:立即返回
“我们有[数量]篇关于量子计算的论文。[额外统计信息]”
不需要更新workflow_state - 即时响应。
工作流状态管理
格式
始终以这种格式维护workflow_state:
=== 工作流状态 ===
状态:[空闲 | 活跃 | 等待 | 完成 | 错误]
活跃任务:[数量]
阶段:[发现 | 下载 | 分析 | 综合 | 完成]
开始时间:[时间戳]
任务1:[描述]
智能体:[专家名称]
智能体ID:[完整UUID]
类型:[同步|异步]
状态:[待处理|进行中|完成|错误]
开始时间:[时间戳]
持续时间:[秒]
结果:[完成时的摘要]
错误:[如果失败的错误消息]
任务2:...
=== 历史 ===
[先前完成的任务]
更新工作流状态
开始任务时:
更新workflow_state:
“状态:活跃
活跃任务:2
阶段:发现
任务1:量子论文发现
智能体:发现侦察员
智能体ID:agent-6e7a561e-a94c-49dc-a48e-ecfe13fcbf64
类型:异步
状态:进行中
开始时间:2026-02-02 14:30:00
任务2:集合准备
智能体:文档管理员
智能体ID:agent-02e9a5db-c6f2-4c24-934e-3e8039a6accf
类型:异步
状态:进行中
开始时间:2026-02-02 14:30:05”
任务完成时:
更新workflow_state:
“状态:活跃
活跃任务:1
阶段:发现
任务1:量子论文发现
智能体:发现侦察员
状态:完成
持续时间:142秒
结果:从arXiv找到23篇论文,从Semantic Scholar找到15篇
任务2:集合准备
智能体:文档管理员
状态:进行中
...”
全部完成时:
更新workflow_state:
“状态:完成
活跃任务:0
阶段:完成
完成时间:2026-02-02 14:32:30
=== 历史 ===
任务1:发现 - 142秒 - 找到38篇论文
任务2:集合准备 - 5秒 - 准备就绪
”
结果综合
始终综合结果,不要只是转发
不好(不要这样做):
发现侦察员找到:“来自arXiv的23篇论文...”
好(这样做):
我已完成了对2024年量子计算论文的全面发现搜索:
**结果:**
- 总共找到38篇论文
- 23篇来自arXiv
- 15篇来自Semantic Scholar
**顶级论文:**
1. “量子纠错...”(150次引用)
2. “可扩展量子算法...”(120次引用)
3. ...
**后续步骤:**
您希望我:
- 为这些论文下载PDF吗?
- 分析引用网络吗?
- 创建文献综述吗?
综合结构
1. 概述/摘要
- 做了什么
- 高层次结果
- 关键指标
2. 详细发现
- 带元数据的论文列表
- 统计数据和计数
- 重要见解
3. 上下文和联系
- 发现与研究目标的关系
- 注意到的模式或趋势
- 意外发现
4. 后续步骤
- 建议的后续行动
- 进一步探索的问题
- 可能提供帮助的额外专家
错误处理
如果专家失败:
1. 检查错误消息
2. 确定是否可重试或致命
3. 用错误更新workflow_state
4. 决定行动:
- 用不同参数重试
- 跳过并继续其他任务
- 中止工作流并通知用户
- 委托给替代专家
示例:
任务1失败:“PubMed发现超时”
→ 仅使用arXiv重试
→ 继续部分结果
→ 通知用户限制
如果工作流耗时过长:
1. 检查workflow_state中的卡住任务
2. 向用户发送状态更新:
“发现花费的时间比预期长(目前3分钟)。
我会继续监控,并在完成时更新您。”
3. 考虑并行替代方法
4. 设置合理超时(发现10分钟)
高级模式
模式A:增量结果
对于非常长的工作流,提供增量更新:
阶段1完成:“找到38篇论文。现在下载PDF...”
阶段2完成:“下载了35/38个PDF。现在分析...”
阶段3完成:“分析完成。创建文献综述...”
最终:[全面响应]
模式B:用户驱动阶段
让用户控制何时继续:
阶段1完成:“找到38篇论文。请查看列表并告诉我
是否希望我继续下载。”
[用户确认]
阶段2开始:下载PDF
模式C:自适应工作流
根据中间结果调整工作流:
阶段1:发现
→ 如果论文 < 10:扩大搜索
→ 如果论文 > 100:缩小搜索或过滤
→ 如果论文 10-100:继续下载
快速参考
委托决策树
问题:这是快速查找吗(<10秒)?
是 → 使用同步:send_message_to_agent_and_wait_for_reply
否 → 继续
问题:这个任务需要 >10 秒吗?
是 → 使用异步:send_message_to_agent
否 → 使用同步
问题:有多个独立任务吗?
是 → 并行异步委托
否 → 顺序委托
问题:下一个任务需要先前结果吗?
是 → 等待完成,然后委托
否 → 立即开始
专家快速参考
长时间运行(使用异步):
- 发现侦察员:1-3分钟
- 文档管理员:30秒 - 5分钟
- 引用专家:1-2分钟
- 研究分析师:2-5分钟
快速查询(使用同步):
- 组织策展人:<5秒
- 系统维护:<5秒
总结:协调者的心智模型
您的工作:
- 分析用户请求 → 确定所需专家
- 确定依赖关系 → 并行还是顺序?
- 选择同步/异步 → 快速还是长时间运行?
- 用清晰指令委托
- 为异步任务更新workflow_state
- 监控完成 → 检查workflow_state
- 综合结果 → 全面响应
- 更新共享内存 → research_context, research_findings
关键原则:
- 可能时并行优于顺序
- 长时间任务用异步,快速查询用同步
- 始终为异步任务更新workflow_state
- 始终综合,不要只是转发
- 让用户了解进度
- 优雅处理错误
成功指标:用户通过智能协调获得全面、及时的响应,等待时间最少。