Agent Symbolic Learning:首个实现 AI 自主进化的端到端符号化训练框架
随着大型语言模型(LLMs)的兴起和 AI Agent 框架的开源,基于这些强大模型的智能体在学术界和工业界受到了极大的关注,并在多个场景中取得了显著的成果。然而,尽管 AI Agent 在一些应用中已经落地,其研究和开发仍然主要依赖于'专家中心'或'工程中心'的模式。这意味着智能体的创建和优化过程主要依靠算法工程师的专业知识和经验来设计其提示词(prompts)、工具(tools)和工作流程(workflow)。这种方法不仅耗时耗力,而且难以利用大规模数据对智能体的符号化元素进行有效的学习和训练。
此外,许多智能体依赖于闭源 API,无法对底层的大型模型进行优化。即使使用开源模型,由于资源、算力和稳定性的限制,对模型本身的优化也往往难以实施。因此,当前的智能体技术仍处于'专家系统'的发展阶段。
从专家中心到数据中心
众所周知,神经网络之所以成为机器学习和人工智能领域的基础范式,是因为它们能够高效地利用大量数据进行训练和优化,而无需手工设计复杂的结构和学习算法。正是这种从'专家中心'向'数据中心'的转变,使得神经网络技术得以快速发展并广泛应用于各种任务。
AI Agent 领域也需要经历类似的转变。研究团队借鉴了神经网络的连接主义学习方法,特别是反向传播和梯度下降算法。他们将 AI Agent 视为一个'符号化'的神经网络,其中智能体的工作流程相当于神经网络的计算图,每个节点(node)相当于网络中的层(layer),而节点中的提示词和工具则相当于层中的权重。通过这种类比,构建了 Agent Symbolic Learning 框架,该框架使用自然语言和大型语言模型来模拟损失函数、梯度和优化器,并实现了一种端到端的符号化训练算法。

核心机制详解
1. 符号化神经网络的构建
这个创新方法的核心是将基于大型语言模型的智能体转化为一个可以通过符号学习自我优化的系统。这个过程涉及到将智能体的各个组成部分重新构想为神经网络的类似物,从而允许智能体模仿传统神经网络的训练过程。
首先,团队将智能体分解为三个核心元素:提示(prompts)、工具(tools)和智能体的工作流程(agent pipeline)。智能体的每个节点,相当于神经网络中的层,而每个节点中使用的提示和工具,相当于神经网络层中的权重。这样,智能体的工作流程可以类比为神经网络的计算图,指导数据通过一系列处理步骤。
在这个框架下,智能体系统被视为一个'符号化'的神经网络。这里的'符号化'指的是权重由传统的数值张量转换为自然语言形式的表达,使得权重、损失函数和梯度以自然语言的形式存在。这种转换使得智能体能够使用语言提示来优化其行为和输出,就像神经网络通过数值权重进行学习一样。
2. 符号化反向传播与梯度下降
符号学习框架的核心在于模仿连接主义学习中的关键算法——反向传播和梯度下降。在传统的神经网络中,这些算法通过计算损失相对于权重的梯度来更新权重,以减少预测误差。这就像是给智能代理一个反馈循环,让它们知道自己在执行任务时的表现,并根据这些反馈来调整自己的工作方式。
在符号学习框架中,智能体使用自然语言形式的梯度来更新其提示和工具,从而优化整个智能体系统的性能。例如,如果智能代理在回答问题时给出了不太准确的答案,符号学习框架会帮助它理解哪里做得不够好,并自动调整它的'工作手册',以便下次做得更好。这个过程不需要人类干预,智能代理可以独立学习和进步。
具体流程
前向传播阶段 在前向传播阶段,智能体执行任务,同时记录下每个节点的输入、输出、提示词和工具使用情况,这些信息被存储在所谓的'轨迹'(Trajectory)中。随后,利用大型语言模型和精心设计的提示词,智能体对任务完成情况进行评估,生成所谓的'语言损失'(Language Loss),这是一种文本形式的损失函数,用于衡量智能体的表现与预期目标之间的差距。
反向传播阶段 接下来,智能体利用语言损失进行反向传播。这个过程模拟了神经网络中基于链式法则的梯度计算,通过一系列精心设计的提示词,智能体能够生成对每个节点的'语言梯度'(Language Gradients)。好理解一点就是生成智能体流程中对最后一个节点的反思。这些语言梯度类似于传统神经网络中的梯度,它们提供了如何调整提示词和工具以最小化整体损失的反馈。
参数更新阶段 最后,智能体根据这些语言梯度更新每个节点中的提示词和工具。这一过程通过'符号优化器'(Symbolic Optimizers)完成,这些优化器是专门设计的提示词,是基于链式法则的公式的反向传播的启发设计出来的一套 Prompt,来模拟传统神经网络优化的链式法则,这套 Prompt 能够针对智能体的符号权重进行优化。这包括针对提示词的 PromptOptimizer、针对工具的 ToolOptimizer,输出优化过后的 prompts 和 tools,从而实现对智能体参数的更新。




