1. Introduction(介绍)
在深度学习和人工智能领域,大型语言模型(LLMs)的发展展现了处理复杂任务的巨大潜力,涵盖代码生成、数据分析、决策制定、问答系统等多个领域。然而,这些模型的强大性能主要依赖于人工设计的“代理工作流”(agentic workflows),即由多步骤的LLM调用以及详细指令组成的结构化序列。设计和优化这些工作流需要大量的人力工作,这在一定程度上限制了LLMs在新领域中的扩展性和适应性,也影响了它们跨任务的迁移能力。
为了解决这一问题,近年有许多研究致力于自动化发现有效的工作流,以减少对人类干预的依赖。这些研究已经在工作流生成和优化方面取得了一定进展,但尚未实现完全自动化。例如,Khattab等人的工作需要手动设置工作流,而Yüksekgönül等人的方法也未能充分捕获多样化的工作流结构。因此,现有方法在应对广泛任务时,仍然存在局限性。
为应对这些挑战,本论文重新定义了工作流优化问题,将其建模为对代码表示的工作流进行搜索的任务。具体来说,LLM节点通过边连接构成的图结构,描述了工作流中的操作步骤及其依赖关系。本文提出了一种基于蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)的框架,称为AFLOW。该框架通过代码修改、树结构的经验积累及执行反馈,迭代优化工作流。实验表明,AFLOW在六个基准数据集上表现优异,相较于现有技术提升了平均5.7%的性能。
此外,AFLOW还展示了其显著的成本效益优势:在某些任务上,AFLOW可以让较小的模型在4.55%的推理成本下超越GPT-4的性能。这表明AFLOW在提高模型效能和降低推理成本方面具有广阔的应用前景。研究者还承诺代码将开源于GitHub平台,为未来的研究提供便利。
这一部分主要介绍了大语言模型在复杂任务解决中的局限性,以及AFLOW框架如何通过自动化生成工作流来解决这些问题,同时还强调了AFLOW在多个基准测试中的性能提升和成本优势。
2. Related Work(相关工作)
在这一部分,论文回顾了与自动化工作流生成和优化相关的研究,主要涵盖以下三个领域:
1. 代理工作流(Agentic Workflow)
代理工作流和自主代理(autonomous agents)是大语言模型应用的两种不同范式。代理工作流通过预定义的多步骤过程完成任务,而自主代理则通过动态决策解决问题。相比之下,代理工作流可以基于现有的人类领域经验和迭代改进,提供更高效的自动化构建潜力。
代理工作流可分为通用工作流和领域特定工作流。通用工作流关注广泛的任务解决策略,如Chain-of-Thought(CoT)推理方法、Self-Consistency自一致性等,而领域特定工作流则专注于解决特定领域问题,如代码生成、数据分析、数学解题和问答系统等。尽管已有研究发现了一些有效的工作流,但在应对各个领域任务的多样性时,仍然无法穷尽所有可能的工作流,这突显了自动化生成和优化工作流的重要性。
2. 自动化代理优化(Automated Agentic Optimization)
近年来,自动化设计代理工作流的研究取得了一定进展,主要分为以下三种类型:
- 提示优化(Prompt Optimization):通过优化固定工作流中的提示,提升模型性能。这类方法虽然提升了性能,但由于其一般性和固定性,难以广泛推广到新任务,且需要一定的人类干预。
- 超参数优化(Hyperparameter Optimization):通过调整预定义的参数,如温度参数或模型的其他配置,进一步优化工作流的表现。
- 自动化工作流优化(Automated Workflow Optimization):这类方法直接优化整个工作流结构,自动生成新的工作流。在这一领域,GPTSwarm等方法使用图结构和强化学习来表示工作流,但在处理具有条件状态的工作流时存在局限。ADAS方法通过代码表示工作流,使用线性列表结构存储历史工作流,虽然与本文的目标相近,但其搜索算法效率较低,难以在有限迭代次数内生成有效的工作流。
3. AFLOW的独特贡献
与现有的自动化工作流优化方法相比,AFLOW采用了基于代码的节点和边来表示工作流,并提出了命名节点(named node)这一基础结构,涵盖了多种LLM调用参数,从而实现了更详细的工作流表示。此外,AFLOW还引入了**操作符(Operators)**的概念,作为构建工作流的基础单元,包含生成节点、审阅节点、修订节点等操作符,使得搜索空间更加高效。
AFLOW通过蒙特卡洛树搜索(MCTS)算法,结合树结构的经验积累和执行反馈,有效地发现和优化了工作流。与之前的方法不同,AFLOW能够更精确地存储和复用成功的工作流结构,避免失败路径,并通过特殊的选择机制防止陷入局部最优,从而在较大的搜索空间中进行高效探索。
本章节综述了现有工作流自动化生成和优化领域的研究现状,指出了它们的局限性,并突出了AFLOW的创新点,如使用代码表示节点和边、引入操作符,以及通过蒙特卡洛树搜索进行工作流的优化探索。
3. Preliminary(预备知识)
在本节中,论文对AFLOW框架中的一些基本概念进行了定义和说明,包括工作流的结构、问题的定义以及工作流优化中的关键元素。这一部分为理解AFLOW的操作机制奠定了基础。
3.1 Agentic Workflow(代理工作流)
AFLOW将工作流定义为由多个LLM节点(nodes)和边(edges)连接的结构。这些节点代表了大语言模型在工作流中的具体操作,而边则定义了节点之间的执行顺序和逻辑关系。一个代理工作流 ( W ) 被表示为一组LLM调用节点的序列 ( N = {N_1, N_2, \dots, N_i} ),每个节点 ( N_i ) 都具有以下几个参数:
- 模型(Model, M):在节点 ( N_i ) 调用的具体语言模型。
- 提示(Prompt, P):为每个节点提供的输入或任务描述。
- 温度参数(Temperature, τ):控制LLM在节点 ( N_i ) 输出的随机性。
- 输出格式(Output Format, F):定义模型输出的格式,如XML、JSON、Markdown或原始文本。
这些节点之间通过边 ( E ) 进行连接,边表示了工作流中各节点之间的逻辑关系、执行顺序和依赖关系。边可以表示以下几种结构:
- 图结构(Graph):用于表示层次结构、顺序或并行执行的关系。
- 神经网络(Neural Network):允许表示复杂的非线性关系,使得工作流可以根据输入和反馈进行自适应调整。
- 代码结构(Code):通过编程逻辑(如循环、条件判断等)来精确控制工作流的执行。
3.2 Automated Workflow Optimization(自动化工作流优化)
AFLOW将工作流优化问题形式化为一个搜索问题,目的是发现能够最大化任务表现的最佳工作流。在给定任务 ( T ) 和评估函数 ( G ) 的情况下,工作流优化的目标是找到一个工作流 ( W ),使得 ( G(W, T) ) 达到最大值。这可以被看作是一个算法 ( A ) 在搜索空间 ( S ) 中探索的过程,最终找到最优的工作流配置。工作流优化问题的公式为:
其中,搜索空间 ( S ) 包含所有可能的节点参数配置和边结构。
3.3 AFLOW框架的关键设计(Design Considerations of AFLOW)
AFLOW框架通过一系列设计改进了工作流的搜索和优化过程:
6. Conclusion(结论)
本论文提出了一个新颖的框架 AFLOW,用于自动化生成和优化代理工作流,以应对当前大语言模型(LLMs)在解决复杂任务时对手工设计工作流的依赖问题。AFLOW通过将工作流表示为代码节点和边的结构,结合 蒙特卡洛树搜索(MCTS),实现了对多领域任务的自动化工作流生成和优化,显著减少了人工干预。
主要贡献
- 问题形式化(Problem Formulation)
:AFLOW通过将工作流优化问题形式化,统一了过去的工作流优化方法,提供了一个系统化的框架,适用于多种不同的任务。
- AFLOW框架(AFLOW Framework)
:提出了一个基于MCTS的自动化工作流优化方法,能够跨领域自动发现和优化有效的工作流,且极大降低了人类干预的必要性。
- 广泛的评估(Extensive Evaluation)
:通过在六个基准数据集上的实验,AFLOW不仅在性能上超越了手工设计的工作流方法,还比现有自动化方法有了显著提升,平均提高了5.7%的准确率。此外,AFLOW生成的工作流还能让较小模型在推理成本远低于大型模型(如GPT-4)的情况下取得更高的性能,显示出其优异的成本效益。
未来工作
AFLOW虽然在多个基准任务上表现出色,但仍有一些未来研究方向值得探索:
- 扩展AFLOW的应用场景:未来的研究可以扩展AFLOW在更多复杂任务和领域中的应用,如长文本生成、复杂决策任务等。
- 提高搜索效率:尽管AFLOW已经表现出较高的搜索效率,未来可以通过引入更多优化算法来进一步减少搜索时间和计算成本。
- 自适应优化:可以探索在更复杂和动态的环境下,自适应优化工作流的可能性,使AFLOW在不断变化的任务中能够实时调整工作流结构。
结论:
AFLOW框架通过自动化生成和优化工作流,展示了在减少人类干预的同时提高任务解决性能的潜力。通过系统化的设计和广泛的实验证明,AFLOW能够有效应对复杂任务,极大提高了LLMs的扩展性和通用性,并在实际应用中提供了高性价比的解决方案。