可“自主进化”的Agent?首个端到端的智能体符号化训练框架开源了

文摘   2024-07-24 12:10   加拿大  

Symbolic Learning Enables Self-Evolving Agents

可“自主进化”的Agent?首个端到端的智能体符号化训练框架开源了

‍‍‍‍‍





编者按:受到周老师的委托,发布一下他们近期的一项研究,和本公众号主题也很相符,是有趣的一篇文章。笔者在构建Agent系统时,发现有一点对于模型来说很重要,就是模型的contextual awareness(当然这是我现编的词),与之相对应的数据应该如何去构建,希望周老师及同僚的文章中所谓的data-centric能带给大家一些启发,也希望该框架能促进社区发展~


近日,来自波形智能的研究人员仿照连接主义训练神经网络的基本方式,把复杂的AI Agent当作符号化神经网络,使用文本和大模型建模损失函数、梯度、和优化器,模拟反向传播和梯度下降算法,建立了一套可以对AI智能体进行端到端的训练的算法框架,代码已经开源在github。


论文地址:https://arxiv.org/pdf/2406.18532

代码仓库:https://github.com/aiwaves-cn/agents


随着各类大模型API的迭代以及各类AI Agent框架的开源,基于大模型的智能体在学术界和工业界收获了广泛的关注、研究、和应用。


尽管基于大模型的智能体(AI Agent)在很多场景都取得了不错的效果,并且在一些场景下已经能够实际落地应用,AI Agent的研究和开发的进展仍然局限于“expert-centric”,或者说“engineering-centric”的范式中。也就是说,现在的Agent的创建和调优过程还是几乎完全依赖人类专家(算法工程师)的人力和经验来设计智能体的prompts, tools,和workflow。这样的过程费时费力,并且注定了无法使用海量数据对智能体的这些符号化元素进行学习和训练。而大部分智能体依赖于闭源的API调用,无法对大模型基座本身进行优化,即使使用开源大模型,对模型基座本身的优化也在大部分AI智能体的应用场景中受到资源、算力、稳定性等原因而无法实际进行。因此现在的智能体还处于“专家系统”的发展阶段。


众所周知,神经网络成为机器学习/人工智能的基础范式的重要原因正是因为可以高效地使用海量数据进行训练和优化,而不需要手工设计复杂的结构和学习算法。因此,来自波形智能的研究人员们认为,AI Agent从以专家经验为核心(expert-centric)到以数据为核心(data-centric)的转变,将会是基于大模型的智能体的一个重要发展方向。为了实现这个目标,团队借鉴连接主义训练神经网络(connectionist learning)的基本方式,即反向传播和梯度下降,将AI Agent和神经网络进行类比,通过文本和大模型的能力模拟反向传播和梯度下降中的关键元素,实现对Agent的端到端的符号化训练算法,构建了智能体符号化学习(agent symbolic learning)框架

1: Agent Symbolic Learning框架示意图

具体来说,团队首先将基于大模型的智能体解构为三个主要元素,即prompts, tools, 和agent pipeline (workflow)。接着,框架中将一个Agent系统看作是一个“符号化”神经网络,将Agent workflow中的每一个node看作是网络中的一个layer,而将每个节点中的prompts和tools看作是这个layer的weights,智能体的workflow/pipeline则可以看作是网络的计算图。这样下来,智能体系统可以看作是一个权重从数字/张量空间变成离散符号空间(文字,代码都是符号化的表示)的神经网络,而这种网络的训练自然也就可以参考传统神经网络的优化方式,即反向传播和梯度下降。


要使传统的反向传播和梯度下降能够处理符号化的权重空间,agent symbolic learning框架中通过文本和大模型+提示词的方式建模了损失,损失函数,反向传播的流程,梯度,以及基于梯度的优化器。具体来说,前向传播过程中,框架会将每一层的输入、权重、和输出都保存在计算图中。接下来,通过大模型+提示词的方式,在提示词中结合当前样本的输入,输出,和整体任务的描述,之后由大语言模型输出对当前样本任务完成情况的评价和总结。得到的文本形式的评价/总结,正如神经网络中的loss一样,用来衡量任务完成的好坏,我们将其称为“文本形式的损失”,即language-based loss


之后,我们通过大语言模型和精心设计的提示词工程,来生成智能体流程中对最后一个节点的“反思”。反思中包括模型的输出应该怎样变化才能更符合要求,以及提示词和工具调用应该如何优化才能使输出朝这样的方向发生变化。这一内容和神经网络优化中梯度的作用刚好一致,都是包含了参数应该如何调整才能最小化整个模型的损失的信息,因此我们将这样的反思称作“文本形式的梯度”,即language-based gradient


接下来,我们要做的就是从后向前,得到每一层的梯度,这对于神经网络的优化至关重要。受到神经网络中基于链式法则的公式的反向传播的启发,波形智能的研究人员通过文本和大模型,用一套精心设计的prompt来模拟了传统神经网络优化的链式法则。具体来说,这套prompts让大模型基于上一层的梯度信息(即对上一层执行任务的反思)以及本层的输入、输出、以及权重 (这些输入和反向传播公式中的参数完全对应),输出对当前节点的prompt/tool usage的反思,即当前层的language-based gradient。这样的基于文本的反向传播的方案使得我们能够得到一个包含多个节点和复杂workflow的智能体中每一节点/层的参数的梯度,也就可以直接优化每一个prompt和tool对整个智能体性能的作用,从而实现end-to-end的joint optimization


最后,得到了每组参数的language-based gradient之后,框架中使用基于大模型的optimizer,使用精心设计的prompt,以每一层的提示词和工具调用,以及基于文本的梯度作为输入,输出优化过后的prompts和tools,从而实现对智能体参数的更新。


除此之外,框架中还支持了对网络结构,即agent workflow的优化。具体来说,框架中将agent workflow以特定的编程语言进行表示,这样就将智能体网络的“计算图”也处理成了符号化的权重。之后通过一个单独设计的基于大模型的优化器,以当前智能体的工作流和工作流中的各个节点的文本形式的梯度为输入来对智能体的工作流进行更新。这在神经网络中训练中可以类比自动网络结构搜索相关的研究。


2: Agent Symbolic Learning算法流程

图3 大模型评测任务上的实验结果

4 智能体级别评测任务的实验结果

波形智能的研究人员在大模型和智能体的一系列benchmark上对该算法进行了评估,如图3和图4所示,agent symbolic learning相比DSpy和传统的没有学习能力的智能体框架相比,在各类任务上都有了明显的提升,在一些任务上甚至使用GPT-3.5也能和其他智能体框架使用GPT-4的表现类似。而简单的对智能体中每一个节点中的提示词使用局部的基于大语言模型的提示词自动优化算法(AutoPE)则无法取得很明显的效果。另外,如图5所示,该算法在创意写作任务中,从初始的只基于一个提示词进行写作的单节点智能体,自主进化到了支持写作+编辑的工作流,并且将写作节点的提示词进行了更新和优化。

5 Agent Symbolic Learning框架学习效果展示(以创意写作任务为例)


波形智能的研究团队介绍了Agent Symbolic Learning的两种应用场景。首先,该框架可以用于开发者或研究人员创建和调优智能体系统中。像神经网络的训练一样,开发者和研究人员可以对指定的任务收集(或者使用框架中提供的自动生成)大量的样本,之后使用该框架在大量数据上完成“data-centric”的智能体的训练和优化,在之后像普通智能体的部署一样,在产品生产环境中以静态的方式部署优化过后的智能体。


除此之外,该框架的另一个重要应用场景是支持能够在环境/交互中自主进化的Agent。具体来说,因为该训练框架本身只需要调用大模型的能力而不需要复杂的基于GPU的训练和部署,因此一个Agent可以将该训练框架作为其自身可以调用的一个工具,通过在环境中探索或者和人类进行交互的过程中,不断收集新的训练样本,定期或者主动调用智能体训练的算法工具,对自身的prompts, tools,和workflow进行更新。波形智能在AIWaves Agents的开源代码库中也支持了这样的部署逻辑,实现了首个可以在被部署到实际产品和生产环境中之后,依然可以不断自主进化、自我迭代的智能体系统。


Agent Symbolic Learning框架将AI Agent视作由复杂workflow中的prompts和tools连接而成的符号化“神经网络”,通过基于自然语言模拟反向传播和梯度下降,使得基于大模型的智能体可以自主对自身的“网络参数”,即prompts和tools,以及“网络结构”,即agent workflow,进行优化,从而实现了能够高效利用大量数据和经验,进行“data-centric learning”的智能体框架,让能够持续自主进化的智能体系统变成了可能。目前,该框架已经在波形智能的多个产品和应用中发挥作用,解决了Agent人工优化和评测困难的问题。为了推进“Data-centric Agent”和“Agent Learning”的发展和研究,波形智能的研究团队也将算法的全部代码开源,期待智能体领域学术界和工业界一起探索更多更有趣的算法和应用。

撰文:周王春澍;编辑:戴剑波

未经本公众号授权不得转载,欢迎转发。

SparksofAGI
人工智能前沿论文分享(注意!未关注的朋友我是回复不了您的私信的)