AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AIOS:LLM 智能体操作系统开源实现
发布日期:2024-04-18 17:14:15 浏览次数: 1835


基于LLM 的智能代理在集成和部署过程中遇到许多挑战,这些挑战会影响其效率和效能。具体问题包括,在 LLM 上分配智能体请求的调度和资源分配不理想,智能体和 LLM 交互过程中难以保持上下文,以及集成具有不同能力和领域的异构智能体的固有复杂性。智能体数量和复杂性的快速增长进一步恶化了这些问题,常常导致系统瓶颈和资源利用率低下。
开源地址:https://github.com/agiresearch/AIOS论文地址:https://arxiv.org/pdf/2403.16971.pdf
为了应对这些挑战,提出了一种名为 AIOS 的 LLM 智能体操作系统。AIOS 将大型语言模型嵌入操作系统 (OS) ,使其成为操作系统的核心,从而创建具有 “灵魂” 的操作系统,这朝着实现人工通用智能 (AGI) 迈出了重要一步。具体而言,AIOS旨在优化资源分配,促进智能体之间的上下文切换,支持智能体的并发执行,为智能体提供工具服务,并维护智能体的访问控制。展示了这种操作系统的架构,概述了它旨在解决的核心挑战,并提供了 AIOS 的基本设计和实现。关于多个智能体并发执行的实验表明了我们 AIOS 模块的可靠性和效率。通过这项工作,不仅希望提高 LLM 智能体的性能和效率,而且还希望为未来更佳地开发和部署 AIOS 生态系统铺平道路。 
例如,给定用户旅行安排请求,旅行代理将任务分解成可执行的步骤。然后,它按顺序执行这些步骤来预订航班、预订酒店、处理付款以及根据用户的偏好更新日历。在计划执行过程中,代理展示了推理和决策能力,这使其区别于传统软件应用程序,后者仅限于预定义的一组功能或工作流程。要实现这个旅行场景,代理需要同时与 LLM 服务(例如,检索和理解用户偏好、决定调用哪个工具 API、生成评论和回复)和传统操作系统 (OS) 服务(例如,访问磁盘驱动器和执行软件)进行交互。
这些代理旨在理解指令、处理信息、做出决策并采取行动以实现自主状态。大型语言模型 (LLM) 的出现为代理开发带来了新的可能性 。当前的 LLM 在理解指令、推理和解决问题 、与人类用户互动以及外部环境方面展示了强大能力。基于这些强大的 LLM,新兴的基于 LLM 的代理可以展现出在各种环境中强大的任务完成能力,范围从虚拟助手到涉及复杂创意问题解决、规划和推理的更复杂的系统。
随着代理数量和复杂性的指数级增长,对 LLM 和操作系统的功能需求也越来越大。
AIOS 架构

AIOS 结构划分
应用层 (Application Layer)
应用层是AIOS架构中最高层,主要负责代理应用程序的开发和部署。在这一层,AIOS提供了AIOS软件开发工具包(SDK),它提供了更高级别的系统调用抽象,简化了代理开发者的开发过程。SDK包括了一系列工具和库,使得开发者能够专注于代理的核心逻辑和功能,而不必过多关注底层系统功能的复杂性。通过这种方式,AIOS支持开发者更高效地开发和部署代理应用程序。
内核层 (Kernel Layer)
内核层是AIOS架构的核心,分为两个主要组件:OS内核和LLM内核。这两个内核分别服务于非LLM和LLM特定的操作需求。
OS内核:处理传统的操作系统任务,如进程调度、内存管理、文件系统管理等。
LLM内核:专注于LLM特定的任务,如上下文管理、代理调度等。LLM内核包含了多个关键模块,如代理调度器、上下文管理器、内存管理器、存储管理器、工具管理器和访问管理器。这些模块共同工作,以支持代理应用程序的多样化执行需求,并确保在AIOS框架内的高效管理和执行。
硬件层 (Hardware Layer)
硬件层是AIOS架构的最底层,包括了系统的物理组件,如CPU、GPU、内存、磁盘和外围设备。在这一层,LLM内核的系统调用不能直接与硬件交互。相反,这些调用通过OS的系统调用来管理硬件资源。这种间接交互确保了抽象层和安全性,允许LLM内核利用硬件能力,而不需要直接管理硬件,从而维护系统的完整性和效率。
AIOS的层次结构设计旨在提供一个清晰的责任划分和模块化系统,使得代理应用程序能够有效地利用LLM和传统操作系统服务,同时保持系统的安全性和高效率。通过这种分层架构,AIOS能够支持复杂的多模态任务,推动LLM代理的发展和应用。
AIOS 实现细节
代理调度器 (Agent Scheduler)

代理调度器负责以高效的方式管理代理请求。它采用如先进先出(FIFO)、轮询(RR)等调度策略来优化代理任务的处理。通过并发执行,调度器平衡了各个代理的等待时间和周转时间,确保没有单一代理长时间占用处理资源,同时最小化空闲时间。
上下文管理器 (Context Manager)

上下文管理器负责管理提供给LLM的上下文及其生成过程。它主要涉及两个关键功能:上下文快照和恢复,以及上下文窗口管理。快照功能在代理请求被调度器挂起时捕获LLM当前生成状态,而恢复功能则在资源再次可用时重新加载保存的状态,从而使LLM能够从挂起点继续生成响应。此外,上下文窗口管理功能通过文本摘要和扩展技术来处理长上下文,增强LLM处理和理解大量信息的能力。

内存管理器 (Memory Manager)
内存管理器管理代理生命周期内的短期内存,确保数据仅在代理处于活动状态时存储和可访问。AIOS支持独立存储每个代理的内存,除非经过访问管理器的授权,否则其他代理无法直接访问。内存管理器支持快速数据检索和处理,便于快速响应用户查询和交互。
存储管理器 (Storage Manager)

内存管理器相对,存储管理器负责长期保存数据,监督需要无限期保留的信息的存储,这些信息超出了任何单个代理的生命周期。AIOS通过本地文件、数据库或基于云的解决方案等多种持久化介质实现永久存储,确保数据的完整性和可用性。

工具管理器 (Tool Manager)

工具管理器在AIOS系统中管理各种API工具,这些工具增强了LLM的功能。工具管理器整合了来自不同来源的常用工具,并将其分类为不同类别,如网络搜索、科学计算、数据库检索、图像处理等,从而支持代理开发。
访问管理器 (Access Manager)
访问管理器通过为每个代理管理一个专用的权限组来协调不同代理之间的访问控制操作。未包含在代理权限组中的其他代理被拒绝访问其资源,如交互历史。访问管理器还维护审计日志,记录访问请求、代理活动和对访问控制参数的任何修改,以防止潜在的权限攻击。
LLM系统调用 (LLM System Call)
LLM内核中的LLM系统调用接口被设计为提供基本的LLM调用操作功能。该接口作为复杂代理请求和不同内核模块执行之间的桥梁。LLM系统调用提供了一系列基本功能,涵盖内核模块的各个方面,包括代理管理、上下文处理、内存和存储操作以及访问控制。
AIOS软件开发工具包 (SDK)

AIOS SDK旨在为开发者提供一套多功能工具包,以便在AIOS中开发复杂的代理应用程序。SDK包括从初始化代理和代理生命周期管理到资源监控和代理任务生成计划等一系列功能。随着代理应用程序需求的发展,SDK将不断更新和扩展,以满足开发者的需求。
这些模块共同构成了AIOS的实现基础,使得系统能够有效地支持LLM代理的运行和管理。通过这些模块的协同工作,AIOS能够处理复杂的任务,优化资源使用,并提供高效、可靠的代理服务。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询