https://arxiv.org/abs/2406.01014
论文标题: Mobile-Agent-v2: A Multi-Agent Framework for Enhanced Mobile Device Operation Assistance
研究方向: 多模态大语言模型(MLLMs)在移动设备操作任务中的应用,通过多智能体架构提升导航效率和任务完成率。
通过借鉴Mobile-Agent-v2的多智能体协作框架和关键设计思想,您可以在多模态AI应用的移动设备操作任务中实现更高效和可靠的系统表现。
移动设备操作任务正逐渐成为一种流行的多模态AI应用场景。当前的多模态大语言模型(Multi-modal Large Language Models, 简称MLLMs)受限于其训练数据,缺乏有效作为操作助手的能力。因此,通过工具调用来增强功能的基于MLLM的智能体(MLLM-based agents)逐渐应用于该场景。然而,在移动设备操作任务中存在两大主要导航挑战——任务进度导航和焦点内容导航,这些挑战难以在现有单智能体架构下有效解决。由于过长的token序列和交错的文本-图像数据格式,这些限制了单智能体架构的性能。为有效解决这些导航挑战,我们提出了Mobile-Agent-v2,这是一种面向移动设备操作辅助的多智能体架构。该架构由三个智能体组成:计划智能体、决策智能体和反思智能体。计划智能体将冗长、交错的图像-文本历史操作和屏幕信息压缩为纯文本的任务进度,随后传递给决策智能体。这种上下文长度的缩短使决策智能体更容易进行任务进度导航。为保留焦点内容,我们设计了一个内存单元,由决策智能体随任务进度更新。此外,为了纠正错误操作,反思智能体会观察每次操作的结果并相应地处理任何错误。实验结果表明,Mobile-Agent-v2在任务完成率方面相比单智能体架构的Mobile-Agent提高了30%以上。代码已在https://github.com/X-PLUG/MobileAgent开源。
多模态大语言模型(Multi-modal Large Language Models, MLLMs),如GPT-4v(OpenAI, 2023)等,在多个领域展现了卓越的能力(Bai et al., 2023;Liu et al., 2023c,b;Dai et al., 2023;Zhu et al., 2023;Chen et al., 2023;Ye et al., 2023a,b;Wang et al., 2023c;Hu et al., 2023, 2024;Zhang et al., 2024b)。随着基于大型语言模型(Large Language Models, LLMs)的智能体的快速发展(Zhao et al., 2024;Liu et al., 2023f;Talebirad and Nadiri, 2023;Zhang et al., 2023b;Wu et al., 2023;Shen et al., 2024;Li et al., 2023a),通过各种视觉感知工具来克服MLLMs在特定应用场景中的局限性的MLLM-based智能体成为研究热点(Liu et al., 2023d)。
自动化的移动设备操作作为一个实用的多模态应用场景,正在成为智能手机开发领域中的一项重大技术革命(Yao et al., 2022;Deng et al., 2023;Gur et al., 2024;Zheng et al., 2024;Zhang et al., 2023a;Wang et al., 2024;Chen and Li, 2024a,b,c;Zhang et al., 2024a;Wen et al., 2023;Cheng et al., 2024)。然而,由于屏幕识别、操作和定位能力的限制,现有MLLMs在该场景中面临挑战。为了解决这一问题,现有工作利用基于MLLM的智能体架构,为MLLMs赋予感知和操作移动设备UI的多种能力。AppAgent(Zhang et al., 2023a)通过从设备的XML文件中提取可点击的位置,解决了MLLMs在定位方面的局限性。然而,这种方法对UI文件的依赖限制了其在其他平台和设备上的适用性。为消除对底层UI文件的依赖,Mobile-Agent(Wang et al., 2024)提出了一种通过视觉感知工具实现定位的解决方案。它通过MLLM感知屏幕并生成操作,利用视觉感知工具定位操作位置。
移动设备操作任务涉及多步骤的顺序处理。操作员需要从初始屏幕开始,在设备上执行一系列连续操作,直到指令完全执行。在此过程中存在两个主要挑战。首先,为了规划操作意图,操作员需要从历史操作中导航当前任务进度。其次,某些操作可能需要历史屏幕中的任务相关信息,例如,撰写体育新闻时需要引用先前查询的比赛结果(如图1所示)。我们将此类重要信息称为焦点内容。焦点内容也需要从历史屏幕中导航出来。然而,随着任务进度的推进,将冗长的交错图像和文本的历史操作和屏幕作为输入会显著降低单智能体架构中导航的效果,如图1所示。
在本文中,我们提出了Mobile-Agent-v2,这是一种通过多智能体协作实现有效导航的移动设备操作助手。Mobile-Agent-v2具有三个专门的智能体角色:计划智能体、决策智能体和反思智能体。计划智能体根据历史操作生成任务进度。为了从历史屏幕中保存焦点内容,我们设计了一个内存单元来记录任务相关的焦点内容。决策智能体在生成操作时会观察该内存单元,同时检查屏幕上是否有焦点内容,并将其更新至内存。由于决策智能体无法观察前一屏幕进行反思,我们设计了反思智能体来观察决策智能体操作前后的屏幕变化,并判断操作是否符合预期。如果发现操作不符合预期,反思智能体将采取适当措施重新执行操作。整个流程如图3所示。这三个智能体角色分别在进度、决策和反思阶段工作,通过协作来缓解导航的难度。
我们的贡献总结如下:
大型语言模型(Large Language Models, LLMs)具有强大的理解和推理能力,使得基于LLM的智能体能够展示出独立执行任务的能力(Brown et al., 2020; Achiam et al., 2023; Touvron et al., 2023a,b; Bai et al., 2023)。受人类团队协作的启发,多智能体框架被提出。Park等人(2023)构建了一个名为Smallville的沙盒环境,其中包含25个智能体。Li等人(2023b)提出了一种基于角色扮演的多智能体协作框架,使得两个扮演不同角色的智能体能够自主协作。Chen等人(2024)创新性地提出了一种有效的多智能体框架,用于协调多个专家智能体的协作。Hong等人(2024)提出了一个突破性的元编程多智能体协作框架。Wu等人(2024)提出了一个通用的多智能体框架,允许用户配置智能体数量、交互模式以及工具集。Chan等人(2024)、Subramaniam等人(2024)、Tao等人(2024)研究了多智能体辩论框架的实现,旨在评估不同文本或生成内容的质量。Abdelnabi等人(2024)、Xu等人(2024)、Mukobi等人(2024)将多智能体交互与博弈论策略相结合,旨在增强协作能力和决策能力。
网页作为UI智能体的经典应用场景,引起了广泛的研究关注。Yao等人(2022)和Deng等人(2023)通过构建高质量的网站任务数据集,提升了智能体在真实网页任务中的表现。Gur等人(2024)利用预训练的LLM和自我经验学习,实现了在真实网站上的任务自动化处理。Zheng等人(2024)利用GPT-4V进行视觉理解和网页操作。同时,基于LLM的UI智能体在移动平台上的研究也引起了广泛关注。Wen等人(2023)将图形用户界面(GUI)信息转换为HTML表示,并结合应用领域特定知识利用LLM。Yan等人(2023)提出了一种基于GPT-4V的多模态智能移动代理,探索直接利用GPT-4V来感知带有注释的屏幕截图。与前一种基于数字标签操作屏幕的方法不同,Zhang等人(2023a)结合应用程序的XML文件进行本地化操作,模拟了人类在移动应用操作中的空间自主性。Wang等人(2024)消除了对应用XML文件的依赖,利用视觉模块工具实现本地化操作。此外,Hong等人(2023)设计了一个基于预训练视觉语言模型的GUI智能体。Chen和Li(2024a,b,c)提出了用于实际设备部署的小型客户端模型。Zhang等人(2024a)提出了一种专为Windows操作系统设计的UI多智能体框架。尽管多智能体架构在许多任务中实现了显著的性能提升,但目前尚无将多智能体架构应用于移动设备操作任务的工作。为了解决移动设备操作任务中长上下文导航的挑战,本文提出了多智能体架构Mobile-Agent-v2。
在本节中,我们将详细介绍Mobile-Agent-v2的架构。Mobile-Agent-v2的操作是迭代的,其过程如图2所示。Mobile-Agent-v2包含三个专门的智能体角色:规划智能体、决策智能体和反思智能体。我们还设计了视觉感知模块和记忆单元,以增强智能体的屏幕识别能力以及从历史中导航关注内容的能力。首先,规划智能体更新任务进展,允许决策智能体导航当前任务的进展。随后,决策智能体基于当前任务进展、当前屏幕状态以及反思(当上一次操作出错时)进行操作。接着,反思智能体观察操作前后的屏幕,以确定操作是否符合预期。
即使是最先进的多模态大型语言模型(MLLMs),在端到端处理屏幕识别时依然存在挑战。因此,我们加入了一个视觉感知模块来增强屏幕识别能力。在该模块中,我们使用了三种工具:文本识别工具、图标识别工具和图标描述。将截图输入该模块后,最终将获得屏幕上存在的文本和图标信息及其对应的坐标。该过程可通过以下公式表示:
其中,表示在第次迭代中屏幕的感知结果。
由于规划智能体生成的任务进展是文本形式,因此从历史屏幕中导航关注内容依然具有挑战性。为了解决此问题,我们设计了一个记忆单元,用于存储与当前任务相关的历史屏幕关注内容。记忆单元充当一个短期记忆模块,随着任务进展而更新。在涉及多个应用的场景中,记忆单元尤为关键。例如,如图3所示,决策智能体观察到的天气信息将在后续操作中使用。此时,与天气应用页面相关的信息将被更新至记忆单元中。
我们旨在通过引入一个独立的智能体来减少决策过程中对冗长历史操作的依赖。我们观察到,尽管每一轮操作发生在不同页面并有所不同,但多次操作的目标往往相同。例如,在示例中所示的情况中.
在图1中,前四个操作都是关于搜索比赛结果的。因此,我们设计了一个规划智能体,用于总结历史操作并跟踪任务进展。
我们定义在第次迭代中由决策智能体生成的操作为。在决策智能体做出决策之前,规划智能体会观察上一次迭代中决策智能体的操作,并将任务进展从更新为。任务进展包含已完成的子任务。在生成任务进展后,规划智能体将其传递给决策智能体,以便决策智能体考虑尚未完成的任务内容,从而推动生成下一步操作。如图3所示,规划智能体的输入包括四部分:用户指令、记忆单元中的关注内容、前一个操作和前一个任务进展。基于以上信息,规划智能体生成。这一过程表示如下公式:
其中,表示规划智能体的LLM模型。
决策智能体在决策阶段操作,生成操作并在设备上执行,同时还负责更新记忆单元中的关注内容。该过程在图3中的决策阶段(Decision Stage)展示,并表示为以下公式:
其中,表示决策智能体的MLLM模型,表示来自反思智能体的反思结果。
为了减少操作的复杂性,我们设计了一个操作空间,并限制决策智能体仅能从该空间中选择操作。对于具有较高自由度的操作(如点击和滑动),我们引入了额外的参数空间,以便定位或处理特定内容。以下是操作空间的详细描述:
由于决策智能体的每个操作高度相关于任务,并基于当前页面的视觉感知结果,因此它非常适合观察屏幕页面内与任务相关的关注内容。因此,我们赋予了决策智能体更新记忆单元的能力。在进行决策时,决策智能体被提示观察当前屏幕页面中是否存在与任务相关的关注内容。如果观察到此类信息,决策智能体会将其更新至记忆单元中,以供后续决策参考。该过程表示如下公式:
即使使用了视觉感知模块,Mobile-Agent-v2仍可能生成意外操作。在某些特定场景中,MLLMs甚至可能产生严重的幻觉(Liu et al., 2023a; Li et al., 2023c; Gunjal et al., 2024; Wang et al., 2023b; Zhou et al., 2023),即使是最先进的MLLM如GPT-4V(Cui et al., 2023; Wang et al., 2023a)也不例外。因此,我们设计了反思智能体,以观察决策智能体操作前后的屏幕状态,从而确定当前操作是否符合预期。该过程表示如下公式:
其中,表示反思智能体的MLLM模型。
如图3所示,反思智能体在操作执行后生成三种类型的反思结果:错误操作、无效操作和正确操作。以下将描述这三种反思结果:
如果为错误操作,则页面将恢复到操作前的状态。如果为无效操作,页面将保持当前状态。为了防止智能体重复错误或无效的操作,这两类操作不会被记录在操作历史中。如果为正确操作,操作将被记录在操作历史中,并更新当前页面状态。
视觉感知模块
对于文本识别工具,我们采用了来自 ModelScope 的文档 OCR 识别模型 ConvNextViT-document 3 。在图标识别工具中,我们使用了 GroundingDINO(Liu et al., 2023e),这是一种可以基于自然语言提示检测物体的检测模型。对于图标描述工具,我们采用了 Qwen-VL-Int4 4。
MLLMs
对于规划代理,由于不需要屏幕感知,我们使用了仅支持文本的 GPT-4(OpenAI, 2023)。对于决策代理和反思代理,我们使用了 GPT-4V(OpenAI, 2023)。所有调用均通过开发者提供的官方 API 方法完成。
评估方法
为了评估 Mobile-Agent-v2 在真实移动设备上的性能,我们采用了一种动态评估方法。该评估方法要求操作工具能够在真实设备上实时执行代理的操作。我们使用了两个移动操作系统:Harmony OS 和 Android OS,分别用于评估在非英语和英语场景中的能力。我们使用 Android Debug Bridge(ADB)作为操作移动设备的工具。ADB 可以在操作空间内模拟 Mobile-Agent-v2 的所有操作。在两种场景中,我们选择了 5 个系统应用和 5 个流行的外部应用进行评估。对于每个应用,我们设计了两个基础指令和两个高级指令。基础指令为界面内带有明确指令的简单操作,而高级指令则需要一定的应用操作经验才能完成。此外,为了评估多应用操作的能力,我们设计了涉及多个应用的两条基础指令和两条高级指令。总计在非英语和英语场景中包含 88 条指令,包括 40 条系统应用指令、40 条外部应用指令以及 8 条多应用操作指令。非英语和英语场景中使用的应用和指令详见附录。
评估指标
我们为动态评估设计了以下四个指标:
实现细节
我们将 Mobile-Agent 作为基线模型。Mobile-Agent 是基于 GPT-4V 的单代理端到端屏幕识别架构。我们在 GPT-4V 调用中固定了随机种子,并将温度设置为 0,以避免随机性。除了 Mobile-Agent-v2,我们进一步引入了知识注入场景。此方法为代理提供了一些操作提示,以帮助完成用户指令。值得注意的是,我们只对 Mobile-Agent-v2 无法完成的指令进行知识注入。对于无需额外帮助即可完成的指令,我们保持输入不变。
任务完成情况评估
表 1 和表 2 分别展示了 Mobile-Agent-v2 在非英语和英语场景中的性能。与 Mobile-Agent 相比,Mobile-Agent-v2 在基础指令和高级指令上均有显著提升。即使是在高度复杂的高级指令中,基于多代理架构,成功率也可以达到 55%,而 Mobile-Agent 的成功率仅为 20%。即便在英语场景下,Mobile-Agent-v2 仍然表现出显著的性能提升。尽管 Mobile-Agent 在英语场景中的表现优于中文场景,Mobile-Agent-v2 的成功率仍然平均提升了 27%。
反思能力评估
在知识注入的情况下,尽管决策准确率未达到 100%,但完成率仍然可以达到 100%。这表明即使进行了知识注入,Mobile-Agent-v2 仍然会做出错误的决策。决策失误即便对人类来说也难以避免,因此反思代理的重要性得到了凸显。
应用类型评估
从所有指标中可以看出,各种方法在系统应用上的表现优于外部应用。从多应用的结果来看,Mobile-Agent-v2 在成功率(SR)和完成率(CR)上分别比 Mobile-Agent 提升了 37.5% 和 44.2%。与单应用任务相比,多应用任务更依赖于历史操作的检索和焦点内容的关注。显著的性能提升表明 Mobile-Agent-v2 的多代理架构和记忆单元发挥了重要作用。
操作知识注入评估
从表 1 和表 2 中的知识注入结果可以看出,操作知识能有效提升 Mobile-Agent-v2 的性能,这表明手动注入的操作知识可以缓解代理操作能力的限制。这一发现表明知识注入可以拓宽 Mobile-Agent-v2 的应用场景,因为即便是复杂任务也可以通过手写操作教程来指导代理完成。这一发现可能为移动设备的自动化脚本测试提供新的见解,并表明若要将 MLLMs 的操作能力提升至极限,可以通过自动生成高质量操作知识来进一步提升 Mobile-Agent-v2 的性能。此外,知识注入带来的成功也为未来的移动应用测试开辟了新的方向。现有的移动应用测试解决方案仍然局限于手写脚本,这限制了测试的普适性并提高了用户的使用门槛。为了解决上述问题,可以将自然语言测试程序注入 Mobile-Agent-v2。在注入准确的测试程序后,系统可以在不依赖界面大小或颜色变化的情况下正常运行。此外,语言描述消除了编写脚本时对知识库的需求。
MLLMs 评估
在表 3 中,我们评估了不同 MLLMs 在 Mobile-Agent-v2 框架下的性能。由于某些模型不适合处理连续输入,我们选择了特定指令并将每一步调整为单步任务。因此,我们仅评估了成功率(SR),这等同于决策准确率(DA)。我们还评估了直接使用 GPT-4V,在不经过代理架构的情况下进行端到端操作。结果表明,直接使用 GPT-4V 作为移动设备操作助手几乎不可行。GPT-4V 结合代理架构仍然是最有效的操作能力配置。
我们对 Mobile-Agent-v2 进行了消融实验,研究了规划代理、反思代理和记忆单元的作用。从表 4 的结果可以明显看出,规划代理对整体框架的影响最为显著。这进一步表明当前 MLLMs 在长序列导航中的挑战性。此外,在移除反思代理和记忆单元后,性能也有所下降。反思代理对于纠正错误操作至关重要,它使得决策代理能够避免在错误的页面上操作,或陷入无效操作的循环。记忆单元在多应用场景中也是关键因素,尤其是在包含多个子任务的场景中,记忆有时可以记录关键 UI 元素的位置,从而有助于下一步子任务的准确定位。
如图 4 所示,我们分析了英语场景下失败指令中错误或无效操作的位置,将相对序列位置分为三个等分。结果表明,在 Mobile-Agent 中,这类错误或无效操作主要集中在任务的后期阶段。相比之下,Mobile-Agent-v2 并未表现出明显的规律性。这表明多代理架构更适合应对 UI 操作任务中长序列带来的挑战。
图 5 (a) 展示了 Mobile-Agent-v2 的一个完整操作流程。在规划代理的引导下,决策代理可以在单图像输入的情况下正确导航任务进程。同时,记忆单元准确地存储了任务所需的聊天内容,当需要进行搜索时,决策代理能够有效地定位到相应内容。图 5 (b) 展示了通过反思代理纠正无效操作的示例。在前一次操作失败后,反思代理迅速检测到错误,并将反思结果传达给决策代理。基于此,决策代理重新思考并执行了正确的操作。
现有的单代理架构在处理长序列交错文本和图像的移动设备操作任务时,导航效率显著下降,从而限制了其性能。为了解决这一问题,本文提出了 Mobile-Agent-v2,这是一种通过多代理协作实现高效导航的移动设备操作助手。我们分别通过规划代理和记忆单元来应对上述的导航挑战。此外,我们设计了反思模块以确保任务的顺利推进。实验结果表明,与单代理的 Mobile-Agent 相比,Mobile-Agent-v2 在性能上取得了显著提升。此外,我们发现通过手动操作知识的注入可以进一步增强性能,为未来的研究提供了新的方向。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!