ScreenAgent是什么
ScreenAgent是一个由吉林大学人工智能学院的研究团队开发的计算机控制智能体,该智能体是基于视觉语言模型(VLM)构建的,能够与真实计算机屏幕进行交互。研究人员构建了一个包含“计划-执行-反思”的运行流程,以引导智能体与计算机屏幕进行持续性的交互。ScreenAgent的核心功能是通过观察屏幕截图,并输出相应的鼠标和键盘动作来操纵图形用户界面(GUI),从而执行多步骤的复杂任务。
ScreenAgent的官网入口
- 官方GitHub代码库:https://github.com/niuzaisheng/ScreenAgent
- Arxiv研究论文入口:https://arxiv.org/abs/2402.07945
ScreenAgent的运行流程
- 屏幕观察:ScreenAgent能够观察和理解计算机屏幕上的截图。该特性通过VNC协议实现,允许智能体查看桌面操作系统的实时图像。
- 动作生成:基于观察到的屏幕截图,ScreenAgent可以生成相应的鼠标和键盘动作。这些动作以JSON格式的命令序列输出,包括移动鼠标、点击、双击、滚动、拖动以及键盘输入等。
- 任务规划:ScreenAgent 能够根据用户的任务提示,分解复杂的任务为一系列子任务,并为每个子任务规划相应的动作序列。这涉及到对任务的理解、分解和策略制定。
- 执行动作:在规划阶段之后,ScreenAgent执行规划好的子任务,通过发送鼠标和键盘动作命令到计算机,以实现用户的目标。
- 反思评估:在执行动作之后,ScreenAgent会评估执行的结果,决定是否需要重试当前子任务、继续执行下一个子任务,或者调整整个计划。
ScreenAgent的技术原理
- 视觉语言模型(VLM):
- VLM是一种结合了视觉和语言处理能力的模型,它可以理解图像内容并生成相应的自然语言描述。
- 在ScreenAgent中,VLM用于解析屏幕截图,理解用户的任务提示,并规划出一系列动作来完成任务。
- 强化学习环境:
- ScreenAgent通过VNC协议与真实计算机屏幕交互,创建了一个强化学习环境。在这个环境中,智能体可以观察屏幕状态(状态空间),执行动作(动作空间),并根据执行结果获得奖励(奖励函数)。
- 控制流程:
- 计划(Planning):智能体根据当前屏幕截图和任务提示,分解任务并规划一系列子任务和相应的动作序列。
- 执行(Acting):智能体根据规划阶段的输出,通过发送鼠标和键盘动作命令来操纵计算机界面。
- 反思(Reflecting):智能体评估执行动作后的结果,决定是否需要重试、继续或调整计划。
- 数据集和评估:
- ScreenAgent数据集包含了完成各种日常计算机任务时的屏幕截图和动作序列,用于训练和评估模型。
- CC-Score(Vision Language Computer Control Score)是一个细粒度的评估指标,用于衡量智能体在计算机控制任务中的表现。
- 模型训练:
- ScreenAgent 模型通过在 ScreenAgent 数据集上进行训练,学习如何有效地规划、执行和反思以完成复杂的计算机控制任务。训练过程中采用多种技术,如监督学习、强化学习以及人类反馈循环(RLHF)等。
© 版权声明
文章版权归作者所有,未经允许请勿转载。