通用计算机控制
信息革命产生了数字世界,数字世界为大模型的诞生提供了数据,也最容易实现通用人工智能(AGI)。
向数字世界 AGI 迈进,北京智源人工智能研究院、新加坡南洋理工大学、北京大学携手提出通用计算机控制 General Computer Control (GCC),即智能体需要像人一样看屏幕,通过键盘、鼠标完成计算机上的所有任务。在过去很长一段时间里,人工智能研究以游戏为场景,而 GCC 将为通用人工智能研究提供场景,也将进一步促进大模型和 AI Agents 的落地与产业化。
为此,研究团队提出通用计算机控制智能体框架 Cradle,使智能体不依赖任何内部 API 直接控制键盘、鼠标和任何软件交互,无论开源还是闭源,甚至能玩《荒野大镖客 2》这样的商业 3A 游戏大作!
随着大模型的发展,越来越多的智能体(AI Agents)研究关注计算机控制,包括浏览网页、操作智能手机、玩游戏等。然而,已有研究依赖内部 API 获取输入,并输出预先定义好的动作。要构建能完成计算机上一切任务的通用智能体,必须使用最通用和最标准的输入输出与计算机进行交互。因此,通用计算机控制使用统一的输入和输出,从而让智能体的通用性变为可能。
但通用性带来了操作上的难度:(1)使用计算机屏幕作为输入对智能体的视频理解能力提出了更高的要求,例如由于没有内部 API,需要通过视觉信息判断动作是否执行成功;(2)使用键盘和鼠标操作作为输出使得智能体需要更高的时空操作精度,比如键盘按键和鼠标点击通常额外涉及时间维度。如何解决这些难题是构建通用计算机控制智能体 (GCC Agents) 的挑战!
Cradle:操控一切软件
「计算机指任何以用户为中心的计算设备,包括 PC、智能手机和平板电脑等。尽管 Cradle 着重于键盘和鼠标操作,但可以很容易扩展到控制手柄和触摸屏等」
通用计算机控制智能体框架 Cradle 主要由 6 个模块组成:信息收集、自我反思、任务推断、技能管理、行动计划以及记忆模块。Cradle 高度的通用性来源于其对和计算机交互过程中的原始输入输出的合理封装和抽象。以从屏幕中显示的视频作为输入,提取其中的文本和视觉信息进行决策,并且输出底层操作系统中控制键盘和鼠标的信号去和计算机交互,使得其可以不依赖于任何假设与所有软件进行交互。
「Cradle 主要由信息收集、自我反思、任务推断、技能管理、行动计划以及记忆模块等 6 个模块组成,其强大的决策推理来自于 “反思过去,总结现在,规划未来”」
同时 Cradle 强大的决策推理模块让其得以自发和软件进行交互并且完成任务,这个过程可以被简单地总结为:反思过去,总结现在,规划未来。
在决策推理的同时,Cradle 会周期性地总结和维护储存在情境记忆中的历史信息以及储存在长期记忆中的技能。这一过程的大脑是多模态大模型,如 GPT-4V,但是 Cradle 为其添加了总结、反思以及记忆等功能,形成了完整的面向通用计算机控制的智能体框架,有效解决了通用性所带来的难题。
Cradle:带你从头开始探索《荒野大镖客 2》
为了证明框架的通用性和强大的决策能力,研究团队选择将 Cradle 部署到最为困难以及鲜有人探索的的商业 3A 游戏大作《荒野大镖客 2》。他们认为作为操作最为困难的软件,假如 Cradle 能够在 3A 游戏上自由探索甚至完成主线剧情,那么说明该框架有巨大潜力泛化到其他游戏和软件上。
「与 Minecraft 这样的开源游戏不同,大多数商业游戏特别是 3A 游戏并不提供内部 API 接口,使得类似 Voyager 这样的依赖内部 API 获取输入并输出预定义动作的框架无法迁移到其他游戏中」
以 GPT-4V 为基础,Cradle 能直接根据游戏内的提示和教程生成对应的可执行代码作为技能,一步步丰富自己的技能库, 并在之后的游戏中重复使用这些技能。
在执行了错误动作之后,Cradle 能够有效地通过反思来发现并且纠正错误。
Cradle 不仅能从头开始跟随游戏指引生成相应技能,完成长达 40 分钟时的主线剧情,还能在开放世界自由探索,骑马,打猎,战斗,与 NPC 对话,使用道具,操作地图,甚至商店购物,均不在话下。这是首个能长时间游玩商业 3A 游戏的智能体。
结束语
开源的 Cradle 代码可以很容易扩展到其他软件和游戏。研究团队表示,为了能够实现真正的通用计算机控制,后续 Cradle 还将移植到更多软件和游戏上,也鼓励相关研究团队 / 工业界开展进一步研究与探索。目标是让智能体可以与无论是开源还是闭源的所有软件进行交互并持续自我提升,实现通用性,最终成为通用人工智能诞生的摇篮。
"GCC is a cradle for AGI."
—The Cradle team