AppAgent 使用指南
介绍
AppAgent 是什么?
AppAgent 是一个基于 LLM(Language, Learning, and Motor)的多模态代理框架,用于操作智能手机应用程序。该框架通过模拟人类的交互方式(例如点击和滑动)来操作智能手机应用程序,无需后端访问,适用于各种应用程序。
AppAgent 的功能是什么?
AppAgent 的功能主要基于其创新的学习方法。代理通过自主探索或观察人类演示来学习使用新的应用程序,生成一个知识库,用于在不同的应用程序中执行复杂任务。
快速开始
步骤 1:前提条件
- 在电脑上下载并安装 Android Debug Bridge(adb),这是一个命令行工具,可让您与 Android 设备进行通信。
- 获取一台 Android 设备,并在设置中的开发者选项中启用 USB 调试。
- 使用 USB 线将设备连接到电脑上。
- (可选)如果您没有 Android 设备,但仍想尝试 AppAgent,建议您下载 Android Studio,并使用附带的模拟器。模拟器可以在 Android Studio 的设备管理器中找到。您可以通过从互联网下载 APK 文件并将其拖到模拟器上来在模拟器上安装应用程序。AppAgent 可以检测到模拟设备,并像操作真实设备一样操作应用程序。
步骤 2:配置代理
- 克隆此仓库并安装依赖项。该项目中的所有脚本均使用 Python 3 编写,请确保已安装 Python 3。
cd AppAgent
pip install -r requirements.txt
- 修改根目录下的
config.yaml
文件以配置 AppAgent。配置文件中有两个关键参数需要配置:
- OpenAI API 密钥:您需要购买一个合格的 OpenAI API 密钥,以便访问 GPT-4V。
- 请求间隔:这是连续发送给 GPT-4V 的请求之间的时间间隔,以控制请求的频率。根据您的账户状态调整此值。
步骤 3:探索阶段
AppAgent 的使用分为两个阶段:探索阶段和部署阶段。探索阶段开始于您指定的任务,代理可以选择自主探索应用程序,也可以通过观察您的演示来学习。
选项 1:自主探索
在根目录下运行 learn.py
脚本。按照提示选择自主探索作为操作模式,并提供应用程序名称和任务描述。然后,代理将为您完成任务。在这种模式下,AppAgent 会反思其先前的操作,确保其操作符合给定的任务,并生成元素交互的文档。
python learn.py
选项 2:学习演示
在根目录下运行 learn.py
脚本。按照提示选择人类演示作为操作模式,并提供应用程序名称和任务描述。将捕获您手机的屏幕截图,并为屏幕上显示的所有可交互元素标记数字标签。按照提示确定下一步操作和操作的目标。当您认为演示结束时,输入 stop
结束演示。
python learn.py
步骤 4:部署阶段
在探索阶段结束后,您可以在根目录下运行 run.py
脚本。按照提示输入应用程序的名称,选择要使用的文档库,并提供任务描述。然后,代理将为您完成任务。代理会自动检测是否存在之前为该应用程序生成的文档库;如果找不到文档库,您也可以选择在没有任何文档库的情况下运行代理(无法保证成功率)。
python run.py
提示
- 为了获得更好的体验,您可以允许 AppAgent 通过自主探索来完成更多的任务,或者直接演示更多的应用程序功能以增强应用程序文档。一般来说,提供给代理的文档越详尽,成功完成任务的可能性就越高。
- 检查代理生成的文档是一个好习惯。如果发现某些文档没有准确描述元素的功能,也可以手动修正文档。
引用
如果您在使用我们的项目时遇到任何问题,请随时在 GitHub Issues 上报告问题,或通过电子邮件与 Chi Zhang 博士联系(dr.zhang.chi@outlook.com)。
@misc{yang2023appagent,
title={AppAgent: Multimodal Agents as Smartphone Users},
author={Chi Zhang and Zhao Yang and Jiaxuan Liu and Yucheng Han and Xin Chen and Zebiao Huang and Bin Fu and Gang Yu},
year={2023},
eprint={2312.13771},
archivePrefix={arXiv},
primaryClass={cs.CV}
}