文章摘要
随着AI模型能力的提升,控制软件的复杂性增加,需要具备操作系统般的特性,如安全性、隔离性、可扩展性和可移植性。文章提出将控制软件层视为虚拟机,标准化AI模型嵌入软件的方式,并解耦模型开发与集成逻辑,使模型能够接入包含工具和安全的丰富软件生态系统。
文章总结
标题:AI模型需要虚拟机
主要内容:
随着AI模型能力的提升和扩展机制(如MCP协议)的出现,调用大型语言模型(LLM)的控制软件复杂性也随之增加。AI软件系统需要操作系统所提供的安全性、隔离性、可扩展性和可移植性等特性。例如,当AI模型需要访问文件作为其上下文的一部分时,必须建立访问控制,以确定模型是否应被允许查看该文件。因此,我们认为是时候考虑将AI模型嵌入软件的方式标准化,并将控制软件层视为虚拟机(VM),其中调用LLM可以被视为一种超级强大的机器指令。
我们的方法将模型开发与集成逻辑解耦,允许任何模型“插入”到包含工具、安全控制、内存抽象等的丰富软件生态系统中。类似于Java虚拟机(JVM)的影响,为AI编排器创建VM规范可以实现“一次编写,随处运行”的执行环境,同时提供熟悉的约束和治理,以维护现有软件系统的安全性和隐私性。
引言
AI模型被广泛应用于现有软件中,如应用助手、集成开发环境(IDE)等,并且随着MCP协议的兴起,AI模型越来越能够使用工具、实现代理等。这种快速演变带来了更大的需求,即确保AI驱动的应用程序保持隐私、安全并正确运行。安全性和隐私性最好通过设计来保证,而不是事后添加到系统中。我们以Java虚拟机(JVM)为灵感,提出了标准AI虚拟机的重要性。JVM通过设计保证内存安全,定义访问控制策略,并通过字节码验证防止代码注入。这些特性使得在JVM上运行的Java程序可以远程执行,实现了“一次编写,随处运行”的软件分发。
现有工作的启示
一些AI系统中已经出现了所需元素的雏形,例如:
- OpenAI的结构化工具调用协议:OpenAI引入了基于JSON的函数调用API,使模型能够以结构化的方式调用代码定义的函数。
- Anthropic的模型上下文协议(MCP):MCP是一个开放协议,旨在成为AI应用程序的通用接口。
- 安全编排器——FIDES和AC4A:这些项目提出了运行时级别的控制,以增强AI系统的安全性。
- 开源代理运行时:如langchain和Semantic Kernel等项目提供了常见的运行时服务,使编写可靠的AI应用程序更加容易。
定义AI模型VM规范的好处
- 关注点分离:接口规范强制模型逻辑和集成逻辑之间的清晰分离,使模型成为可互换的组件。
- 内置安全性和治理:VM规范可以通过设计强制执行安全性,通过定义良好的接口路由所有工具使用和外部访问。
- 透明的性能和资源跟踪:VM规范可以为开发人员提供运行时诊断的可见性。
- 模型输出的可验证性:利用VM规范,专家可以探索集成形式化方法来验证模型行为。
结论
我们认为需要一个定义良好的AI模型虚拟机。从技术(加快开发速度,模块化升级)到战略(跨平台AI生态系统,提高安全性),潜在的好处是广泛的。从强制执行安全性和隐私控制,到潜在的形式化证明能力,机会是广泛的。借鉴早期软件虚拟化的经验,VM规范可以提高AI系统的可移植性、互操作性、安全性和可靠性。本文的目的是强调这些问题,并开始与社区就构建此类规范的共识进行互动。
评论总结
评论主要围绕是否应为AI(特别是LLM)构建虚拟机(VM)或类似抽象层展开,观点多样且涉及技术细节。以下是主要观点总结:
支持构建VM或抽象层的观点
LLM作为新的通用计算平台:评论1提出,LLM应被视为新的通用计算平台,类似于50年前的CPU,需要构建系统抽象层。
- "LLMs are the new universal computing machines, but we build with them like we built computers in the 1950s - one computer at a time."
- "I do believe it’s time for systems folks to take a hard look at building systems abstractions on top of LLMs."
VM或沙箱的必要性:评论6、7、10提到,现有的商业模型已经具备隔离和沙箱功能,但需要更精细的权限控制。
- "If you look at how the most advanced commercial models are deployed they already have much of this, including isolation."
- "When you use ChatGPT and it executes code, it seems to run in a VM with certain tools and libraries available to it."
反对构建VM的观点
现有工具已足够:评论15、18认为,现有的用户账户和权限管理已经足够,无需引入额外的复杂性。
- "You don’t need a VM for your agent, just a separate user account is plenty."
- "We have user accounts, Read/Write/Exec for User/Groups. Read can grant access tokens which solves temporary+remote requirements."
VM并非最佳解决方案:评论17、19指出,VM的概念可能过于狭隘,更应关注任务分区和数据流控制。
- "I think what they really mean is a sandbox, jail, or container where a 'syscall' equivalent let’s the model interact with the outside world."
- "The VM analogy is simply insufficient for securing LLM workflows where you can’t trust the LLM to do what you told it to with potentially sensitive data."
其他相关观点
AI可能直接模拟VM:评论13提出,AI可能无需VM,而是直接模拟VM的功能。
- "Does AI need a vm OR can AI emulate a vm all in one shot? I think the latter is going to happen."
关注稳定性和安全性:评论8、19强调,AI的稳定性和数据安全性是更重要的挑战。
- "From a hosting perspective I would worry more about just keeping the AI agent functional/alive in a whatever environment a big challenge."
- "You need to partition the workflow, subtasks, operations, and data so that most subtasks have a very limited view of the world."
总结:评论中对是否应为AI构建VM存在分歧,支持者认为需要新的抽象层和隔离机制,反对者则认为现有工具已足够,且VM可能增加不必要的复杂性。同时,许多评论者更关注AI的稳定性、权限控制和数据安全性。