DroidBot-GPT: GPT-powered UI Automation for Android论文学习

本文介绍了DroidBot GPT,这是一种利用类似GPT的大型语言模型(LLM)自动化与Android移动应用程序交互的工具。给定所需任务的自然语言描述,DroidBot GPT可以自动生成并执行导航应用程序以完成任务的操作。它的工作原理是将应用程序GUI状态信息和智能手机屏幕上的可用操作转换为自然语言提示,并要求LLM选择操作。

除此之外,我们介绍如何自动生成自然语言来描述移动应用程序中的任务、状态和动作。通过建立LLM,我们能够为这些任务确定适当的行动顺序。我们认为,这项技术为在决策和机器人过程自动化中使用大型语言模型提供了一个有趣的机会。

可以看到本文章没有使用多模态模型,只把截图转化为了文字告诉GPT。

流程图如图所示

这里讲一下把UI界面转化为文本的一些细节:

给定一个图形用户界面,我们首先提取所有用户可见的元素并检查它们的属性。对于每个元素,我们生成一个提示"a view<name>that can...",后面是图3所示的所有属性提示。

然后,我们将所有元素与前面的文本"当前状态具有以下UI视图和相应的操作,操作id在括号中"相结合。我们可以使用上述规则将UI树转换为自然语言句子。

这么做是为了避免文本过长。假如使用嵌套结构标准的表示UI元素的话,文本过长。

除了GUI描述和动作空间外,提示还应包括历史动作序列,以避免重复。因此,提示由任务、具有它们提供的动作选项的GUI元素、动作历史以及输出应该是单选还是要键入的句子的要求组成。

但是,这篇文章的工作也会被无文字描述的UI元素,模糊的UI关系和动作等东西gank。个人认为这归根结底是因为它没有直接使用截图,还是以纯文本的形式在描述UI,这样会损失大量信息,有很多东西干脆就表示不了,以后不可能使用这种方法了。

相关推荐
小白郭莫搞科技5 小时前
鸿蒙跨端框架Flutter学习:CustomTween自定义Tween详解
学习·flutter·harmonyos
阳光九叶草LXGZXJ6 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
A9better8 小时前
嵌入式开发学习日志53——互斥量
stm32·嵌入式硬件·学习
进阶小白猿9 小时前
Java技术八股学习Day30
java·开发语言·学习
近津薪荼9 小时前
优选算法——双指针6(单调性)
c++·学习·算法
修修修也9 小时前
【无标题】技术欲望是怎样渐进增长的?
学习
whale fall9 小时前
celery -A tool.src.main worker --loglevel=info --queues=worker1_queue & 什么意思
python·学习·apache
wotaifuzao11 小时前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil
31087487612 小时前
0005.C/C++学习笔记5
c语言·c++·学习
缘友一世12 小时前
张量并行和流水线并行原理深入理解与思考
学习·llm·pp·tp