[移动端自动化] AppAgent介绍

AUITestAgent
 


AUITestAgent/README_zh.md at main · bz-lab/AUITestAgent (github.com)

1/MobileAgent

X-PLUG/MobileAgent: Mobile-Agent: The Powerful Mobile Device Operation Assistant Family (github.com)

2/AppAgent

AppAgent/README.md at main · mnotgod96/AppAgent (github.com)

Changelog

[2024.2.8]:增加了qwen-vl-max(通义千问-VL)作为备选的多模态模型。该模型目前可以免费使用,但与GPT-4V相比,性能相对较差。
[2024.1.31]:发布AppAgent测试过程中使用的评测基准
[2024.1.2]:增加了一个可选的方法,让代理在屏幕上显示一个网格覆盖,以便在屏幕上的任何地方点击/滑动。
[2023.12.26]:增加提示部分,以获得更好的使用体验;为没有Android设备的用户增加了使用Android Studio模拟器的说明。
[2023.12.21]:开源git存储库,包括实现AppAgent的详细配置步骤!

Introduction

我们介绍了一个新颖的基于llm的多模态代理框架,设计用于操作智能手机应用程序。

我们的框架使代理能够通过简化的操作空间来操作智能手机应用程序,模仿类似人类的交互,如点击和滑动。这种新颖的方法绕过了对系统后端访问的需要,从而扩大了它在不同应用程序中的适用性。

我们的智能体功能的核心是其创新的学习方法。智能体通过自主探索或观察人类演示来学习导航和使用新的应用程序。此过程生成一个知识库,代理在跨不同应用程序执行复杂任务时引用该知识库。

demo


通用场景
演示视频展示了在部署阶段使用AppAgent在X (Twitter)上跟踪用户的过程。

连接gpt-4-vision-preview(或qwen-vl-max)

本节将指导您如何快速使用gpt-4-vision-preview(或qwen-vl-max)作为代理来完成您在Android应用程序上的特定任务。

 

Step1 先决条件
1/下载并安装adb

在您的PC上,下载并安装Android Debug Bridge (adb)Android 调试桥 (adb)  |  Android Studio  |  Android Developers,这是一个命令行工具,可以让您从PC与Android设备通信。

2/USB调试

获得一个Android设备,并启用USB调试,可以在设置中的开发人员选项中找到。

3/连接到PC

使用USB线将设备连接到PC。

4/Android设备模拟器

(可选)如果您没有Android设备,但仍想尝试AppAgent。我们建议您下载Android Studio并使用它附带的模拟器。模拟器可以在Android Studio的设备管理器中找到。你可以在模拟器上安装应用程序,从互联网上下载APK文件,并将它们拖到模拟器上。AppAgent可以检测模拟设备,并像操作真实设备一样操作其上的应用程序。

安装adb,usb连接android设备,连接成功

[移动端自动化] AppAgent介绍_第1张图片

Step2 配置Agent

AppAgent需要由一个多模态模型提供支持,该模型可以接收文本和视觉输入。在我们的实验中,我们使用gpt-4-vision-preview作为模型来决定如何采取行动来完成智能手机上的任务。

要将请求配置为GPT-4V,您应该修改config。根目录下的Yaml。要尝试AppAgent,必须配置两个关键参数:

OpenAI API密钥:您必须从OpenAI购买符合条件的API密钥,以便您可以访问GPT-4V。
请求间隔:这是连续GPT-4V请求之间的时间间隔(以秒为单位),用于控制对GPT-4V请求的频率。根据您的帐户状态调整此值。
其他参数配置。Yaml得到了很好的评价。根据需要修改它们。

请注意GPT-4V不是免费的。此项目中涉及的每个请求/响应对的成本约为0.03美元。明智地使用它。

您还可以尝试qwen-vl-max(通义千问-VL)作为AppAgent的备选多模态模型。该模型目前可以免费使用,但与GPT-4V相比,它在AppAgent环境中的性能较差。

要使用它,您应该创建一个阿里云帐户,并创建一个Dashscope API密钥,以填写配置中的DASHSCOPE_API_KEY字段。yaml文件。将MODEL字段从OpenAI更改为Qwen。

如果您想使用自己的模型来测试AppAgent,您应该在scripts/model.py中相应地编写一个新的模型类。

创建的阿里云账号,怎么创建Dashscope API key

通义tongyi.ai_你的全能AI助手-通义千问

Step3 勘探阶段

我们的论文提出了一个新的解决方案,包括探索和部署两个阶段,将GPT-4V变成一个有能力的代理,可以帮助用户在给定任务时操作他们的Android手机。探索阶段从您指定的任务开始,您可以选择让代理自己探索应用程序,也可以从您的演示中学习。在这两种情况下,代理都会为探索/演示期间交互的元素生成文档,并保存它们以供部署阶段使用。

选项1:自主探索


该解决方案具有完全自主的探索功能,允许代理通过尝试给定任务来探索应用程序的使用,而无需任何人类干预。

首先,在根目录下运行learn.py。按照提示选择自主探索作为操作模式,并提供应用程序名称和任务描述。然后,你的经纪人会为你做这项工作。在此模式下,AppAgent将反思其先前的操作,以确保其操作遵循给定的任务,并为所探索的元素生成文档。

选项2:从人类示范中学习


此解决方案要求用户首先演示类似的任务。AppAgent将从演示中学习,并为演示中看到的UI元素生成文档。

要开始人工演示,您应该在根目录中运行learn.py。按照提示选择人工演示作为操作模式,并提供应用程序名称和任务描述。你的手机屏幕截图将被捕获,屏幕上显示的所有互动元素将被标记为数字标签。您需要按照提示来确定您的下一个操作和操作目标。当您认为演示已经完成时,请键入stop以结束演示。

Step4 部署阶段

在探索阶段结束后,可以在根目录中运行run.py。按照提示输入应用程序的名称,选择您希望代理使用的相应文档库,并提供任务描述。然后,你的经纪人会为你做这项工作。代理将自动检测是否有之前为应用程序生成的文档库;如果没有找到任何文档,也可以选择在没有任何文档的情况下运行代理(不保证成功率)。

提示
为了改进体验,您可以允许AppAgent通过自主探索承担更广泛的任务,或者您可以直接演示更多应用程序功能来增强应用程序文档。一般来说,提供给代理的文件越详尽,成功完成任务的可能性就越高。
检查代理生成的文档总是一个很好的做法。当您发现一些文档没有准确地描述元素的功能时,手动修改文档也是一种选择。

你可能感兴趣的:(自动化)