Cradle: Empowering Foundation Agents Towards General Computer Control

📄 arXiv: 2403.03186v3 📥 PDF

作者: Weihao Tan, Wentao Zhang, Xinrun Xu, Haochong Xia, Ziluo Ding, Boyu Li, Bohan Zhou, Junpeng Yue, Jiechuan Jiang, Yewen Li, Ruyi An, Molei Qin, Chuqiao Zong, Longtao Zheng, Yujie Wu, Xiaoqiang Chai, Yifei Bi, Tianbao Xie, Pengjie Gu, Xiyun Li, Ceyao Zhang, Long Tian, Chaojie Wang, Xinrun Wang, Börje F. Karlsson, Bo An, Shuicheng Yan, Zongqing Lu

分类: cs.AI

发布日期: 2024-03-05 (更新: 2024-07-02)


💡 一句话要点

提出Cradle框架以解决基础代理在通用计算机控制中的泛化问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 通用计算机控制 基础代理 模块化框架 深度学习 图像理解 复杂任务 软件自动化 游戏测试

📋 核心要点

  1. 现有基础代理在不同虚拟环境中的泛化能力不足,主要由于手动设计的观察和动作空间的差异。
  2. 本文提出通用计算机控制(GCC)设置,通过统一接口使用截图和键盘鼠标操作来解决代理的交互问题。
  3. Cradle框架在多个商业游戏和软件应用中表现出色,首次实现了在复杂游戏中完成长时间任务的能力。

📝 摘要(中文)

尽管现有基础代理在特定场景中取得了成功,但在不同虚拟场景中的泛化能力仍然不足,主要由于环境的封装方式差异大。为了解决这一问题,本文提出了通用计算机控制(GCC)设置,要求基础代理通过统一的接口与软件交互,即使用截图作为输入,键盘和鼠标操作作为输出。我们引入了Cradle,一个模块化且灵活的LMM驱动框架,能够理解输入截图并在高层规划后输出可执行的低级键盘和鼠标控制代码,从而与任何软件进行交互,完成复杂任务。实验结果表明,Cradle在多个未探索的商业视频游戏和软件应用中展现了显著的泛化能力和出色的性能。

🔬 方法详解

问题定义:本文旨在解决现有基础代理在不同虚拟场景中的泛化能力不足的问题,现有方法依赖于手动设计的环境封装,限制了代理的适应性和灵活性。

核心思路:提出通用计算机控制(GCC)设置,要求代理通过统一的接口与软件交互,使用截图作为输入,键盘和鼠标操作作为输出,从而简化环境的复杂性。

技术框架:Cradle框架由六个关键模块组成,能够理解输入的截图,并在高层规划后输出可执行的代码,完成低级控制。模块包括图像理解、动作生成、任务规划等,形成一个完整的交互流程。

关键创新:Cradle是首个能够在复杂AAA游戏中完成长时间任务的基础代理,显著提升了代理的泛化能力和操作复杂软件的能力。与现有方法相比,Cradle不依赖于任何内置API,增强了灵活性。

关键设计:框架中采用了先进的图像处理技术和深度学习模型,结合特定的损失函数和优化策略,以提高对输入截图的理解和输出动作的准确性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Cradle在四个未探索的商业视频游戏和五个软件应用中表现出色,首次在《荒野大镖客2》中完成40分钟的真实任务,并在《城市:天际线》中创建千人城市,在《星露谷物语》中成功进行农作物收获,展示了87%的最大周利润。

🎯 应用场景

Cradle框架具有广泛的应用潜力,可以用于游戏测试、软件自动化操作以及人机交互等领域。其灵活的设计使得任何软件都可以转化为代理的评估基准,从而推动通用代理的发展,提升其在复杂任务中的表现。

📄 摘要(原文)

Despite the success in specific scenarios, existing foundation agents still struggle to generalize across various virtual scenarios, mainly due to the dramatically different encapsulations of environments with manually designed observation and action spaces. To handle this issue, we propose the General Computer Control (GCC) setting to restrict foundation agents to interact with software through the most unified and standardized interface, i.e., using screenshots as input and keyboard and mouse actions as output. We introduce Cradle, a modular and flexible LMM-powered framework, as a preliminary attempt towards GCC. Enhanced by six key modules, Cradle can understand input screenshots and output executable code for low-level keyboard and mouse control after high-level planning, so that Cradle can interact with any software and complete long-horizon complex tasks without relying on any built-in APIs. Experimental results show that Cradle exhibits remarkable generalizability and impressive performance across four previously unexplored commercial video games, five software applications, and a comprehensive benchmark, OSWorld. Cradle is the first to enable foundation agents to follow the main storyline and complete 40-minute-long real missions in the complex AAA game Red Dead Redemption 2 (RDR2). Cradle can also create a city of a thousand people in Cities: Skylines, farm and harvest parsnips in Stardew Valley, and trade and bargain with a maximal weekly total profit of 87% in Dealer's Life 2. Cradle can not only operate daily software, like Chrome, Outlook, and Feishu, but also edit images and videos using Meitu and CapCut. Cradle greatly extends the reach of foundation agents by enabling the easy conversion of any software, especially complex games, into benchmarks to evaluate agents' various abilities and facilitate further data collection, thus paving the way for generalist agents.