Mobile-Agent-v2:GPT4v + 多Agent提高40%准确率 精华
1. Mobile-Agent-V2是什么?
Mobile-Agent-v2是一款通过多Agent合作实现有效导航的移动设备操作助手。它包含三个专业角色:规划Agent、决策Agent和反思Agent。
• 规划Agent负责根据历史操作生成任务进度,并通过设计的记忆单元保存历史屏幕中的焦点内容。
• 决策Agent在生成操作时会参考记忆单元,并检查屏幕上的焦点内容,同时更新记忆。
• 反思Agent则观察决策代理操作前后屏幕的变化,评估操作是否达到预期,并在必要时采取措施重新执行。
三个角色在进度、决策和反思阶段各司其职,共同协作,以简化导航的复杂性。
图片
Mobile-Agent-v2 的运作是循环迭代的,其流程上图。为了提升代理对屏幕的识别力和从历史记录中导航焦点内容的能力,特别设计了视觉感知模块和记忆单元。规划代理首先更新任务进度,决策代理据此导航当前任务的发展。决策代理随后根据任务进度、屏幕状态以及前一次操作的反馈(如果有误)来执行任务。操作后,反思代理会对比操作前后的屏幕,判断操作是否达到预期效果。
1.1 视觉感知模块
即便是最先进的 MLLMs,在端到端处理屏幕识别时也面临挑战。为此,集成了视觉感知模块来强化这一功能。该模块包含三种工具:文本识别、图标识别和图标描述。将截屏输入模块,可以提取出屏幕上的文本和图标信息及其坐标。
1.2 记忆模块
图片
鉴于规划代理产出的任务进度以文本形式展现,从历史屏幕中导航焦点内容依旧充满挑战。为应对这一难题,构建了一个记忆模块,用以保存与当前任务相关联的历史屏幕焦点内容。此记忆单元作为短期记忆模块,伴随任务进展而实时更新。在涉及多个应用的复杂场景中,记忆单元发挥着关键作用。例如,在上图展示的情形中,决策代理所捕捉的天气信息将在后续步骤中发挥作用,此时,与天气应用页面相关的信息会被同步更新至记忆单元。
1.3 规划Agent
图片
为了降低决策过程中对冗长历史操作的依赖,引入了独立的规划代理。尽管每次操作发生在不同的页面且各有差异,但许多操作的目标往往是一致的。以上图中的例子为例,前四次操作均旨在查找比赛结果。因此,设计了规划代理,旨在归纳历史操作并追踪任务的进展。
1.4 决策Agent
决策代理在决策阶段运行,生成操作动作并在设备上执行它们,同时还负责更新记忆单元中的焦点内容。
操作空间:为了降低操作的复杂性,作者设计了一个操作空间,并限制决策代理仅从此空间中选择操作。对于自由度较高的操作,如点击和滑动,引入了一个额外的参数空间来定位或处理特定内容。以下是操作空间的详细描述:
• 打开应用(应用名称)。如果当前页面是主页,可以使用此操作打开名为“应用名称”的应用。
• 点击(x,y)。此操作用于点击坐标为(x,y)的位置。
• 滑动(x1,y1),(x2,y2)。此操作用于从坐标为(x1,y1)的位置滑动到坐标为(x2,y2)的位置。
• 输入(文本)。如果当前键盘处于激活状态,可以使用此操作在输入框中输入“文本”的内容。
• 主页。此操作用于从任何页面返回到主页。
• 停止。如果决策代理认为所有要求都已满足,可以使用此操作来终止整个操作过程。
记忆单元更新:由于决策代理所做的每项操作都与任务高度相关,并基于当前页面的视觉感知结果,因此非常适合在屏幕页面内观察与任务相关的焦点内容。因此,赋予了决策代理更新记忆单元的能力。在做出决策时,决策代理会被提示观察当前屏幕页面内是否有与任务相关的焦点内容。如果观察到此类信息,决策代理会将其更新到记忆中,供后续决策参考。
1.5 反思Agent
尽管配备了视觉感知模块,Mobile-Agent-v2 有时仍会执行出人意料的操作。在某些特定情境下,即便是顶尖的 MLLM 如 GPT-4V,也可能引发严重的误判。为此,作者引入了反思代理,用以监测决策代理操作前后屏幕的变化,判断操作是否达到预期效果。
参照上面的架构图,反思代理在执行操作后会得出三种反思结果:错误操作、无效操作和正确操作。以下是对这三种结果的具体说明:
• 错误操作:指引导设备进入与任务无关页面的操作。比如,代理本想在通讯应用中与联系人 A 发消息,却误入了联系人 B 的聊天界面。
• 无效操作:指对当前页面未产生任何变化的操作。比如,代理意图点击某个图标,却误触了图标旁边的空白区域。
• 正确操作:指符合决策代理预期,并向完成用户指令迈进的操作。
遇到错误操作时,页面将回退至操作前的状态;遇到无效操作时,页面保持不变。无论是错误还是无效操作,都不会被记录在操作历史中,以避免代理重复无效的行为。而当操作正确时,相关信息将被更新至操作历史,页面状态也将同步更新。
2. 效果测评
2.1 任务完成度评估
图片
图片
上面两个表分别展示了Mobile-Agent-v2在非英语和英语环境下的性能表现。相较于Mobile-Agent,Mobile-Agent-v2在基础和高级指令的执行上均有显著提升。得益于多代理架构的支持,即便面对极具挑战性的高级指令,**Mobile-Agent-v2的成功率也能达到55%**,远高于Mobile-Agent的20%。在英语环境下,Mobile-Agent-v2同样实现了显著的性能提升,其成功率平均提高了27%,即便在Mobile-Agent本就表现较好的英语场景中。
2.2 反思能力评估
即便在知识注入的情况下,**决策准确率可能无法达到100%,但完成率却能达到100%**。这说明即便有外部知识辅助,Mobile-Agent-v2在决策时仍可能犯错,正如人类一样,完全避免决策错误是困难的。这突显了反思代理的重要性。
2.3 应用类型评估
综合各项指标,可以发现所有方法在系统应用上的性能普遍优于第三方应用。从多应用的评估结果来看,Mobile-Agent-v2在成功率和完成率上相较于Mobile-Agent分别提升了37.5%和44.2%。与单一应用任务相比,跨应用任务更依赖于历史操作和焦点内容的检索。这一显著的性能提升证明了Mobile-Agent-v2的多代理架构和记忆单元在其中扮演了重要角色。
2.3 操作知识注入评估
图片
图片
从上面两个表的知识注入结果来看,操作知识能显著提高Mobile-Agent-v2的性能,表明人工注入的操作知识有助于克服代理在操作上的局限。这一发现意味着知识注入能够扩展Mobile-Agent-v2的应用范围,因为即便是复杂任务,也可以通过人工编写的操作教程来指导代理完成。这为移动设备自动化脚本测试提供了新思路,表明通过自动化生成高质量的操作知识,可以进一步提升Mobile-Agent-v2的性能。此外,知识注入的成功也为未来移动应用测试开辟了新的可能性。目前移动应用测试多依赖于手工脚本编写,这限制了测试的普及性并提高了用户使用门槛。通过将自然语言测试程序注入Mobile-Agent-v2,可以在移动界面元素大小或颜色发生变化时,保持系统的稳定运行,同时语言描述也省去了脚本编写中所需的知识库。
2.4 MLLMs性能评估
图片
在上表中,对Mobile-Agent-v2框架下不同MLLMs的性能进行了评估。由于部分模型不擅长处理序列输入,特别挑选了特定指令,并调整了每一步,使其成为独立的单步任务。因此,仅评估了成功率(等同于决策准确率)。我们还评估了绕过代理架构,直接使用GPT-4V进行端到端操作的效果。结果显示,直接使用GPT-4V作为移动设备操作助手几乎不可行。结合代理架构使用的GPT-4V,仍然是实现操作能力的最优配置。
3. 使用案例
在WhatApp上回复消息:
图片
在社交媒体X上搜索明星并关注:
图片
在Tiktok上搜索视频并评论:
图片
在小红书上搜索内容:
图片
根据微博内容发表评论:
图片
在b站搜索大v并关注:
图片
• 论文原文: https://arxiv.org/abs/2406.01014
本文转载自大语言模型论文跟踪,作者:HuggingAGI