论文解读:通过自我规划从头开始自动代理学习

论文地址:https://arxiv.org/html/2401.05268v2

作者提出了AutoAct ,一个自动代理学习框架,它不依赖于大规模注释数据和来自闭源模型(例如 GPT-4)的合成轨迹。 鉴于工具库的数据有限, AutoAct 首先自动合成规划轨迹,无需人类或强大的闭源模型的任何帮助。 然后, AutoAct 利用 分工策略 ,根据目标任务信息和合成轨迹自动区分,产生子代理组来完成任务。 我们对不同的法学硕士进行了全面的实验,这表明 与各种强大的基线相比, AutoAct 产生了更好或并行的性能。 训练模块代码参考并改编自 FastChat ,而推理模块代码则基于 BOLAA 实现。

论文解读:通过自我规划从头开始自动代理学习

BOLAA

西蒙的有限理性原则指出 “精确的社会 分工 和明确的个人任务可以弥补个人处理和利用信息的有限能力” 。

论文解读:通过自我规划从头开始自动代理学习

AutoAct

论文解读:通过自我规划从头开始自动代理学习

AutoAct

框架AutoAct:

1、关键组件

1.1.元代理,Meta -Agent 处于我们 AutoAct 框架的中心位置。 它负责自我分化前的所有准备工作,并作为自我分化过程的骨干模型。 给定有限的目标任务信息和预先准备的工具库, 元代理 可以分化为能够协作完成目标任务的代理组。 在 AutoAct 中, 元代理 可以使用任何开源模型进行初始化。

1.2.目标任务信息,包括任务名称 、任务描述 、任务数据示例。

1.3.工具库,元代理 可以根据任务信息自主从工具库中选择合适的工具。 用户还可以根据自己的具体需求选择扩展工具库。

2、通过自学从头开始

为了获取足够数量的任务数据并提供充足的训练资源,有必要根据手头的示例来扩充数据。 我们通过自我指导来完成这个过程。 最初,数据库设置为等于任务数据示例 , 任务数据示例 作为数据生成的种子。 在每一轮中, 元代理 通过few-shot提示生成新的问答对,few-shot提示示例是来自数据库。 生成的数据将被添加到数据库然后进行过滤,在包含之前排除格式错误和重复的数据。 最终我们得到一个新的数据库。

3、通过自我规划自动代理学习

3.1.自动工具选择,元代理 自动为每个任务选择适用的工具。

3.2.轨迹合成,元代理 能够自行合成规划轨迹。

元代理 在数据库上通过“思想-行动-观察”以零样本的方式合成轨迹的格式 ,为了获得高质量的合成轨迹,过滤掉所有轨迹 <1并收集具有完全正确答案的轨迹( =1)作为自我分化的训练源。

3.3.自我差异化,利用综合规划轨迹将 元代理 分为三个具有不同功能的子代理。

计划代理 :进行任务分解并确定在每个规划循环中调用哪个工具,

工具代理:负责通过决定工具调用的参数来调用工具,

反射代理:通过考虑所有历史轨迹并提供反思结果来进行反思,

假设此时的规划循环 t可以表示为 (τt,αt,ot), 在哪里 τ表示 思想 , α表示 Action ,并且 o代表 观察,α可以进一步表示为 (αm,αp), 在哪里 αm是动作的名称,并且 αp是执行操作所需的参数。最终,假设目标任务信息提示、计划格式要求、问题综合为 S,每个子代理的职责可以定义为:τr,αr =πreflect⁢(S,s,H), τr和 αr分别代表反思过程的思想和行动, H是做完答案后的规划历史。 轨迹可以根据上述职责进行重组,并反馈送到 元代理 进行自我分化。

3.4.团体规划,任何新问题都通过子代理之间的分组规划来处理。

一旦工具名称 αtm生成的 Plan-Agent 时间被触发 t, 唤醒工具代理 来确定参数 αtp转移到特定工具。 工具的返回结果被视为观察值 ot并交给 计划代理人 。 协作 Plan-Agent 和 Tool-Agent 完成预测后, Reflect-Agent 上台反思历史,并提供反映动作中包含的反映结果 αr。 如果反思结果表明预测正确,则整个规划过程结束。 否则, Plan-Agent 和 Tool-Agent 将根据反射信息继续进行规划。

实验过程如下:

1、任务

在 HotpotQA和ScienceQA 进行了评估。

HotpotQA 是一项多跳 QA 任务,需要丰富的背景知识,其答案通常是一个简短的实体或是/否。随机抽取300个开发问题,分为三个级别进行评估,每个级别100个问题。 对于 HotpotQA 来说, ∈[0,1]定义为预测和真实答案之间的 F1 分数分级。

ScienceQA 是一项涵盖各种科学主题的多模式 QA 任务。将测试集分为三个级别,每个级别有 120 个随机抽样数据。由于 LM 在生成图像方面的局限性,对于 ScienceQA,在自指导阶段,我们直接为图像生成标题。

2、基线

2.1.CoT,朴素的思维链推理方法。

2.2.ReAct反应,基于小样本学习的单代理框架,可迭代地执行规划和行动。

2.3.Chameleon变色龙,一个在行动之前执行规划的小样本单代理框架。

2.4.Reflexion反射 ,一个通过语言反馈强化语言代理的单代理框架。

2.5.BOLAA,一个多代理框架,通过提示定制不同的代理。

2.6.FireAct,一个单代理框架

对于所有基于提示的基线,统一在提示中提供两个示例。

3、训练设置

微调框架利用 FastChat 用LoRA微调我们的所有模型,设置学习率 1e-4 和序列长度 4096,13b 和 7b 模型的训练周期为 5,70b 模型的训练周期为 3。 13b 和 7b 型号的批量大小为 4,70b 型号的批量大小为 1,使用 AdamW 优化器以及余弦学习调度器。

结果:

与基于提示的代理学习基线进行比较:13b 和 70b 模型始终优于各种基于提示的基线。 70b模型甚至超越了GPT-3.5-Turbo的代理性能, 7b模型的性能在某种程度上与其他方法相当。 因此,在迭代规划的背景下无论是在单智能体还是多智能体架构中,依赖于小样本演示的基于提示的方法都无法精确定制智能体的 FireAct 行为 。

与基于微调的代理学习基线进行比较: AutoAct 采用自分化的方式解耦了规划过程,并 在子代理之间达成了明确的分工进行分组规划 ,从而比FireAct 有所改进。AutoAct 在不依​​赖闭源模型和大规模标记数据集的情况下实现了自我规划,这为从头开始使用开源模型进行自动代理学习铺平了道路。

单代理学习与多代理学习:在相同的设置下,多智能体架构通常比单智能体表现出更好的性能( ReAct 与 BOLAA、 FireAct 与 AutoAct )。Chameleon 是单代理架构,但它的性能优于 BOLAA(甚至是 ScienceQA 上的FireAct )。 然而,我们分析这可以归因于它利用工具的方式。 在 Chameleon 中,决定工具参数的过程被视为工具调用的一种形式,并且专门设计了几次提示来指导模型完成此过程。 从这个方面来看,Chameleon 尽管名义上是单代理架构,但表现出类似于多代理架构的特征,这与我们最初的结论并不矛盾。古德哈特定律 Goodhart ( 1984 ) 指出, “当一项措施成为目标时,它就不再是一个好的措施”。 这意味着在同一代理上优化一个目标将不可避免地在一定程度上损害其他优化目标。 因此,在单个代理上优化所有目标并不是最佳选择,多代理架构恰好可以解决这个问题。 过度细粒度的 分工 并不是最好的方法,适度的分工有利于群体绩效。

点评:

AutoAct ,一种自动代理学习框架,该框架不依赖于大规模注释数据和来自闭源模型的合成轨迹,同时通过明确划分工作负载来减轻单个代理的压力,从而提高集体性能的多代理。这个想法的出现也代表了很多依赖与此场景的迫切需求,然而可以看到这个自动代理学习框架还仅仅是一个雏形,还有很多可以优化完善的地方值得深入研究验证,比如多步推理思考过程需要的具备哪些前提条件(上下文语境、思维链推理、任务规划、函数调用能力评估等等)以及哪些思考过程(多种正负反馈回路设计)。