AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


自动化设计agent系统
发布日期:2024-09-02 09:58:43 浏览次数: 1651



一、结论写在前面
论文标题:Automated Design of Agentic Systems
论文链接:https://arxiv.org/pdf/2408.08435
项目链接:https://github.com/ShengranHu/ADAS
研究人员正在投入大量精力开发强大的通用agent系统,其中基础模型作为模块嵌入agent系统中(例如,思维链、自我反思、工具前驱)。然而,机器学习的历史告诉论文,手工设计的解决方案最终会被学习解决方案所取代。论文提出一个新的研究领域,自动化设计agent系统(ADAS),旨在自动创建强大的agent系统设计,包括发明新的构建模块和/或以新的方式组合它们。    
论文进一步证明,在ADAS中存在一种未被探索但有前景的方法,即agent可以在代码中定义,并且新的agent可以通过元agent在代码中编程更好的agent来自动发现。鉴于编程语言是图灵完备的,这种方法理论上可以学习任何可能的agent系统:包括新颖的提示、工具使用、控制流程及其组合。论文提出一个简单而有效的算法,名为元agent搜索,以演示这一想法,其中元agent基于不断增长的先前发现档案迭代编程有趣的新agent。
论文的实验表明,发现的agent在性能上显著超越了最先进的手工设计基线。例如,论文的agent在DROP阅读理解任务上的Fl分数提高了13.6/100,在MGSM数学任务上的准确率提高了14.4%。此外,在跨领域迁移后,它们在GSM8K和GSM-Hard数学任务上的准确率分别提高了25.9%和13.2%。论文的算法在手工设计解决方案上的出色表现,展示了自动化设计agent系统(ADAS)的潜力。此外,实验表明,发现的agent不仅在跨相似领域迁移时表现良好,而且在跨不同领域(如从数学到阅读理解)迁移时也表现出强大的性能。这突显了由Meta Agent Search发现的agent系统的鲁棒性和可迁移性。
           

 

二、论文的简单介绍
2.1 论文的背景
尽管FMs(Foundation Models,基础模型)近期取得了进展,但可靠地解决问题通常需要一个由多个组件组成的复合agent系统,而不是单一的模型查询。此外,为了使agent能够解决复杂的现实世界任务,它们通常需要访问外部工具,如搜索引擎、代码执行和数据库查询。因此,已经提出了许多有效的agent系统构建块,如思维链规划和推理(chain-of-thought planning and reasoning)、记忆结构(memory structures)、工具使用(tool use)和自我反思(self-reflection)。尽管这些agent已经在各种应用中取得了显著成功,开发这些构建块并将它们组合成复杂的agent系统需要领域特定的手动调优和研究人员及工程师的大量努力。
然而,机器学习的历史揭示了一个反复出现的主题:随着获得更多的计算能力和数据,手动创建的人工制品逐渐被学习到的、更高效的解决方案所取代。早期的一个例子来自计算机视觉领域,其中像HOG这样的手工设计特征最终被卷积神经网络学习到的特征所取代。
在大型语言模型对齐方面,学习到的损失函数优于大多数手工设计的函数,如DPO展示了一个自动化的研究流程,包括开发新型机器学习算法;而在像OMNI-EPIC这样的工作中,可以自动生成无数的机器人学习环境,这些环境展示了令人惊讶的创造力,并且比手动方法更高效地创建环境。因此,论文提出了一个新的研究问题:论文能否自动化设计智能系统,而不是依赖于手动努力?    
图1 | 提出的算法Meta Agent Search概述及发现的agent示例。在论文的算法中,论文指导“元”agent迭代编程新agent,测试它们在任务上的性能,将它们添加到已发现agent的存档中,并利用此存档在后续迭代中指导元agent。论文展示了三次运行中的三个示例agent,所有名称均由元agent生成。
为了探讨上述研究问题,论文提出了一个名为“自动化设计agent系统(Automated Design of Agentic Systems,ADAS)”的新研究领域,旨在自动发明新颖的构建模块并设计强大的agent系统。论文认为,ADAS可能是开发强大agent的最快途径,并展示了初步证据,表明学习型agent可以显著超越手工设计的agent。考虑到agent系统中尚待发现的庞大数量的构建模块,论文的研究社区要发现所有这些模块将需要很长时间。即使论文成功发现了大部分有用的构建模块,将它们组合成适用于大规模实际应用的有效agent系统仍然是一个挑战且耗时的任务,考虑到构建模块可以以多种不同方式组合和相互作用。相比之下,通过ADAS,构建模块和agent可以以自动化方式学习。ADAS不仅有可能在开发强大agent方面节省人力,而且可能是比手工设计更快达到更有效解决方案的途径。
尽管现有的一些工作可以被视为ADAS方法,但它们大多仅专注于设计提示,这大大限制了它们在agent中创造灵活设计模式的能力。论文展示了一种未被探索但有前景的ADAS方法,即论文可以通过代码定义整个agent系统,并且新的agent可以通过一个“元”agent编程自动发现甚至在代码中编程出更好的agent。鉴于大多数编程语言,如论文在本文中使用的Python,都是图灵完备的,在代码空间内搜索理论上可以使ADAS算法发现任何可能的agent系统,包括所有组件,如提示、工具使用、控制流程等。此外,随着近期FMs在编程方面越来越熟练,论文可以将FMs用作元agent,通过代码为ADAS创建新的agent,从而实现新型agent的自动化编程。    
 遵循上述思路,本文提出Meta Agent Search作为ADAS中首批能够在代码空间完成完整设计的算法之一(图1)。Meta Agent Search的核心概念是指导一个元agent迭代地创造有趣的新agent,评估它们,将它们添加到一个存储已发现agent的档案中,并利用这个档案帮助元agent在后续迭代中创造更多有趣的新agent。类似于现有利用人类有趣性概念的开放式算法,论文鼓励元agent探索有趣(例如,新颖或有价值的)agent。为了验证所提出的方法,论文在以下方面评估了所提出的Meta Agent Search:(1)具有挑战性的ARC逻辑谜题任务,旨在测试AI系统的通用智能;(2)四个流行的阅读理解、数学、科学问题和多任务问题解决基准;(3)所发现agent向保留领域和模型的可迁移性。
             

 

2.2 论文的方法
2.2.1 新研究领域:自动化设计agent系统(ADAS)
在撰写本文时,社区尚未就agent的定义或术语达成共识。在这里,论文所说的agent指的是涉及基础模型(FMs)作为控制流中的模块,通过规划、使用工具和执行多个迭代处理步骤来解决任务的agent系统。
论文提出一个新的研究领域:自动化设计agent系统(Automated Design of Agentic Systems, ADAS)。类似于AI-GAs和AutoML中的研究领域,例如神经结构搜索(Neural Architecture Search),论文将ADAS形式化为一个优化过程,并识别出ADAS算法的三个关键组成部分(图2)。
图 2 自动化设计智能体系统(ADAS)的三个关键组成部分。搜索空间决定了在ADAS中可以表示哪些智能体系统。搜索算法规定了ADAS方法如何探索搜索空间。评估函数定义了如何根据目标指标(如性能)评估候选智能体。
公式化:自动化设计智能体系统(ADAS)涉及使用搜索算法在搜索空间中发现优化评估函数的智能体系统。
•搜索空间:搜索空间定义了在ADAS中可以表示和发现的智能体系统。例如,像PromptBreeder这样的工作仅对智能体的文本提示进行变异,而其他组件(如控制流程)保持不变。因此,在这些搜索空间中,控制流程不同于预定义的智能体无法被表示。现有工作还探索了诸如图结构和前馈网络等搜索空间。    
•搜索算法:搜索算法定义了ADAS算法如何探索搜索空间。由于搜索空间通常非常大甚至无界,因此应考虑探索-利用权衡。理想情况下,算法既能快速发现高性能的智能体系统,又能避免陷入局部最优。现有方法包括使用强化学习或FM迭代生成新解决方案作为搜索算法。
•评估函数:根据ADAS算法的应用,论文可能会考虑不同的优化目标,如性能、成本、延迟或agent的安全性。评估函数定义了如何在这些目标上评估候选agent。例如,为了评估agent在未见过的未来数据上的性能,一个简单的方法是计算其在验证数据上的准确率,这在现有工作中被广泛采用。
尽管存在许多可能的搜索空间设计,并且其中一些已经得到探索,但有一个未被探索但有前景的方法,即论文可以在代码中定义整个agent系统,并通过元agent编程自动发现代码中甚至更好的新agent。在代码空间内进行搜索理论上使ADAS算法能够发现任何可能的构建块(例如,提示、工具使用、控制流)以及以任何方式组合这些构建块的agent系统。这种方法还为agent设计模式提供了更好的可解释性,因为程序代码通常是可读的,使得调试更容易并增强了AI安全性。
此外,与使用网络或图的搜索空间相比,在代码空间中搜索使论文能够更容易地建立在现有人类努力之上。例如,可以在开源agent框架如LangChain中进行搜索,并构建于所有现有的构建块(例如,RAG、搜索引擎工具)之上。
最后,由于FM在编码方面熟练,利用代码搜索空间使论文能够在搜索过程中利用FM现有的专业知识。相比之下,在自定义搜索空间(如图)中的搜索算法可能由于缺乏这些先验知识而效率低得多。因此,论文认为应该在ADAS中更多地研究使用编程语言作为搜索空间的方法。
2.2.2. 论文的算法:元agent搜索
论文将介绍元agent搜索(Meta Agent Search),这是一个简单而有效的算法,用于展示在代码中定义和搜索agent的方法。元agent搜索的核心思想是采用功能模块(FMs)作为元agent,基于不断扩充的先前发现档案,迭代地编程出有趣的新agent。虽然理论上元agent可以从零开始编程任何可能的构建块和agent系统,但在实践中,如果不为元agent提供如FM查询API或现有工具等基本功能,效率会非常低下。因此,在本文中,论文定义了一个简单的框架(代码行数不超过100行),为元agent提供了一组基本且必要的功能,例如查询FMs或格式化提示。因此,元agent只需编程一个“前向”函数来定义一个新的agent系统,类似于FunSearch中的做法。该函数接收任务信息并输出agent对任务的响应。
如图1所示,Meta Agent Search的核心思想是让一个元agent迭代地在代码中编程新的agent。论文在下方展示了元agent编程新agent的主要提示,其中提示中的变量被突出显示。类似于利用人类对有趣性的概念的现有开放式算法,论文鼓励元agent基于不断增长的先前发现档案探索有趣的新(例如,新颖或有价值的)agent。论文还采用了自我反思迭代在论文的元agent中,它在提案的新颖性和正确性上进行两轮细化,并在运行代码时发生错误的情况下进行最多三轮的细化。提示的完整细节在附录A中展示。
新生成的agent产生后,论文使用目标领域的验证数据对其进行评估。在这里,论文计算性能(例如,成功率或F1分数)和95%的bootstrap置信区间作为元agent要最大化的指标。生成的agent连同评估指标一起添加到档案中,迭代继续进行,直到达到最大迭代次数,档案不断更新。    
2.3. 论文的效果
论文进行了广泛的实验:(1)在具有挑战性的ARC逻辑谜题任务,(2)评估agent在阅读理解、数学、科学问题和多任务问题解决能力上的四个流行基准,(3)在ARC上发现的agent对三个保留模型的可迁移性,以及(4)在数学上发现的agent对四个保留数学任务和三个非数学任务的可迁移性。
在所有实验中,论文发现发现的agent显著优于基线最先进的手工设计agent。特别地,论文在DROP(Dua et al., 2019)阅读理解任务上发现的agent比基线提高了13.6/100(F1分数),在MGSM数学任务上提高了14.4%(准确率)。
此外,在从GPT-3.5迁移到GPT4后,论文在ARC任务上发现的agent比基线提高了14%(准确率),在从MGSM数学任务迁移到GSM8K和GSM-Hard的保留数学任务后,分别提高了25.9%和13.2%(准确率)。    
图3 Meta Agent Search在ARC挑战上的结果。(a) Meta Agent Search基于不断增长的先前发现档案,逐步发现高性能agent。论文在一个保留的测试集上报告了中位准确率和95%的自助置信区间,通过五次评估agent。\mathrm{( b )} Meta Agent Search在ARC挑战上发现的最好agent的可视化。
2.3.1. 案例研究:ARC挑战
论文首先展示Meta Agent Search如何在抽象与推理语料库(ARC)挑战中发现新颖的agent系统,并超越现有的最先进手工设计的agent。该挑战旨在通过AI系统高效获取新技能的能力来评估其通用智能。ARC中的问题包括(1)展示视觉输入-输出网格模式的多个示例,(2)AI系统从示例中学习网格模式的转换规则,以及(3)给定测试输入网格模式预测输出网格模式。由于ARC中的每个问题都有独特的转换规则,它要求AI系统在少量示例中高效学习,利用数字计数、几何和拓扑学的能力。
设置。遵循常规做法,论文要求agent编写转换规则的代码,而非直接回答。论文在框架中提供了评估生成转换代码的工具函数。鉴于ARC对当前AI系统的重大挑战,论文从“公共训练集(简单)”中网格维度\leq5 \times5的问题中抽取数据。论文分别抽取了20个和60个问题的验证集和测试集,用于搜索和测试。通过在验证集和测试集上对agent进行五次评估,以减少FM随机抽样带来的方差,从而计算agent的验证和测试准确率。论文在保留的测试集上评估所有发现的agent,并在图3中报告测试准确率。元agent搜索运行25次迭代,元agent使用GPT-4,而发现的agent和基线则使用GPT-3.5进行评估,以降低计算成本。
基线方法。论文对比了五种最先进的精心设计的agent:(1) 思维链 (Chain-of-Thought, COT) ,该方法指导agent在回答前输出推理过程,通过中间步骤提高复杂问题的解决能力;(2) 带有思维链的自一致性 (Chain-of-Thought Self-Consistency, COT-SC),该方法通过集成多个来自COT的并行答案来产生更准确的答案;(3) 自我精炼 (Self-Refine),允许迭代自我反思以纠正先前尝试中的错误;(4) LLM辩论 (LLM-Debate),使不同的LLM相互辩论,利用多样化的视角寻找更好的答案;(5) 质量多样性,智能Go-Explore的简化版本,产生并集成多样化的答案以更好地探索潜在解决方案。论文还将所有基线作为初始种子存档用于元agent搜索。    
结果与分析。如图 38 所示,元agent搜索有效地、逐步地发现了性能优于最先进手工设计基线的agent。重要的突破在文本框中突出显示。正如先前关于开放性和AI-GAs的工作中所强调的,元agent搜索基于不断增长的先前垫脚石档案进行创新。例如,在迭代 3 中出现了一个重要的设计模式,它使用多个COTs生成可能的答案,对其进行细化,并最终将最佳答案进行集成。这成为后续设计倾向于利用的关键垫脚石。
此外,最佳发现的agent如图 3 所示,其中采用了复杂的反馈机制以更有效地细化答案。仔细观察搜索进度揭示了这种复杂的反馈机制并非突然出现。相反,整合多样反馈的想法、针对各种特定特质(通过专家)如效率和简单性进行评估,以及模拟人类般的反馈的想法分别在迭代 5、11 和 12 中出现。最终机制是基于这三个垫脚石的创新。这表明,尽管这些垫脚石在出现时并未立即实现高性能,但后来的发现通过结合不同的垫脚石而受益,类似于通过LLMs进行的进化中的交叉。总的来说,这些结果展示了ADAS的潜力以及元agent搜索逐步发现超越最先进手工设计基线的agent并通过创新和组合各种垫脚石发明新颖设计模式的有效性。
2.3.2. 推理与问题解决领域
设置。接下来,论文研究论文的算法在数学、阅读和推理领域提升agent能力的潜力。论文在四个流行的基准上测试元agent搜索:(1)DROP用于评估阅读理解;(2)MGSM用于评估数学能力在多语言环境下的表现;(3) MMLU用于评估多任务问题解决能力;以及 ( 4 ) GPQA用于评估解决科学领域(研究生水平)难题的能力。每个领域的搜索是独立进行的。Meta Agent Search 运行了30次迭代。元agent使用GPT-4,而发现的agent和基准则使用GPT-3.5 进行评估。
   
表1 | Meta Agent Search 与多个领域内的最先进手工设计agent的性能比较。Meta Agent Search 在每个领域都发现了优于基准的agent。论文报告了在保留测试集上的测试准确率和95%的bootstrap置信区间。每个领域的搜索是独立进行的。
基准线。由于上述领域需要强大的推理技能,论文还包括了两个专注于增强agent推理能力的额外基准线,以便进行更彻底的比较:(1) 退一步抽象,该方法指导agent首先考虑解决任务所涉及的原理以进行更好的推理;(2) 角色分配,该方法类似于Xu et al. (2023),为FM分配不同的角色以获得更好的答案。
结果与分析。在多个领域的实验结果表明,Meta Agent Search能够发现超越最先进手工设计agent的agent(表1)。论文特别强调在阅读理解和数学领域,学习agent与手工设计agent之间存在显著差距,F1分数分别提高了13.6/100和准确率提高了14.4%。尽管Meta Agent Search在多任务和科学领域也优于基线,但差距较小。论文假设,对于科学和多任务领域中的难题,基础模型(FMs)中的知识不足以解决这些问题,从而限制了通过优化agent系统带来的改进,这一问题将随着FMs的改进而减少。
相反,在阅读理解和数学领域,FMs拥有足够知识来解决问题,错误主要可能是幻觉或计算错误,这些可以通过精心设计的agent系统来缓解,例如Meta Agent Search发现的那些系统。总体而言,跨不同领域的结果展示了Meta Agent Search在搜索特定领域定制agent方面的有效性。随着论文继续为多样化的应用创建agent,这可能会越来越有助于节省人力并开发更好的任务特定agent。
2.3.3. 泛化性与可迁移性
表2 | 将GPT-3.5上的顶级agent迁移至其他FMs时的ARC性能。Meta Agent Search发现的agent在不同模型中始终优于基线。论文报告了测试准确率和95%的Bootstrap置信区间。顶级agent的名称由Meta Agent Search生成。论文手动更改了这个名称,因为原始生成的名称令人困惑。    
在前面的章节中,论文说明了Meta Agent Search能够为单个任务找到有效的agent。这里论文将进一步展示所发现agent的可迁移性和泛化能力。为了证明所发明的构建模块和设计模式具有泛化性,论文进行了关于所发现agent迁移能力的实验。
基础模型间的迁移性。论文首先将从GPT-3.5发现的agent迁移到ARC上的其他基础模型(FMs),以测试在使用一个基础模型进行Meta Agent Search时发现的agent是否能泛化到其他模型。论文测试了在GPT-3.5上评估的ARC测试准确率最高的3个agent,然后将它们迁移到三个流行的模型:Claude-Haiku、GPT-4和Claude-Sonnet。论文采用了与ARC和MGSM中使用的相同的基线。如表2所示,论文观察到搜索到的agent始终显著优于手工设计的agent,差距显著。值得注意的是,论文发现Anthropic中最强大的模型Claude-Sonnet在所有测试模型中表现最佳,使得论文的最佳agent在ARC上达到了近50%的准确率。
跨域迁移性。接下来,论文将从MGSM(数学)领域发现的agent迁移到其他数学领域,以测试发明的agent是否能在不同领域间泛化。同样地,论文测试了MGSM中表现最好的前3个agent,并将它们迁移到(1)四个流行的数学领域:GSM8K,GSM-Hard,SVAMP,和ASDiv)以及(2)三个非数学领域。如表3所示,论文观察到Meta Agent Search在性能上相对于基线具有类似的优越性。值得注意的是,与基线相比,论文的agent在GSM8K和GSM-Hard上的准确率分别提高了25.9%和13.2%。
论文观察到在数学领域发现的agent可以迁移到非数学领域(表4)。虽然最初在数学领域搜索的agent的性能并未完全匹配为特定目标领域设计的agent,但它们在阅读理解和多任务中仍然优于(或匹配)最先进的由人工设计的agent基线。这些结果表明,Meta Agent Search能够发现可泛化的设计模式和agent系统。
表3 | 将MGSM的顶级agent迁移到其他数学领域时的性能。由Meta Agent Search发现的agent在不同数学领域中始终优于基线。论文报告了测试准确率和95%的bootstrap置信区间。顶级agent的名称由Meta Agent Search生成。    
               

 

表 4 将数学(MGSM)领域顶级agent迁移到非数学领域时的多领域性能。数学领域中由元agent搜索发现的agent在迁移到数学以外的领域后,其性能可以超越或匹配基准。论文报告了测试准确率和95%的bootstrap置信区间。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询