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,从而实现对智能体参数的更新。
此外还有针对整个智能体工作流程的 PipelineOptimizer,即 agent workflow 的优化。具体来说就是通过将工作流程用特定的编程语言表示,智能体的计算图也变成了符号化的权重。然后,使用一个单独的优化器,根据当前智能体的工作流和节点的语言梯度来更新工作流程,这在神经网络训练中类似于自动网络结构搜索的研究。
测评表现
根据提供的文件内容,Agent Symbolic Learning 框架在大模型评测任务和智能体级别评测任务上的实验结果如下:
大模型评测任务(LLM Benchmarks)
- HotPotQA: 该任务是一个多跳问题回答任务,需要丰富的背景知识。Agent Symbolic Learning 框架在这个任务上的表现超过了所有比较的方法,包括 GPT-3.5、GPT-4、以及使用自动提示工程优化的智能体(Agents with AutoPE)和 DSPy 方法。
- MATH: 包含具有挑战性的数学竞赛问题。在这个任务上,Agent Symbolic Learning 框架的性能提升尤其显著,相比其他方法有大幅度的领先。
- HumanEval: 需要 LLM 或智能体从文档字符串合成程序。Agent Symbolic Learning 框架同样在这个任务上展现了优越的性能。
具体的性能提升表现在,Agent Symbolic Learning 框架在 HotPotQA 和 MATH 任务上的得分分别为 35/44.8 和 41/54.0,而在 HumanEval 任务上的得分为 85.8,均高于其他比较的基线方法。

智能体级别评测任务(Complex Agent Tasks)
- 创意写作任务(Creative Writing): 智能体需要根据给定的四个随机句子写出一个连贯的四段文章,每段的结尾分别是这四个输入句子。Agent Symbolic Learning 框架在这项任务上的表现显著优于基线方法,包括 GPTs、Agents 以及使用自动提示工程优化的智能体(Agents with AutoPE),甚至超过了树状思维(Tree of Thoughts)方法。

- 软件开发任务(Software Development): 智能体需要根据简单的产品需求文档(PRD)开发可执行的软件。Agent Symbolic Learning 框架在这项任务上同样展现了出色的性能,与基线方法相比,能够生成更高质量的软件。
在软件开发任务中,Agent Symbolic Learning 框架在多个游戏开发子任务上的平均得分为 3.8,远高于 GPTs 和 Agents 方法的平均得分 1.6 和 2.4。

应用场景
Agent Symbolic Learning 框架通过联合优化智能体系统中的所有符号组件,包括提示词、工具和智能体的工作流程,能够显著提升智能体在不同任务上的性能。实验结果表明,该框架不仅在传统的语言模型评测任务上表现出色,更能在复杂的智能体任务中实现有效的优化和自我进化,从而推动了从模型为中心到数据为中心的智能体研究的重要一步。
场景一:智能体的创建和调优
在第一种应用场景中,开发者和研究人员可以利用 Agent Symbolic Learning 框架进行智能体的创建和调优。这个过程类似于训练神经网络:首先,针对特定的任务收集大量的样本数据;然后,使用 Agent Symbolic Learning 框架在这些数据上训练和优化智能体。与传统的神经网络训练相似,这个过程需要大量的计算资源和数据。一旦训练完成,智能体就可以被部署到生产环境中,以静态的方式执行其任务。
场景二:支持自主进化的智能体
第二种应用场景则更加先进,它允许智能体在实际环境或交互中自主进化。Agent Symbolic Learning 框架的这一应用得益于其对大型语言模型的调用能力,它不需要复杂的基于 GPU 的训练和部署过程。这意味着,智能体可以将 Agent Symbolic Learning 框架作为一个工具,集成到自身的工作流程中。在与环境的探索或与人类的交互过程中,智能体可以不断收集新的训练样本,并主动调用 Agent Symbolic Learning 框架进行自我更新,优化其 prompts、tools 和 workflow。
技术挑战与未来展望
尽管 Agent Symbolic Learning 框架展示了巨大的潜力,但在实际落地过程中仍面临一些技术挑战。
- 推理成本: 由于训练过程依赖于多次调用大语言模型来生成损失、梯度和优化指令,这可能导致较高的推理成本和延迟。未来的研究方向可能包括蒸馏技术,将部分符号优化逻辑压缩到更小的模型中。
- 稳定性: 自然语言作为梯度的载体,其语义的模糊性可能导致优化过程中的不稳定性。如何定义更精确的自然语言损失函数和梯度度量标准是亟待解决的问题。
- 安全性: 自主进化的智能体可能会产生不可预知的行为。建立安全护栏和监控机制,确保智能体在进化过程中始终遵循预设的安全约束至关重要。
为了进一步推动'数据为中心的智能体'(Data-centric Agent)和'智能体学习'(Agent Learning)的发展,相关研究团队选择将 Agent Symbolic Learning 框架的全部代码开源,鼓励更多的研究者和开发者参与到这一领域的探索中来。通过开源合作,期待与各界共同发掘更多创新的算法和应用,推动智能体技术的进步和普及。
代码仓库:https://github.com/aiwaves-cn/agents
论文地址:https://arxiv.org/pdf/2406.18532
总 Agent Symbolic Learning 框架的提出和开源,标志着智能体技术向自主学习和进化迈出了重要的一步。通过这种符号学习框架,智能体不仅能够从数据中学习,还能够在被创建和部署后自我进化,成为'自进化智能体'。这一框架不仅为智能体的创建和优化提供了新的方法,也为智能体在实际应用中的持续进化和自我完善提供了可能,预示着智能体技术未来的发展方向。

