当前位置:AIGC资讯 > AIGC > 正文

OS-Copilot:自学习的通用计算机智能体

人工智能咨询培训老师叶梓 转载标明出处

现有的计算机智能体大多局限于特定应用或领域,难以应对多样化和不断变化的计算机操作需求。这种局限性不仅限制了智能体的实用性,也阻碍了其在更广泛场景中的应用潜力。为了突破这一瓶颈,研究者们一直在探索如何构建能够处理更广泛任务的通用计算机智能体。

来自上海人工智能实验室、华东师范大学、普林斯顿大学和香港大学的研究团队提出了一种名为OS-Copilot的创新框架,它旨在实现可自我完善的通用计算机智能体。通过这一框架,不仅能够推动智能体在操作系统层面的深入交互,还能显著提升其在未知应用中的适应性和学习能力。OS-Copilot框架的核心在于提供一个统一的接口,使智能体能够与操作系统中的各种元素——包括网络、代码终端、文件、多媒体和第三方应用程序——进行无缝交互。

基于OS-Copilot,研究者创建了FRIDAY,这是一个自我完善的代理,能够自动化通用计算机任务。FRIDAY在GAIA基准测试中的表现超越了以前的方法,展示了通过以前任务累积的技能对未见应用的强大泛化能力。

FRIDAY 在 MacOS 系统上部署时的运行示例,包括准备专注工作环境、在 Excel 中进行计算和绘制图表、以及为 OS-Copilot 创建网站的任务

OS-Copilot 框架 

OS-Copilot 框架的设计目标是提供一个操作系统级别的语言智能体,能够处理包括网络浏览、命令行操作、文件处理和第三方应用交互等多样化任务。这一框架通过一个统一的接口,使得智能体能够与操作系统的各种功能进行交互。这种设计允许智能体在不同的环境中保持一致的行为和响应,极大地提高了其通用性和可扩展性。

OS-Copilot 框架的概览

这个框架允许智能体通过一个统一的接口与各种应用程序和操作系统功能进行交互,包括但不限于网络浏览、代码执行、文件操作和第三方应用程序控制。

OS-Copilot框架的组成部分通常包括:

规划器(Planner):负责接收用户请求并将其分解为一系列可执行的子任务。 配置器(Configurator):根据规划器提供的子任务,配置器负责检索和组织必要的工具、知识和信息,以便执行者可以完成这些子任务。 执行者(Actor):执行者是实际执行操作的组件,它根据配置器提供的信息来执行具体的任务。 批评者(Critic):批评者对执行者的行动结果进行评估,提供反馈,以便于智能体进行自我修正和学习。

规划器是OS-Copilot框架中的一个关键组件,其主要功能是将复杂的用户请求分解为更简单、更易于管理的子任务。为了实现这一目标,规划器需要理解智能体的能力,并据此生成计划。研究者们提到,OS-Copilot支持多种规划方法,包括基于有向无环图(Directed Acyclic Graph, DAG)的规划器。这种规划器允许任务并行执行,从而优化了执行时间。

有向无环图规划器的设计允许智能体同时处理多个独立任务。例如,一个深度学习编码智能体可以在监控模型训练进度的同时生成推理代码。这种并行处理能力显著提高了任务执行的效率。研究者们通过利用大型语言模型(LLMs)将计划形式化为有向无环图,每个节点代表一个任务,边则表示任务间的依赖关系。

配置器组件从规划器接收子任务,并配置这些子任务以帮助执行者完成它们。配置器的设计灵感来自于人脑的生物学特性,包括工作记忆、陈述性记忆和程序性记忆。陈述性记忆用于存储事实和事件,而程序性记忆则与技能发展能力相关。

陈述性记忆包含用户偏好、语义知识等,这对于个性化问题解决和推荐至关重要。程序性记忆主要由工具库组成,这些工具库是智能体的技能集合,存储了智能体用来执行操作系统内行动的工具。工作记忆则支持短期信息的存储和处理,是OS-Copilot设计的核心,连接了规划器、配置器和执行者组件。

工作记忆模块负责从长期记忆中检索信息,并在需要时更新这些信息。它还接收来自规划器的子任务,并从陈述性记忆(如当前工作目录)和程序性记忆(如工具文档)中收集所有相关信息,然后将这些信息传递给执行者组件。执行者的执行反馈随后被反馈到工作记忆中,以进行潜在的修订。

执行者由执行和自我批评两个阶段组成。在执行阶段,执行者根据配置提示提出可执行的操作,并在操作系统中执行这些操作。执行者生成的可执行命令或函数调用将通过OS-Copilot提供的通用运行环境在操作系统中执行。这包括Python运行环境、bash运行环境、API调用和鼠标/键盘控制。

批评者模块则评估执行结果,收集反馈以进行自我修正和改进。批评者评估的关键方面包括:确定当前子任务是否通过执行结果和环境状态分析完成;在未能完成的情况下,提供全面的错误分析并提出修正工具或操作的建议;评估是否需要重构子任务,包括添加新子任务或修改现有子任务的内容和依赖关系。

通过这些组件的协同工作,OS-Copilot框架能够支持构建出能够自我完善、处理通用计算机任务的智能体。这种设计不仅为当前的研究提供了坚实的基础,也为未来在个性化数字助手、多模态代理以及情境学习等领域的探索提供了可能。

FRIDAY 代理

研究者们通过一个具体的运行示例来展示FRIDAY智能体如何在操作系统中执行任务。这个示例不仅展示了FRIDAY的工作流程,还揭示了其自我完善和自我指导学习的能力。

配置器的架构,包括其典型工作流程和具体运行示例

配置器在一般情况下的工作流程:配置器接收来自规划器的子任务,并开始配置过程。它首先访问其内部的声明性记忆和程序性记忆,检索与当前任务相关的信息,如用户偏好、工具库和语义知识。然后配置器利用这些信息构建一个配置提示,该提示将指导执行者(Actor)执行所需的操作。

运行示例中研究者们描述了一个场景,FRIDAY接收到一个子任务,即将系统切换到暗黑模式。为了完成这个任务,FRIDAY首先利用配置跟踪器从长期记忆中检索相关信息,构建一个提示。这个提示包括了与任务相关的工具、用户配置文件、操作系统版本和智能体的工作目录等信息。在这个例子中,FRIDAY发现没有现成的工具可以直接使用,因此激活了工具生成器来为当前子任务创建一个定制的工具。这个新生成的工具是一个Python类,利用AppleScript来改变系统的外观。

随后,执行器处理这个提示,生成一个可执行的动作,并在操作系统中执行它。执行器首先将工具代码存储到一个Python文件中,然后在命令行终端执行这个代码。执行完成后,批评者评估子任务是否成功完成。如果成功,批评者会根据生成的工具的潜在未来重用性给出一个0到10的评分。在当前实现中,评分超过8的工具会被保存,并更新到程序性记忆中的工具库。

如果执行失败,FRIDAY会收集批评者的反馈,并启动自我修正过程,对负责的动作、工具或子任务进行修正。FRIDAY会不断迭代这个过程,直到子任务被认为完成,或者达到最大尝试次数。

自我指导学习是FRIDAY智能体的另一个关键特性。这种学习方式允许FRIDAY在没有外部指导的情况下,通过自我生成的任务序列来掌握新技能。例如,FRIDAY可以设定一个学习目标,如掌握电子表格操作,然后生成一系列从简单到复杂的任务。通过解决这些任务,FRIDAY能够积累有价值的工具和语义知识。

研究者们通过在SheetCopilot-20数据集上的实验来评估FRIDAY的自我指导学习能力。这个数据集包含了20个电子表格控制任务,涵盖了格式化、管理、图表、数据透视表和公式等操作。FRIDAY通过自我指导生成了10个关于操作Excel的任务,并成功解决了这些任务,自主积累了8个工具,包括计数元素和按名称删除工作表等操作。

实验结果显示,FRIDAY在没有自我指导学习的情况下无法完成任何任务,而当启用自我指导学习后,FRIDAY的表现超过了专门为电子表格任务设计的工具。这表明,FRIDAY能够通过自我指导学习有效地掌握新应用。研究者们还进行了定性分析,设计了一个任务,要求FRIDAY创建一个介绍OS-Copilot的PowerPoint幻灯片。结果显示,经过自我指导学习后,FRIDAY能够掌握如何配置文本框、更改文本颜色、调整字体大小和行距,以及调整插入图像的大小和位置,最终成功完成了任务。

实验

研究者们首先介绍了FRIDAY在GAIA基准测试中的表现。GAIA是一个为通用AI助手设计的测试基准,包含466个具有挑战性的问题回答任务。这些任务要求智能体具备多种技能,例如计算数字、浏览网页、处理视频和语音信号以及操作文件等。

设置 (Settings):FRIDAY在初始化时配备了四个基本工具,并在开发集上进行探索以积累更多的工具。这些工具帮助FRIDAY在测试集中的表现得到了提升。研究者们将FRIDAY的测试结果提交到官方评估服务器进行评估。 基线比较 (Baselines):研究者们将FRIDAY的表现与GPT-4、AutoGPT-4以及GPT-4插件等其他系统进行了比较。这些比较系统包括了依赖人类选择插件的GPT-4插件,以及专门设计用于电子表格控制的SheetCopilot。 结果 (Results):FRIDAY在一级任务中的成功率为40.86%,比之前最好的系统提高了35%。即使在最具挑战性的三级任务中,FRIDAY也显示出了6.12%的成功率,这在之前的系统中是无法实现的。 FRIDAY智能体及其他基线系统在GAIA基准测试私有测试集上的性能评估结果

研究者们进一步探讨了FRIDAY的自我指导学习能力。自我指导学习是FRIDAY能够自主提出任务并解决这些任务,从而积累经验和技能的过程。

定量分析 (Quantitative Analysis):研究者们在SheetCopilot-20数据集上进行了实验,该数据集包含20个电子表格控制任务。FRIDAY被自我指导生成了10个关于操作Excel的任务,并成功解决了这些任务,积累了8个工具。这些工具包括计数元素和按名称删除工作表等操作。实验结果显示,FRIDAY在没有自我指导学习的情况下无法完成任务,但通过自我指导学习,其表现超过了专门为电子表格任务设计的工具。 定性分析 (Qualitative Analysis):研究者们设计了一个任务,要求FRIDAY创建一个介绍OS-Copilot的PowerPoint幻灯片。任务说明详细描述了幻灯片所需的具体内容、字体、字体大小和其他细节。结果显示,经过自我指导学习后,FRIDAY能够掌握如何配置文本框、更改文本颜色、调整字体大小和行距,以及调整插入图像的大小和位置,最终成功完成了任务。 对不同智能体在 SheetCopilot-20 数据集上单次执行任务的通过率进行了比较

通过这些实验,研究者们证明了FRIDAY不仅能够通过自我指导学习来掌握新技能,还能够在面对复杂任务时展现出强大的适应性和学习能力。这种能力使得FRIDAY在通用计算机任务中具有显著的优势,为未来的智能体研究和应用提供了新的可能性。研究者们的这些发现为如何构建能够自主学习和自我完善的智能体提供了宝贵的见解。

论文链接:https://arxiv.org/abs/2402.07456

总结

**文章总结**:
本篇文章介绍了由上海人工智能实验室、华东师范大学、普林斯顿大学和香港大学研究团队提出的OS-Copilot框架及其具体实现——FRIDAY智能体。现行计算机智能体多局限于特定领域,无法有效应对多样化任务。为突破此瓶颈,研究者开发了OS-Copilot框架,旨在创建能自我完善、处理通用计算机任务的智能体。
OS-Copilot通过统一接口使智能体能与操作系统内各种元素(如网络、文件、第三方应用)无缝交互,显著提高适应性和学习能力。其核心由规划器、配置器、执行者和批评者组成,各组件协同工作以实现任务执行和自我修正。特别是利用有向无环图规划器优化任务并行处理,以及基于人脑记忆机制的配置器设计,显著提升了任务效率。
FRIDAY是基于OS-Copilot的智能体实例,展现了强大的适应性和学习能力。在GAIA基准测试中,FRIDAY表现优异,不仅超越了传统系统,还可在未知应用中通过积累知识实现技能泛化。其自我指导学习能力更是让FRIDAY能在无外部指导情况下掌握新技能,通过实验验证,成功解决了电子表格控制和幻灯片制作等复杂任务。
这些研究不仅推动了通用计算机智能体的发展,还为未来个性化数字助手、多模态代理及情境学习等领域的研究提供了新思路。详细论文内容可通过提供的论文链接进行深入了解。

更新时间 2024-08-28