新智元报道
编辑:alan 好困
近日,来自 CAMEL AI、KAUST、CMU、斯坦福、清华等高校和机构的研究人员推出了一个跨平台的多模态智能体基准测试,全面覆盖了 Agent 系统的真实工作场景。
生成式人工智能取得更快进展的一个障碍是评估。 ——吴恩达
假如你目前正在使用和研究类似 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,下表给出了其中一部分结果:
参考资料:
https://github.com/camel-ai/crab