shadowrocket 2019
近日,昆仑万维携手北京智源人工智能研究院、新加坡南洋理工大学、北京大学等顶尖名校机构,提出通用计算机控制框架Cradle,使AI Agent无需训练便能像人一样直接控制键盘鼠标,不依赖任何内部API,实现任意开闭源软件交互。
Cradle是迄今为止第一个既能玩多种商业游戏又能操作各种软件应用的AI框架,其论文、项目、代码均已开源。
Cradle不仅能够在游戏《荒野大镖客2》中完成长达40分钟的主线任务,在《星露谷物语》中清理农场、种地、购物,在《城市天际线》中建造出千人小镇,在《当铺人生2》中和客户讨价还价,最高获得87%的周收益率;还能够用Chrome浏览网页、用Outlook发送邮件、用飞书办公;甚至能用美图秀秀修图,用剪映剪辑视频,成为真正的全能AI Agent。
随着大模型的发展,越来越多的智能体(AI Agents)研究关注计算机控制,包括浏览网页、操作智能手机、玩游戏等。然而,已有研究依赖软件内部API获取输入,并输出预先定义好的动作,无法真正像人类一样通过眼、脑、手的配合操控计算机。
要构建能完成计算机上一切任务的通用智能体,必须使用最通用和最标准的输入输出与计算机进行交互。因此,通用计算机控制使用统一的输入和输出,从而让智能体的通用性变为可能。
(1)使用计算机屏幕作为输入对智能体的视频理解能力提出了更高的要求,例如由于没有内部API,需要通过视觉信息判断动作是否执行成功;
(2)使用键盘和鼠标操作作为输出使得智能体需要更高的时空操作精度,比如键盘按键和鼠标点击通常额外涉及时间维度;
(3)许多计算机上的复杂任务往往需要连续执行成百上千次的正确操作才能完成,是智能体的长程规划决策和历史信息维护处理能力的一大挑战;
Cradle一共由6个模块组成:信息收集、自我反思、任务推断、技能管理、行动规划,以及记忆模块。
Cradle高度的通用性来源于其对和电脑交互过程中的原始输入输出的合理封装和抽象,以从屏幕中显示的视频图像作为输入,提取其中的文本和视觉信息进行决策shadowrocket 2019,并且输出最底层的操作系统中控制键盘和鼠标的信号去和电脑交互,使得其可以不依赖于任何假设和任何内部API进行交互。
同时,Cradle强大的决策推理模块让其得以自发和软件进行交互并且完成任务,这个过程可以被简单地总结为:反思过去,总结现在,规划未来。
反思过去:Cradle使用执行过往动作过程的视频作为输入,分别提取出其中关键的文本和视觉信息,通过反思来判断上一步动作是否执行成功任务是否完成以及如何改进。
总结现在:反思完之后,Cradle需要总结当前情况,并且以此为根据来决定是否更换任务目标或是修改任务内容。
规划未来:最后Cradle会根据当前任务以及现状生成或者更新自身的技能,并且从已经学会的技能中检索一部分和当前任务相关的技能作为备选,然后从中选取合适的技能实例化为动作去执行。
在决策推理的同时,Cradle还会周期性地总结和维护储存在情境记忆中的历史信息以及储存在周期性记忆中的技能。在此过程中,Cradle为其添加了记忆,总结和反思的功能,进一步提升了其对于决策过程中的观察和行为的理解。
Cradle能直接根据游戏内的提示和教程或是自我探索的方式生成对应的操作键鼠的可执行代码作为技能,一步步丰富自己的技能库,并在之后的游戏中重复使用这些技能。
为了验证Cradle的通用性,研究者们选择了4款风格迥异,操作各不相同的经典游戏进行测试,从第三视角的3D角色扮演类游戏《荒野大镖客2》到2D固定视角的模拟经营类游戏《星露谷物语》到俯视角的城市规划类游戏《城市天际线》再到侧重交易策略的模拟经营类游戏《当铺人生2》,并分别设计了不同的任务。
Cradle在《荒野大镖客2》的主线剧情任务以及开放世界任务中均有出色表现,能够连续完成长达40分钟的2个完整主线任务,骑马、战斗、购物样样在行。
Cradle在其他游戏任务中均能胜任。在《城市天际线》中修路、保障水电供应,合理划分居民、商业和工业区,建立起千人小镇;在《星露谷物语》中清理农场杂物、种地收获作物、购买种子;在《当铺人生2》中在和客户讨价还价近2轮后以93.6%的交易成功率达成了平均39.6%的周收益率。
Cradle在日常软件应用的各项任务执行上表现不俗,如论文下载、发邮件、修图、剪视频、发送飞书文件等。
同时,Cradle在非常有挑战性的benchmark OSWorld上也同样击败了使用真值作为标签的基线方法。
此前,大量关于AI智能体的研究都依赖于计算机内部API的信息获取,无法让AI真正“像人类一样”通过眼、脑、手的配合与计算机进行互动,其环境、行为、动作都相对固定,难以实现跨软件、跨平台的通用智能。
Cradle极大程度地扩展了智能体可以交互的范围,并且证明了将一切软件转化为测试智能体不同能力的testbed的可能性,其所提出的通用计算机控制的设定统一了输入输出的接口,促进了统一粒度数据的搜集,为未来Agent在各个环境中交互并且自我提升打下了坚实的基础。