为什么 AI 能一句话操作手机和电脑?(GUI Agent 最新综述)
随着人工智能技术的不断进步,大型语言模型(LLMs)正在改变我们与图形用户界面(GUI)的互动方式。本文综述了如何利用LLMs增强GUI自动化代理的能力,通过自然语言指令实现对手机和电脑的智能操作。这种技术的发展不仅提高了自动化的灵活性和智能性,还为GUI自动化领域带来了新的研究方向和应用前景。
来自《Large Language Model-Brained GUI Agents: A Survey》综述总结
这篇文章要解决的问题是如何利用大型语言模型(LLMs)来增强图形用户界面(GUI)自动化代理的能力。具体来说,研究如何通过LLMs的解释复杂GUI元素和基于自然语言指令自主执行动作来实现更智能、更灵活的自动化。
该问题的研究相关工作包括早期的基于脚本或规则的方法、近年来引入的机器学习和计算机视觉技术、以及最近的大型语言模型在GUI自动化中的应用。
利用大型语言模型(LLMs)来增强GUI自动化代理的方法:
架构和流程:一个基本的LLM驱动GUI代理的架构,包括操作环境、提示工程、模型推理、动作执行和内存管理五个主要组件。操作环境负责感知当前环境状态,提示工程构建输入提示以指导LLM进行推理,模型推理生成计划和动作,动作执行模拟用户操作,内存管理用于跟踪多步骤任务的状态。
平台特定感知:针对不同平台(移动设备、Web、桌面操作系统),代理使用不同的工具和技术来感知环境状态。例如,移动设备使用Accessibility API,Web使用Selenium,桌面操作系统使用Windows UI Automation。
提示工程:提示工程是关键步骤,涉及将用户请求、环境状态、可用动作等信息整合成一个结构化的输入提示。公式:Prompt=User Request+Agent Instruction+Environment States+Action Documents+Demonstrated Examples+Complementary Information
模型推理:模型推理部分将结构化提示输入到LLM中,生成计划和动作。LLM可以生成多种类型的输出,包括规划、动作和补充信息。
动作执行:动作执行部分将推理结果转化为具体的用户界面操作,如点击、输入文本、滚动等。代理还使用各种工具和技术来增强其操作能力,如API调用和AI工具。
关键问题及回答
问题1:LLM-brained GUI代理在架构和流程上有哪些关键组件?它们各自的作用是什么?
LLM-brained GUI代理的架构包括五个主要组件:操作环境、提示工程、模型推理、动作执行和内存管理。
操作环境:负责感知当前环境状态,包括通过截图、控件属性和UI元素树等方式获取GUI的视觉和结构信息。
提示工程:将用户指令和环境数据整合成结构化输入,确保LLMs能够理解任务需求并生成合适的动作。提示包括用户指令、环境状态、动作文档、示范示例和补充信息等。
模型推理:通过LLMs生成计划和动作。推理过程包括规划和动作推断两个主要步骤。规划部分将长期任务分解为可管理的子任务,并使用链式思维(CoT)等方法进行规划;动作推断部分则将规划结果转化为具体的动作序列。
动作执行:将推理结果转化为实际的动作,这些动作可以是标准的UI操作、原生API调用或AI工具的使用。通过这些动作,代理能够在GUI环境中执行复杂的任务。
内存管理:对于多步任务的执行至关重要。短期记忆(STM)用于存储当前任务的相关信息,而长期记忆(LTM)则用于存储历史任务数据和策略。通过内存管理,代理能够在多步任务中保持连续性和一致性。
这些组件共同确保LLM-brained GUI代理能够高效、准确地执行复杂的GUI自动化任务。
问题2:LLM-brained GUI代理在数据收集和预处理方面有哪些具体的方法和步骤?
数据收集:
用户指令:可以通过人工设计、现有数据集或LLM生成。人工设计的指令需要确保覆盖各种实际应用场景,现有数据集可以提供初始的指令样本,而LLM生成则可以扩展指令的多样性和复杂性。
环境感知:包括GUI截图、控件属性和UI元素树等。截图可以通过屏幕捕捉工具获取,控件属性和UI元素树则可以通过专门的工具和库提取。
任务轨迹:需要记录代理执行任务过程中的每一步操作,包括点击、输入、滚动等,以生成完整的任务轨迹。
数据预处理:
数据清洗:去除重复、无效或错误的数据,确保数据的准确性和一致性。
去重:识别并消除数据集中的重复项,避免对模型训练造成干扰。
格式化:将数据转换为适合模型训练的格式,如统一的数据结构和编码方式。
数据增强:通过变换、扩充和裁剪等手段增加数据集的多样性和复杂性,提高模型的泛化能力。
通过这些数据收集和预处理步骤,LLM-brained GUI代理能够获得高质量、多样化的训练数据,从而提升其在复杂GUI环境中的表现。
问题3:LLM-brained GUI代理在模型推理和动作执行方面有哪些创新的技术和方法?
模型推理:
规划和动作推断:将长期任务分解为可管理的子任务,并使用链式思维(CoT)等方法进行规划。动作推断部分则将规划结果转化为具体的动作序列。
多模态处理:结合文本和图像信息,提升模型对复杂GUI环境的理解能力。例如,使用视觉语言模型(VLM)和视觉变换器(ViT)结合文本和图像数据进行推理。
强化学习:通过强化学习优化代理的动作选择和执行策略,特别是在需要多步操作和长期规划的任务中表现优异。
动作执行:
标准UI操作:包括点击、输入、滚动等基本的用户界面操作。
原生API调用:利用特定应用的API进行更复杂的任务操作,如文件操作、网络请求等。
AI工具的使用:集成OCR、图像生成、数据分析等AI工具,提升代理在复杂任务中的表现。例如,使用DALL·E生成图像,使用ChatGPT进行文本生成和问答。
这些创新的技术和方法使得LLM-brained GUI代理能够在复杂多变的GUI环境中实现高效的自动化任务,提升了代理的适应性和智能化水平。
本文由人人都是产品经理作者【陈宇明】,微信公众号:【码个蛋】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
- 目前还没评论,等你发挥!