Mobile-Agent 是一个旨在帮助用户更高效地操作移动设备的项目。该项目通过多种技术手段,实现了对移动设备的自动化操作和视觉感知功能。 也就是让AI可以像你一样模拟点击、滑动、输入等操作,来操控你的手机,来帮你自动完成一些列任务。 例如: <ul> <li><strong>搜索和购买商品</strong>:在购物应用中自动搜索商品、添加到购物车并完成购买。</li> <li><strong>邮件发送</strong>:在 Gmail 中自动填写和发送邮件。</li> <li><strong>导航</strong>:在 Google Maps 中自动进行导航操作。</li> <li><strong>视频观看</strong>:在 YouTube 中搜索并评论特定视频。</li> </ul> [video width="480" height="1042" mp4="https://img.xiaohu.ai/2024/06/336334739-d907795d-b5b9-48bf-b1db-70cf3f45d155.mp4"][/video] <strong>相比Mobile-Agent</strong>:依赖单一代理执行任务。 <strong>Mobile-Agent-v2</strong>:引入了多代理协作架构,通过多个代理协同工作,实现更高效的导航和任务执行。 实验结果表明,与单代理架构的Mobile-Agent相比,Mobile-Agent-v2在任务完成率上提高了30%以上。 <h3>主要功能特点:</h3> <ol> <li><strong>多代理协作架构</strong>:<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">通过多代理协作处理长上下文输入场景,提高导航效率和准确性。</span></li> <li><strong>增强的视觉感知模块</strong>:<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">集成了先进的视觉感知技术,能够准确识别和理解移动设备界面,提高操作的精度。</span></li> <li><strong>GPT-4o 支持</strong>:<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">采用 GPT-4o 模型,提升了系统的整体性能和响应速度。</span></li> <li><strong>高效导航</strong>:<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">通过多代理协作实现高效导航,能够在复杂的操作环境中快速找到所需内容并执行操作。</span></li> <li><strong>多平台支持</strong>:<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">目前支持 Android OS 和 Harmony OS(版本≤4)的工具调试,不支持 iOS 系统。</span></li> <li><strong>灵活的模型调用</strong>:<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">提供本地和 API 两种图标注释模型调用方式,根据设备性能选择适合的方法:</span> <ul> <li>本地调用:适用于配备高性能 GPU 的设备,效率更高。</li> <li>API 调用:适用于性能不足以运行 7B LLM 的设备,通过并行调用确保效率。</li> </ul> </li> <li><strong>自定义操作知识</strong>:通过优化安装和配置流程,简化了用户操作,使其更易于上手和使用。<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">用户可以在配置文件中添加具体的操作步骤和知识,帮助 Mobile-Agent 更准确地执行任务。</span></li> <li><strong>跨应用操作能力:</strong>Mobile-Agent-v2 具有处理多应用操作任务的能力,能够在多个应用之间导航并执行任务。这对需要历史操作和聚焦内容检索的多任务场景尤为重要。</li> </ol> <h3>技术架构</h3> <img class="aligncenter size-full wp-image-9083" src="https://img.xiaohu.ai/2024/06/Jietu20240605-174659@2x.jpg" alt="" width="1778" height="694" /> <h5>1. 多代理协作架构</h5> Mobile-Agent-v2 采用多代理架构,包括三个主要代理:规划代理、决策代理和反思代理。每个代理在任务中承担特定的角色,协作完成复杂的操作任务。 <ul> <li><strong>规划代理(Planning Agent)</strong>:负责生成任务进度。该代理通过总结历史操作和屏幕信息,将复杂的、交错的图像-文本历史操作和屏幕摘要凝练为纯文本任务进度。这种缩短上下文长度的方式使得决策代理更容易导航任务进度。</li> <li><strong>决策代理(Decision Agent)</strong>:基于当前任务进度和屏幕状态进行操作,同时更新记忆单元中的聚焦内容。决策代理负责选择并执行适当的操作,如点击、滑动等。</li> <li><strong>反思代理(Reflection Agent)</strong>:观察操作前后的屏幕状态,判断操作是否符合预期,如有错误,采取相应措施重新执行操作。反思代理能够纠正错误操作,确保任务按照预期进行。</li> </ul> <h5><img class="aligncenter size-full wp-image-9076" src="https://img.xiaohu.ai/2024/06/role-scaled.jpg" alt="" width="2560" height="1151" /></h5> <h5>2. 视觉感知模块</h5> <ul> <li>增强屏幕识别能力。该模块使用文本识别工具、图标识别工具和图标描述工具来提取屏幕截图中的信息,包括文本和图标的坐标。</li> <li><strong>工具</strong>: <ul> <li>文本识别工具</li> <li>图标识别工具</li> <li>图标描述工具</li> </ul> </li> </ul> <h5>3. 记忆单元</h5> 为了避免导航过程中丢失聚焦内容,Mobile-Agent-v2 设计了一个记忆单元,用于存储与任务相关的历史屏幕信息。决策代理在操作过程中会更新记忆单元,确保任务相关信息始终可用。 <ul> <li><strong>功能</strong>:存储与当前任务相关的历史屏幕信息,以避免丢失聚焦内容。记忆单元作为短期记忆模块,随着任务进展不断更新。</li> <li><strong>更新方式</strong>:由决策代理在每次操作后进行更新,确保任务相关信息始终可用。</li> </ul> <h5>4. 动态评估</h5> 系统在不同操作系统和语言环境中进行了动态评估,证明了其在任务完成率、决策准确率和反思准确率上的显著提升。 <ul> <li><strong>成功率(Success Rate, SR)</strong>:指成功执行用户指令的比例。</li> <li><strong>完成率(Completion Rate, CR)</strong>:指正确操作步骤占总操作步骤的比例。</li> <li><strong>决策准确率(Decision Accuracy, DA)</strong>:决策代理的决策准确率。</li> <li><strong>反思准确率(Reflection Accuracy, RA)</strong>:反思代理的反思准确率。</li> </ul> <h5>5. 操作知识注入</h5> 实验表明,通过手动操作知识注入可以进一步提升Mobile-Agent-v2 的性能。这意味着在复杂任务中,可以通过提供操作提示来指导代理完成任务,从而扩展其应用场景。 <h3>主要结果</h3> 实验结果表明,Mobile-Agent-v2 在应对长序列的文本和图像混合输入、复杂的移动设备操作任务方面表现出色,显著提高了任务完成效率和准确性。 <img class="aligncenter size-full wp-image-9081" src="https://img.xiaohu.ai/2024/06/Jietu20240605-174741@2x.jpg" alt="" width="1630" height="1778" /> <ol> <li><strong>任务完成情况</strong> <ul> <li>Mobile-Agent-v2 在所有评估指标上均显著优于Mobile-Agent,尤其是在复杂的高级指令中表现突出。</li> <li>在中文场景中,Mobile-Agent-v2的成功率达到55%,而Mobile-Agent仅为20%。</li> <li>在英文场景中,Mobile-Agent-v2在成功率上平均提升了27%。</li> </ul> </li> <li><strong>反思能力评估</strong> <ul> <li>即使在操作知识注入的情况下,决策准确率未达到100%,但完成率可以达到100%。</li> <li>这表明反思代理对于纠正错误操作至关重要,确保系统能够避免错误页面操作或无效操作循环。</li> </ul> </li> <li><strong>应用类型影响</strong> <ul> <li>系统应用上的性能优于外部应用。</li> <li>在多应用任务中,Mobile-Agent-v2 的成功率和完成率分别提升了37.5%和44.2%。</li> </ul> </li> <li><strong>操作知识注入</strong> <ul> <li>手动操作知识注入有效提升了Mobile-Agent-v2的性能,特别是在复杂任务中。</li> <li>这表明,通过提供操作提示,可以进一步扩展Mobile-Agent-v2的应用场景,例如自动化脚本测试。</li> </ul> </li> </ol> <h3>应用场景:</h3> <ol> <li><strong>自动化应用测试</strong>: <ul> <li><strong>场景</strong>:开发者需要对移动应用进行大量的测试,以确保其在不同条件下的稳定性和性能。</li> <li><strong>功能</strong>:Mobile-Agent 可以自动执行测试用例,模拟用户操作,如点击、滑动、输入等,记录并报告测试结果,帮助开发者快速发现和修复问题。</li> </ul> </li> <li><strong>多任务管理</strong>: <ul> <li><strong>场景</strong>:用户需要在多个应用之间频繁切换,处理不同的任务。</li> <li><strong>功能</strong>:Mobile-Agent 可以通过视觉感知和多代理协作,自动切换应用并执行预定任务,如在邮件应用中查找特定邮件,在日历应用中添加事件,在聊天应用中发送消息等,提高工作效率。</li> </ul> </li> <li><strong>智能导航</strong>: <ul> <li><strong>场景</strong>:用户在复杂的应用中导航,如在购物应用中寻找特定商品,在社交媒体应用中找到特定用户的帖子。</li> <li><strong>功能</strong>:Mobile-Agent 通过增强的视觉感知模块,能够快速准确地导航到目标位置,完成搜索、浏览、购买等操作。</li> </ul> </li> <li><strong>数据收集与分析</strong>: <ul> <li><strong>场景</strong>:研究人员需要收集和分析大量移动设备上的数据,如用户行为数据、应用使用数据等。</li> <li><strong>功能</strong>:Mobile-Agent 可以自动化地收集这些数据,并进行初步分析,生成报告,帮助研究人员更好地理解用户行为和应用性能。</li> </ul> </li> <li><strong>设备设置和配置</strong>: <ul> <li><strong>场景</strong>:用户需要配置多个设备的设置,如开启调试模式、安装特定应用、配置网络等。</li> <li><strong>功能</strong>:Mobile-Agent 可以自动执行这些配置任务,减少用户手动操作的繁琐,确保设置一致性。</li> </ul> </li> </ol> <h3>案例展示:</h3> 以下是Mobile-Agent-v2的一些具体案例研究,这些案例展示了系统在处理不同任务中的操作过程和反思能力: <h4><strong>案例1:回复WhatsApp消息</strong></h4> <img class="aligncenter size-full wp-image-9080" src="https://img.xiaohu.ai/2024/06/extracted_image_11_0-scaled.jpeg" alt="" width="2560" height="1814" /> <h4>案例2:在X(Twitter)搜索并关注名人</h4> <h4><img class="aligncenter size-full wp-image-9079" src="https://img.xiaohu.ai/2024/06/extracted_image_11_1-scaled.jpeg" alt="" width="2385" height="2560" /></h4> <h4>案例3:在TikTok上搜索视频并评论</h4> <img class="aligncenter size-full wp-image-9078" src="https://img.xiaohu.ai/2024/06/extracted_image_12_0-scaled.jpeg" alt="" width="2560" height="2261" /><span style="color: #212121; font-size: 1.25em; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">案例4:在微博评论帖子</span> <img class="aligncenter size-full wp-image-9077" src="https://img.xiaohu.ai/2024/06/extracted_image_13_1-scaled.jpeg" alt="" width="2101" height="2560" /> <img class="aligncenter size-full wp-image-9088" src="https://img.xiaohu.ai/2024/06/Jietu20240605-223806@2x.jpg" alt="" width="1842" height="1736" /> <span style="color: #212121; font-size: 1.25em; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">案例5:在小红书上搜索特定内容的帖子</span> <img class="aligncenter size-full wp-image-9087" src="https://img.xiaohu.ai/2024/06/Jietu20240605-223420@2x.jpg" alt="" width="1988" height="1532" /> GitHub:<a href="https://github.com/X-PLUG/MobileAgent/tree/main/Mobile-Agent-v2" target="_blank" rel="noopener">https://github.com/X-PLUG/MobileAgent/tree/main/Mobile-Agent-v2</a> 论文:<a href="https://arxiv.org/pdf/2406.01014" target="_blank" rel="noopener">https://arxiv.org/pdf/2406.01014</a>