FLOW大纲
FLOW:模块化智能体工作流自动化(组会汇报PPT大纲及内容)
幻灯片1:标题页
- 标题:FLOW:MODULARIZED AGENTIC WORKFLOW AUTOMATION(模块化智能体工作流自动化)
- 作者团队:Boye Niu等(悉尼大学、阿德莱德大学、卡耐基梅隆大学等)
- 发表会议:ICLR 2025
- 汇报人:[你的名字]
- 汇报日期:[汇报日期]
幻灯片2:目录
- 研究背景与问题提出
- 相关工作对比
- FLOW框架核心设计
- 实验设计与结果分析
- 工作流更新机制与错误处理
- 研究结论与未来展望
- 问答环节
幻灯片3:研究背景与问题提出(1/2)
1.1 大语言模型(LLMs)与多智能体框架发展
- LLMs能力:具备理解和生成类人文本的能力,在推理、对话代理、内容创作、决策系统等领域应用广泛(如Ye et al., 2024;Yao et al., 2023)
- 多智能体框架趋势:基于LLM的多智能体框架通过协作解决复杂任务,整合集体推理与规划能力(Liu et al., 2023;Li et al., 2023等)
1.2 现有多智能体框架案例
| 框架 | 核心特点 | 局限性 |
|---|---|---|
| MetaGPT | 聚焦编程任务,预定义角色(产品经理、工程师等),严格顺序工作流 | 依赖固定SOP,无法动态调整任务分配 |
| CAMEL | 支持多任务类型,需用户预定义两个智能体,顺序交互执行 | 灵活性低,无法自动适配任务变化 |
| AutoGen | 根据子任务需求自动创建多角色智能体列表 | 子任务仅支持顺序执行,效率受限 |
幻灯片4:研究背景与问题提出(2/2)
1.3 核心问题:现有框架的工作流缺陷
- 静态工作流:无法实时适配执行中的突发挑战(如子任务失败、环境变化)
- 低模块化程度:子任务依赖复杂,难以并行执行,易形成瓶颈
- 容错性差:单个子任务问题可能导致整体任务中断
1.4 研究目标
- 实现工作流动态更新:基于历史性能和实时状态调整子任务分配与智能体角色
- 提升工作流模块化:通过评估并行度和依赖复杂度,优化子任务拆分,支持并发执行
- 增强框架实用性:在复杂任务中实现高效执行、目标达成与容错能力
幻灯片5:相关工作对比
2.1 LLM-based任务决策
- 代表性工作:ReAct(迭代生成思考与行动)、Reflexion(加入自我反思)、ADAPT(递归任务分解)
- 不足:忽视多智能体场景下的动态任务重分配,无法应对复杂协作中的变化
2.2 LLM-based多智能体框架
- 静态工作流局限:DyLAN、MACNET用静态图表示工作流;GPTSwarm固定智能体拓扑;DataInterpreter仅在子任务失败时调整后续任务
- 动态工作流探索:AFlow基于蒙特卡洛树搜索生成动态工作流,但未充分考虑模块化与并行度优化
- FLOW定位:填补“动态更新+高模块化”空白,实现更灵活、高效的工作流管理
幻灯片6:FLOW框架核心设计(1/3)
3.1 工作流建模:基于AOV图的任务表示
- AOV图定义:Activity-on-Vertex(顶点活动)有向无环图(DAG)
- 顶点(V):代表子任务,包含状态(未开始/进行中/完成)、日志数据
- 边(E):代表子任务依赖(如eije_{ij}eij表示viv_ivi完成后才能启动vjv_jvj)
- 智能体集合(A):每个智能体aja_jaj负责子集Tj⊆VT_j \subseteq VTj⊆V的子任务
- 关键优势:支持动态子任务调整,直观体现依赖关系,为并行执行提供基础
3.2 模块化设计:并行度与依赖复杂度评估
- 并行度计算:Pavg=1T∑t=1TStP_{avg}=\frac{1}{T} \sum_{t=1}^{T} S_{t}Pavg=T1∑t=1TSt(TTT为DAG最大深度,StS_tSt为第ttt步执行的子任务数)
- 依赖复杂度计算:Cdependency=σdeg(vi)=1∣V∣∑vi∈V(deg(vi)−d‾)2C_{dependency }=\sigma_{deg\left(v_{i}\right)}=\sqrt{\frac{1}{|V|} \sum_{v_{i} \in V}\left(deg\left(v_{i}\right)-\overline{d}\right)^{2}}Cdependency=σdeg(vi)=∣V∣1∑vi∈V(deg(vi)−d)2(deg(vi)deg(v_i)deg(vi)为子任务viv_ivi的直接连接数,d‾\overline{d}d为平均连接数)
- 定理1支撑:子任务依赖增加会降低预期成功率,因此需最小化依赖复杂度
幻灯片7:FLOW框架核心设计(2/3)
3.3 初始AOV图生成流程
- 输入:任务需求(如“开发五子棋游戏”)、初始化提示词PinitP_{init}Pinit
- 生成候选AOV图:调用LLM生成KKK个候选图{G1,G2,...,GK}\{G_1,G_2,...,G_K\}{G1,G2,...,GK}
- 筛选最优图:优先选择并行度最高的图;若并行度相同,选择依赖复杂度最低的图
3.4 执行计划与智能体分配
- 拓扑排序:对AOV图进行拓扑排序,得到子任务线性执行顺序o:V→{1,2,...,∣V∣}o: V \to \{1,2,...,|V|\}o:V→{1,2,...,∣V∣},确保依赖满足
- 智能体克隆机制:若同一步骤中两个子任务需同一智能体,克隆智能体aj′a_j'aj′实现并行执行,避免等待
幻灯片8:FLOW框架核心设计(3/3)
3.5 框架实现:字典式数据结构
- 结构定义:G~[v]={"subtaskrequirement","status","data","numparentsnotcompleted","child","agent"}\tilde{G}[v] = \{"subtask requirement", "status", "data", "num_parents_not_completed", "child", "agent"\}G~[v]={"subtaskrequirement","status","data","numparentsnotcompleted","child","agent"}
- 关键字段作用:
- “num_parents_not_completed”:未完成父任务数,为0时子任务可启动
- “child”:依赖当前子任务的后续子任务列表,用于完成后更新依赖状态
- 优势:可直接转换为JSON,便于LLM读取与总结,兼顾简洁性与灵活性
幻灯片9:实验设计与结果分析(1/3)
4.1 实验设置
- 基线框架:AutoGen、CAMEL、MetaGPT
- 所用LLM:GPT-4o-mini、GPT-3.5-Turbo(OpenAI, 2024)
- 实验任务(3类复杂任务,覆盖编码与结构化生成):
- 五子棋游戏开发:需用户界面、简易AI对手,支持黑白子选择与胜负判定
- LaTeX Beamer编写:生成强化学习算法幻灯片,含动机、问题、公式等,需满足页数要求
- ICLR 2025网站设计:包含会议日程、场地地图等模块,需HTML+CSS实现
4.2 评估指标
- 成功率(定量):0-1区间,评估是否生成满足需求的可执行输出(如可编译代码、完整网站)
- 人工评分(定性):50名具备编程与ML背景的参与者,按1-4分评价输出质量(1分最差,4分最优)
幻灯片10:实验设计与结果分析(2/3)
4.3 五子棋游戏开发结果
| 框架 | 成功率(%)-可编译 | 成功率(%)-可交互 | 成功率(%)-符合规则 | 成功率(%)-总分 | 人工评分(1-4) |
|---|---|---|---|---|---|
| AutoGen | 80 | 60 | 40 | 60 | 2.26 |
| MetaGPT | 100 | 100 | 20 | 73 | 1.24 |
| CAMEL | 40 | 40 | 0 | 27 | 2.50 |
| FLOW(本文) | 100 | 100 | 100 | 100 | 4.00 |
- 关键结论:FLOW完全满足游戏功能需求,界面用图标替代文本,体验最优;MetaGPT常误生成井字棋,CAMEL无AI对手
幻灯片11:实验设计与结果分析(3/3)
4.4 LaTeX Beamer与网站设计结果
LaTeX Beamer编写
| 框架 | 成功率(%)-可编译 | 成功率(%)-内容完整 | 成功率(%)-符合页数 | 成功率(%)-总分 | 人工评分(1-4) |
|---|---|---|---|---|---|
| AutoGen | 80 | 80 | 40 | 67 | 3.00 |
| MetaGPT | 80 | 80 | 20 | 60 | 1.83 |
| CAMEL | 100 | 100 | 0 | 66 | 1.83 |
| FLOW(本文) | 100 | 100 | 100 | 100 | 3.33 |
ICLR 2025网站设计
| 框架 | 成功率(%)-可渲染 | 成功率(%)-基础信息完整 | 成功率(%)-模块齐全 | 成功率(%)-总分 | 人工评分(1-4) |
|---|---|---|---|---|---|
| AutoGen | 80 | 80 | 60 | 73 | 2.62 |
| MetaGPT | 100 | 100 | 40 | 80 | 1.72 |
| CAMEL | 80 | 80 | 0 | 53 | 2.02 |
| FLOW(本文) | 80 | 80 | 80 | 80 | 3.28 |
4.5 平均性能对比
| 框架 | 平均成功率(%) | 平均人工评分(1-4) |
|---|---|---|
| FLOW | 93 | 3.54 |
| AutoGen | 66.7 | 2.63 |
| MetaGPT | 71 | 1.60 |
| CAMEL | 48.67 | 2.12 |
幻灯片12:工作流更新机制与错误处理
5.1 动态更新流程
- 触发条件:子任务完成、失败或环境变化
- 输入:当前AOV图、子任务进度数据DtD^tDt、更新提示词PupdateP_{update}Pupdate
- 生成候选图:调用LLM生成KKK个更新候选图{G1t+1,...,GKt+1}\{G_1^{t+1},...,G_K^{t+1}\}{G1t+1,...,GKt+1}
- 筛选与更新:沿用“并行度优先+依赖复杂度次优”原则,局部调整子任务(增/删/改/重分配),不影响无关模块
5.2 更新案例(图3展示)
- 网站设计:完成“定义网站结构”后,基于生成的HTML结构动态添加“开发CSS”子任务
- 五子棋开发:检测“AI实现”子任务失败后,新增“重新实现AI”子任务替代原任务
5.3 错误处理能力测试(随机掩盖子任务输出为“none”)
| 任务 | FLOW(无更新)成功率(%) | FLOW(有更新)成功率(%) |
|---|---|---|
| 网站设计 | 46 | 87 |
| 五子棋开发 | 0 | 93 |
| LaTeX Beamer编写 | 67 | 93 |
- 结论:动态更新显著提升容错性,避免因单个子任务信息缺失导致整体失败
幻灯片13:研究结论与未来展望
6.1 主要贡献
- 模块化工作流设计:通过并行度与依赖复杂度优化,支持子任务并发执行,减少瓶颈
- 动态工作流更新:基于全局信息实现局部调整,兼顾灵活性与系统一致性
- 实验验证:在三类任务中,成功率与人工评分均显著优于现有框架
6.2 局限性
- 候选图筛选依赖LLM生成,未通过训练优化(需更多数据与计算资源)
- 全局信息依赖上下文长度,任务复杂时可能导致更新效率下降
6.3 未来工作
- 强化学习优化:训练LLM最大化“任务完成速度+资源利用率+工作流稳定性”奖励函数
- 分层更新机制:通过层级化信息管理,精准定位错误,减少上下文依赖
- 自动验证扩展:完善子任务级自动验证(如单元测试、LLM校验),进一步提升输出质量
幻灯片14:问答环节
- 标题:Q&A(感谢聆听!)
- 代码仓库:https://github.com/tmllab/2025_ICLR_FLOW
- 联系方式:[你的邮箱/联系方式]
