问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

AIOS:基于大模型的Agent操作系统架构

创作时间:
作者:
@小白创作中心

AIOS:基于大模型的Agent操作系统架构

引用
1
来源
1.
https://cloud.tencent.com/developer/article/2403116

随着大语言模型(LLM)在自主Agent领域的应用日益增多,如何高效管理和调度这些Agent成为一项重要挑战。为此,研究者们提出了一个基于大模型的操作系统架构:AIOS(AI Operating System)。该架构将LLM作为操作系统的“大脑”,优化Agent请求的调度,支持上下文切换,实现并发执行,并提供工具服务和访问控制,结果表明了AIOS在多Agent并行执行时的可靠性,展示了其在改善资源利用和提升Agent性能方面的潜力。

背景介绍

对于自主Agent的研究,其终极目标是开发无需人为干预即可独立执行任务的系统,并且在指令理解、信息处理、决策判断等方面都能实现自主状态。大语言模型(LLM)的出现为自主Agent的开发带来了新的可能性。目前的LLMs在理解指令、知识检索、推理问答、人机交互等方面表现出了强大的能力。基于这些强大的LLM,新兴的LLM Agent将能够在多样化的环境中展示惊人的任务执行能力。

上图展示了LLMs Agent在旅行规划上应用案例。首先旅行Agent会根据用户请求,将旅行规划分解为多个可执行的任务;然后,它会根据用户的偏好按顺序执行预订航班、预订酒店、处理付款和更新日历的步骤。在计划执行过程中,Agent展现出了较强的推理决策能力。为了实现这种旅行助理场景,Agent需要将LLMs服务和传统操作系统服务整合到一块。

随着Agent数量和复杂性的急速增长,这对LLMs和操作系统的功能提出了更多的要求。例如,在有限的LLMs服务资源中,Agent需要优先调用LLMs服务就存在一定的挑战。此外,当LLMs面对长篇上下文时,生成速度会变慢,耗时增长,有时会导致生成被调度程序暂停。这就产生了一个机制问题,即如何快照LLM当前生成结果,从而即使LLM尚未完成当前请求的响应生成,也不会影响正常流程进行。

此外,一旦Agent获得了可用工具API的列表,确定调用这些工具的最优顺序就构成了另一个挑战,因为多个Agent可能需要调用相同的工具。此外,多个Agent的并发操作需要一个强大的内存管理系统,同时还要做好隐私、访问严格控制。

为了解决上述挑战,文章提出了AIOS,这是一个LLM Agent操作系统,将大语言模型嵌入到操作系统中,作为操作系统的“大脑”,使其成为一个“有灵魂”的操作系统——这是迈向人工通用智能(AGI)的重要一步。具体来说,AIOS旨在优化资源分配,促进Agent之间的上下文切换,实现Agent的并发执行,为Agent提供工具服务,并维护Agent的访问控制。

操作系统与大模型Agent

操作系统的发展包括了从批处理到多任务处理的转变,以及图形用户界面(GUI)的出现,这些都极大地提高了操作系统的交互性和易用性。同时,操作系统生态系统的发展为软件开发提供了丰富的工具和资源,促进了应用程序的高效开发和部署。如今,我们正处于一个变革阶段,即将看到智能操作系统。通过整合大语言模型(LLMs),这些先进的系统有望进一步缩小人机之间的交流差距,开启一个新的用户-计算机交互时代。

关于LLM自主Agent的研究,这些Agent能够根据自然语言指令执行复杂任务。研究分为单Agent系统和多Agent系统两大类:

  • 单Agent系统:这些系统使用单个LLM Agent来完成如旅行规划、个性化推荐等任务。Agent能够分解任务并调用外部工具或与环境交互来完成任务。
  • 多Agent系统:利用多个Agent之间的交互来解决问题。多个Agent之间的关系可能是合作的、竞争的,或者是合作与竞争的混合。在合作型多Agent系统中,每个Agent获取并评估其他Agent提供的信息,从而共同解决复杂任务,如角色扮演、社会模拟和软件开发。

AIOS架构

如下图所示,AIOS架构共分为三个不同的层:应用程序层、内核层和硬件层。这种分层架构确保了整个系统的职责划分清晰,促进了接口或者特定模块的交互,从而增强模块化并简化不同层之间的系统交互。

应用层 (Application Layer)主要用来开发和部署Agent应用程序,如旅行Agent或数学Agent。AIOS在这一层提供了AIOS软件开发工具包(SDK),它提供了更高级别的系统调用抽象,简化了Agent开发者的开发过程,使开发者能够专注于Agent的核心逻辑和功能,从而提高开发效率。

内核层 (Kernel Layer)该层主要由两个组件组成:OS内核和LLM内核。其中,这两个内核分别服务于非LLM操作和LLM特定操作的独特需求。

  • OS内核:处理传统的操作系统功能,如进程调度、内存管理和文件系统管理。
  • LLM内核:专注于LLM特定任务,如上下文管理和Agent调度。LLM内核配备了几个关键模块,包括LLM系统调用接口、Agent调度器、上下文管理器、内存管理器、存储管理器、工具管理器和访问管理器。这些组件旨在解决Agent应用程序的多样化执行需求,确保在AIOS框架内进行高效的管理和执行。

硬件层 (Hardware Layer)该层包括系统的物理组件,如CPU、GPU、内存、磁盘和外围设备。LLM内核的系统调用不能直接与硬件交互,而是通过OS的系统调用来管理硬件资源。这种间接交互确保了抽象层和安全性,允许LLM内核利用硬件能力而无需要直接管理硬件,从而保持了系统的完整性和效率。

AIOS实现

关于AIOS的实现,作者首先概述了 LLM 内核中每个模块的基本设计和实现;然后介绍了 LLM 系统调用,其中包含每个模块的基本功能;最后讨论了AIOS SDK的探索,旨在方便Agent开发者的开发过程。

AIOS架构中的6个主要模块:

  • Agent调度器 (Agent Scheduler)优化LLM资源的使用,通过FIFO、RR等调度算法来优先处理和调度Agent请求。如下图所示:

  • 上下文管理器 (Context Manager)支持LLM的上下文快照和恢复,以及管理LLM的上下文窗口。如下图所示:

  • 内存管理器 (Memory Manager)为每个Agent的交互日志提供短期内存,并确保数据仅在Agent活跃时存储和可访问。如下图所示:

  • 存储管理器 (Storage Manager)负责长期存储数据,通过本地文件、数据库或云解决方案来确保数据的完整性和可用性。
  • 工具管理器 (Tool Manager)管理一系列API工具,这些工具增强了LLM的功能,涵盖了网络搜索、科学计算、数据库检索、图像处理等多个类别。
  • 访问管理器 (Access Manager)通过为每个Agent管理专门的权限组来协调不同Agent之间的访问控制操作。

LLM系统调用LLM内核内的LLM系统调用接口被设计为提供基本的LLM调用操作功能。这个接口作为复杂Agent请求和不同内核模块执行之间的桥梁。LLM系统调用提供了一系列基本功能,涵盖内核模块的各个方面,包括Agent管理、上下文处理、内存和存储操作以及访问控制。

AIOS SDK为开发者提供了一个多功能工具包,用于在AIOS内开发复杂的Agent应用程序。SDK包括从初始化Agent和Agent生命周期管理到资源监控和Agent任务生成计划等一系列功能。

实验结果

一致性分析使用BLEU分数和BERT分数作为评估指标来评估多个Agent并行运行与单个Agent依次运行时输出的一致性。结果显示,BLEU和BERT分数都达到了1.0,表明多Agent和单Agent配置下生成的输出之间完全对齐,证实了设计在有效促进并行多Agent操作方面的一致性。

性能分析作者进行了AIOS使用FIFO调度和非调度方法(即顺序执行)的比较分析。结果表明,非调度方法对序列早期的Agent表现良好,但牺牲了序列后期Agent的等待时间和周转时间。相反,AIOS的调度机制有效地调节了等待时间和周转时间,特别是对于后续Agent的请求,当LLM较大时,这种优势尤为明显。这表明调度对于适应多个Agent的并行操作非常重要。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号