假如你目前正在使用和研究类似CAMEL的多智能体系统,现在已经有了扮演研究者的Agent和负责写论文的Agent,再添加一个事实核查Agent会改善结果吗?
如果无法有效评估这种更改的影响,就很难确定前进的方向。
当然,从另一个角度来说,有一个令人信服的基准测试用来给大家刷分也是很重要的(狗头)。
近日,来自CAMEL AI、KAUST、清华等高校和机构的研究人员推出了一个跨平台的多模态智能体基准测试——CRAB。
值得一提的是,CAMEL AI团队最早做出了基于大语言模型的多智能体开源项目:https://www.camel-ai.org/、https://github.com/camel-ai/camel。
论文地址:https://arxiv.org/abs/2407.01511
这个Benchmark涉及当前AI应用的几个重点:多模态、多智能体和跨平台。
多模态能力就不用说了,毕竟是现实需求。
而多智能体系统则能够更好的为人类服务,解决更佳复杂的任务。
对于跨平台,可以举个例子:比如用手机拍完照片,然后发到电脑上P图,这就需要跨越了两种操作系统(平台)。
所以,多模态、多智能体和跨平台,是当下AI打工人能够完成真实场景下的复杂任务所必备的能力。
上图展示了CRAB的总体架构,同时也是多智能体系统基准测试的工作流程。
通过将指令分配给基准测试系统内的主Agent和图评估器,来初始化任务。
工作流是一个循环:主Agent观察、计划和指示子Agent,子Agent在各自的平台中执行操作。
图评估器监控平台中任务的状态,在整个工作流中不断更新和输出任务完成指标。
总的来说,CRAB是一个与现实世界情况密切相关的基准测试,能够更准确地反映多智能体系统在复杂任务中的表现。
那么,在这种要求甚高的测试中,最强大的一些模型能考多少分呢?
——答:全班第一考了35.26分(CR指的是完成率)。
其实还行,毕竟是突击考试。而现在靶子已经画好了,可以期待今后的模型或者AI系统进化出更贴近现实的能力。
跨平台多模态智能体评估
Crab提供了一个全面的交互式的任务评估框架,Agent需要在各种设备和平台上同时运行,满足在不同系统中高效完成任务的条件。
作者提出了一种称为图评估器的新型评估方法,与传统的基于目标或者轨迹的方法不同,图评估器通过检查完成任务的中间过程将任务分解为多个子目标。
每个子目标都被分配了一个判断函数来验证其完整性,并且每个节点都被视为图评估器中的一个节点。
图结构描述了子目标之间的顺序和并行关系,因此提供了细粒度的指标,同时又适应多种解决方案。
上表将Crab与现有框架进行了比较,包括测试涉及的几项关键能力:
Interactive Environment区分是使用交互式平台还是静态数据集;
Multimodal Observation指定了基于视觉的观察(例如屏幕截图)的可用性;
Cross-platform表示支持多个操作系统或平台;
Evaluation描述了评估指标,分为基于目标(仅根据最终目标检查平台状态)、基于轨迹(将Agent操作轨迹与标准操作序列进行比较)、多重(因任务而异)或基于图(每个节点作为中间检查点的 DAG);
Task Construction展示了任务构建方法,包括人工制作、LLM启发(比如LLM生成任务草稿,但由人工验证和注释)、模板(填写任务模板中的空白)或子任务组合(组成多个子任务以构建任务和评估器)。
基于Crab框架,作者开发了一个基准测试Crab Benchmark-v0,支持Android环境和Ubuntu环境。
基准测试总共包含100个真实世界的任务,包括跨平台和单平台跨多个难度级别的任务。
任务涉及各种常见问题,以及实际应用程序和工具,包括但不限于日历、电子邮件、地图、网络浏览器、和终端,以及智能手机和台式机之间的常见交互。
框架
假设Agent在数字设备(比如台式机)上自主执行任务。这种设备通常有输入设备(鼠标和键盘)用于人机交互,以及输出设备(屏幕)来允许人类观察其状态。
作者将这种类型的设备表示为一个平台。在形式上可以定义为一个无奖励的部分可观测马尔可夫决策过程(POMDP),用元组M:=(S,A,T,O)表示。
其中S表示状态空间,A表示动作空间,T:S×A→S是转移函数,O是观测空间。
考虑到现实场景中多个设备的协作性质,可以将多个平台组合成一个集合M=M1,M2,...,Mn,其中n是平台的数量,每个平台Mj=(Sj,Aj,Tj,Oj)。
定义一个需要跨多个平台操作的任务,该任务被形式化为一个元组(M,I,R),其中M是平台集合,I是以自然语言指令的形式表示的任务目标,R是任务的奖励函数。
系统中的Agent使用预定义的系统提示、并保留其对话历史记录。
Agent系统由负责规划、推理和执行操作的单个Agent组成,或者由多个Agent进行协作。
把复杂任务分解为多个更简单的子任务,是让Agent系统能够更加精准的完成复杂任务的方法之一。
研究人员将这一概念引入基准测试领域,将复杂任务分解为具有顺序和并行连接的子任务,也就是上图中的分解任务图(GDT)。
GDT提供了一种新的任务分解方法:用DAG结构表示分解后的子任务。在GDT中,每个节点都是一个子任务,形式化为一个元组(m,i,r),其中m指定了执行子任务的平台,i提供了自然语言指令,r表示奖励函数。
这个函数评估m的状态并输出一个布尔值,以确定子任务是否完成。GDT中的边表示子任务之间的顺序关系。
跨平台
与单一平台任务相比,跨平台任务有三个主要优势:
首先,跨平台任务反映了现实世界场景,人类同时使用多个设备来完成任务。
其次,这些任务需要在平台之间进行复杂的消息处理和信息传递,要求Agent规划行动、为每个平台构建输出,并记住需要传递的内容,从而展示出对现实世界的高层次理解,和解决复杂任务的能力。
最后,多Agent系统被证明在执行复杂任务时更加有效,而跨平台任务非常适合多Agent系统,因为它们可以通过每个平台中不同的观测空间、行动空间和专门知识进行划分。
Crab使用统一接口允许Agent在所有平台中操作。作者通过名称、所属平台、功能的具体描述和参数来定义一个动作。
Agent必须在每个回合提供动作名称、参数和目标平台。Crab将动作转换为相应的功能,并通过网络将其路由到物理或虚拟设备。
图评估器
为了评估大语言模型作为Agent的能力,大多数基准测试仅基于Agent操作后平台的最终状态来评估Agent。
只判断最终目标是成功还是失败,显然不够公平,就像大题不会做,但写个解是应该给分的。
另一种方法是基于轨迹匹配,将Agent的操作与每个任务的预定义标准操作序列进行比较。
然而,在现实世界系统中,任务可能有多条有效的执行路径,比如复制文件可以使用文件管理器,也可以使用命令行。
评估指标
所以本文采用了与平台状态同步的图评估器,通过子任务完成的当前状态来跟踪Agent的进度。
除了传统的成功率(SR),只有在所有子任务都完成时才将任务标记为成功,作者还引入了三个指标,衡量Agent的性能和效率:
完成率(CR)测量完成子任务节点数的比例,计算方式为C/N,其中C是已完成节点的数量,N是总节点数。该指标直观地反映了Agent在给定任务上的进展情况。
执行效率(EE)计算为CR/A,其中A表示执行的动作次数,反映了Agent的任务执行效率。
成本效率(CE)计算为CR/T,其中T是Agent使用的总token数,评估了Agent消耗资源的效率。
实验
要在Crab Benchmark-v0中运行,多模态模型需要支持:
(1)接受多模态混合输入,系统同时提供屏幕截图和文本指令作为提示;
(2)处理多轮对话,大多数任务需要Agent执行多个操作,必须在上下文中存储历史消息;
(3)通过函数调用生成结构化输出。
实验选择了四种满足这些标准的多模态模型:GPT-4o、GPT-4 Turbo、Gemini 1.5 Pro和Claude 3 Opus,下表给出了其中一部分结果: