o1蒙特卡洛树的风又吹到了Agentic工作流!

发布于 2024-11-6 14:43
浏览
0收藏

​AFlow 是一个用于自动生成和优化Agentic工作流的框架。它使用蒙特卡洛树搜索(Monte Carlo tree search)在代码表示的工作流空间中查找有效的工作流,用机器工作取代手动开发。在各种任务上都显示出超越手工工作流的潜力,由MetaGPT开源。

AFLOW(以黄色突出显示)在所有六个基准测试中始终优于所有自动化工作流优化和手动设计的方法(IO、CoT、CoT SC、MedPrompt、MultiPersona、Self Refine、ADAS)

o1蒙特卡洛树的风又吹到了Agentic工作流!-AI.x社区

AFLOW在GSM8K上的树状迭代过程:突出显示了从初始轮次(第1轮)到表现最佳的工作流的路径,报告了每个节点的得分及其与前一个节点的修改。提示两侧的紫色部分代表了本轮迭代中的主要提示修改。


o1蒙特卡洛树的风又吹到了Agentic工作流!-AI.x社区

框架组件

节点:LLM 调用的基本单元。参考metagpt/actions/action_node.py用于控制 LLM、温度、格式和提示的灵活接口。
  • Operator:预定义 Node 组合,提升搜索效率。封装了 Generate、Format、Review、Revise、Ensemble、Test、Programmer 等常用操作。参考metagpt/ext/aflow/operator.py。支持定制自己的 Operator。
  • 工作流:通过边连接的一系列 LLM 调用节点。可以表示为图形、神经网络或代码,以表达各种执行结构。参考metagpt/ext/aflow/workflow.py。
  • 优化器:使用蒙特卡洛树搜索变体中的 LLM 来探索和优化工作流程。根据性能迭代地选择、扩展、评估和更新工作流程。参考metagpt/ext/aflow/scripts/optimizer.py。
  • 评估器:评估给定任务的工作流程绩效。提供反馈以指导优化过程实现更有效的工作流程。参考metagpt/ext/aflow/scripts/evaluator.py。

FLOW的整体框架:通过设置一个由只有提示参数灵活的节点组成的搜索空间,给定的操作符集合,以及表示边缘的代码,AFLOW在这个空间内执行基于MCTS的搜索。通过为工作流优化设计的MCTS变体,AFLOW迭代执行一个周期的软混合概率选择、基于LLM的扩展、执行评估和经验反向传播,直到达到最大迭代次数或满足收敛标准。

o1蒙特卡洛树的风又吹到了Agentic工作流!-AI.x社区

实验数据集

对六个数据集(HumanEval、MBPP、GSM8K、MATH、HotpotQA、DROP)进行了实验,并提供了它们的评估代码。

  • 经AFLOW优化的工作流平均超过所有手动设计方法5.7%,在自动化工作流优化工作中超越了19.5%。
  • 在QA、代码和数学领域的六个数据集上,AFLOW实现了平均80.3%的性能,标志着这种方法的能力和可用性。
  • 值得注意的是,与类似工作相比,AFLOW在更具挑战性的任务上表现更好,在MATHlv5*和MBPP任务上比ADAS提高了57%,展示了该模型在复杂数据集上的鲁棒性。

o1蒙特卡洛树的风又吹到了Agentic工作流!-AI.x社区


https://github.com/geekan/MetaGPT/tree/main/examples/aflow
https://arxiv.org/pdf/2410.10762
AFLOW:AUTOMATING AGENTIC WORKFLOW GENERATION

本文转载自​​PaperAgent​

收藏
回复
举报
回复
相关推荐