论文阅读Mobile Agent v2
论文内容概述
论文标题为《Mobile-Agent-v2: Mobile Device Operation Assistant with Effective Navigation via Multi-Agent Collaboration》,作者提出了一种基于多代理协作的移动设备操作助手框架 Mobile-Agent-v2,旨在解决移动设备操作任务中的导航挑战,提升任务完成效率和准确性。以下是对论文内容的详细总结,包括其解决的问题和使用的方法。
解决的问题
移动设备操作任务(如在手机上搜索信息、打开应用、执行多步骤操作等)是多模态AI应用的重要场景。然而,现有技术面临以下两个主要挑战:
- 任务进度导航(Task Progress Navigation):
- 移动设备操作通常涉及多步骤的连续操作,操作助手需要从历史操作序列中理解当前任务的进度,以规划下一步操作。
- 随着操作步骤增加,历史操作序列(包括图像和文本)变得冗长,单代理架构难以有效处理长序列,导致任务进度导航效率低下。
- 焦点内容导航(Focus Content Navigation):
- 某些操作需要引用历史屏幕中的关键信息(称为焦点内容),例如在新闻撰写任务中需要使用之前查询的比赛结果。
- 单代理架构难以从冗长的历史屏幕中提取和保留这些焦点内容,导致信息丢失或导航困难。
- 操作错误纠正:
- 由于多模态大语言模型(MLLMs)可能产生幻觉或错误操作,单代理架构缺乏有效的机制来检测和纠正这些错误。
这些挑战使得现有基于MLLM的单代理架构(如 Mobile-Agent)在复杂移动设备操作任务中的表现受限,尤其是在多应用场景或长序列操作中。
提出的方法:Mobile-Agent-v2
为了解决上述问题,论文提出了 Mobile-Agent-v2,一个基于多代理协作的框架,通过三个专门的代理(规划代理、决策代理、反思代理)以及视觉感知模块和记忆单元的协作,实现高效的任务和焦点内容导航,并纠正错误操作。以下是方法的详细描述:
1. 框架结构
Mobile-Agent-v2 包含以下核心组件:
- 规划代理(Planning Agent):
- 功能:负责总结历史操作并生成纯文本的任务进度(Task Progress),以减少决策代理处理长序列的负担。
- 输入:用户指令、上一操作、上一任务进度、记忆单元中的焦点内容。
- 输出:更新的任务进度($TP_t$),表示已完成的子任务和当前任务状态。
- 公式:$TP_t = PA(Ins, O_{t-1}, TP_{t-1}, FC_{t-1})$,其中 $PA$ 是规划代理的语言模型。
- 决策代理(Decision Agent):
- 功能:根据任务进度、当前屏幕状态和反思结果生成具体操作,并更新记忆单元中的焦点内容。
- 输入:用户指令、任务进度、焦点内容、反思结果、当前屏幕截图及其感知结果。
- 输出:操作 $O_t$(如点击、滑动、输入等)和更新的焦点内容 $FC_t$。
- 操作空间:限制为六种操作(打开应用、点击、滑动、输入、返回主页、停止),以降低操作复杂度。
- 公式:
- 操作生成:$O_t = DA(Ins, TP_{t-1}, FC_{t-1}, R_{t-1}, S_t, P_t)$
- 焦点内容更新:$FC_t = DA(Ins, FC_{t-1}, S_t, P_t)$
- 反思代理(Reflection Agent):
- 功能:通过比较操作前后屏幕状态,判断操作是否符合预期,并生成反思结果以指导后续操作。
- 输入:用户指令、焦点内容、当前操作、操作前后的屏幕截图及其感知结果。
- 输出:反思结果 $R_t$,分为三种情况:
- 正确操作:操作符合预期,记录到历史操作中。
- 错误操作:导致无关页面,需回退到操作前状态。
- 无效操作:无页面变化,需重新操作。
- 公式:$R_t = RA(Ins, FC_t, O_t, S_t, P_t, S_{t+1}, P_{t+1})$
- 视觉感知模块(Visual Perception Module, VPM):
- 功能:增强屏幕识别能力,提取屏幕中的文本和图标信息及其坐标。
- 工具:
- 文本识别:ConvNextViT-document。
- 图标识别:GroundingDINO。
- 图标描述:Qwen-VL-Int4。
- 公式:$P_t = VPM(S_t)$,其中 $P_t$ 是屏幕感知结果。
- 记忆单元(Memory Unit):
- 功能:存储任务相关的焦点内容,解决历史屏幕信息丢失问题。
- 更新:由决策代理在每次操作时检查当前屏幕是否有任务相关内容,并更新记忆单元。
- 应用:在多应用场景中尤为重要,例如从天气应用获取信息后在另一应用中使用。
2. 工作流程
Mobile-Agent-v2 的操作是迭代进行的:
- 规划阶段:规划代理总结历史操作,生成任务进度。
- 决策阶段:决策代理根据任务进度和当前屏幕生成操作,并更新焦点内容。
- 反思阶段:反思代理评估操作结果,决定是否记录操作或采取纠正措施。
- 循环:重复上述步骤,直到任务完成或决策代理选择停止。
3. 模型选择
- 规划代理:使用纯文本的 GPT-4(无需屏幕感知)。
- 决策代理和反思代理:使用多模态的 GPT-4V。
- 视觉感知模块:结合开源模型 ConvNextViT、GroundingDINO 和 Qwen-VL-Int4。
4. 评估方法
- 动态评估:在 Harmony OS 和 Android OS 上进行实时操作测试,覆盖非英语(中文)和英语场景。
- 应用范围:测试 5 个系统应用、5 个外部应用,以及多应用场景,共 88 条指令(包括基本指令和高级指令)。
- 评估指标:
- 成功率(Success Rate, SR):成功执行指令的比例。
- 完成率(Completion Rate, CR):正确步骤占总步骤的比例。
- 决策准确率(Decision Accuracy, DA):决策代理正确决策的比例。
- 反思准确率(Reflection Accuracy, RA):反思代理正确反思的比例。
- 基线:与单代理架构的 Mobile-Agent 进行比较。
5. 实验结果
- 任务完成:
- Mobile-Agent-v2 在非英语场景的成功率比 Mobile-agent 提高了约 30%,在高级指令中成功率从 20% 提升至 55%。
- 在英语场景中,成功率平均提高 27%。
- 反思能力:
- 反思代理有效纠正错误操作,即使在知识注入后仍有错误决策,反思机制确保完成率接近 100%。
- 应用类型:
- 在多应用任务中,Mobile-Agent-v2 的成功率和完成率分别提高 37.5% 和 44.2%,显示多代理架构和记忆单元的优势。
- 知识注入:
- 手动注入操作知识进一步提升性能,表明 Mobile-Agent-v2 可通过外部指导处理复杂任务。
- 消融研究:
- 规划代理对性能影响最大,其次是反思代理和记忆单元,验证了各组件的必要性。
- 序列长度分析:
- Mobile-Agent-v2 在长序列操作中错误分布更均匀,而 Mobile-Agent 的错误集中在后期,显示多代理架构更适合长序列任务。
6. 案例分析
- 完整操作流程:展示了 Mobile-Agent-v2 在单应用(如 WhatsApp 回复消息)和多应用场景中的高效导航能力。
- 反思纠正:反思代理能及时检测无效操作并指导决策代理重新操作。
创新点与贡献
- 多代理架构:
- 通过规划、决策和反思代理的分工协作,解决了单代理架构在长序列导航中的局限性。
- 记忆单元:
- 专门设计用于存储焦点内容,支持多应用场景下的信息保留和导航。
- 反思机制:
- 引入反思代理,动态纠正错误操作,提高任务执行的鲁棒性。
- 视觉感知模块:
- 通过文本和图标识别工具增强屏幕感知能力,减少对底层 UI 文件的依赖。
- 知识注入:
- 验证了手动操作知识注入的有效性,为复杂任务和自动化测试提供了新思路。
结论
Mobile-Agent-v2 通过多代理协作、记忆单元和反思机制,有效解决了移动设备操作任务中的任务进度导航和焦点内容导航问题,显著提升了任务完成率和操作准确性。实验结果显示其在多种操作系统、语言环境和应用场景中的优越性能,特别是在多应用和长序列任务中表现突出。此外,知识注入的成功应用为未来的移动应用测试和自动化脚本开发提供了新方向。
论文代码已开源,地址为:https://github.com/X-PLUG/MobileAgent。
本文由作者按照 CC BY 4.0 进行授权