
微软Azure Core Upstream团队本周发布了Wassette,这是一个基于Rust的运行时,可以从根本上改变AI智能体获取和执行新功能的方式。
Wassette 建立在经过实战考验的基于 Rust 的Wasmtime WebAssembly (Wasm)运行时之上,并利用模型上下文协议(MCP),使 AI 智能体能够自主下载、审查和安全地执行工具,同时保持浏览器级的安全隔离。
微软表示,运行时允许智能体自主地从开放容器倡议(OCI)注册表中获取WebAssembly组件,并根据需要执行它们。
Wassette 充当了两种尖端技术之间的桥梁:WebAssembly 组件和 MCP,后者已成为 AI 智能体与外部工具和服务交互的标准方式。但到目前为止,智能体仅限于预配置的工具集。
Wassette“知道如何解释 Wasm 组件的类型化库接口,并将它们作为 MCP 工具暴露出来,”微软高级开发人员、Rust异步工作组成员Yoshua Wuyts在一篇博客文章中解释道。
这个转换层意味着任何 WebAssembly 组件都可以立即提供给兼容 MCP 的 AI 智能体,而无需自定义集成工作。
MCP 正迅速成为 AI 智能体工具集成的标准协议,得到了像 GitHub Copilot、Claude 等主要平台的支持。通过使 WebAssembly 组件与 MCP 兼容,Wassette 有效地向 AI 智能体开放了整个 WebAssembly 生态系统。
企业战略集团应用现代化首席分析师Torsten Volk告诉 The New Stack:“允许 AI 智能体通过 MCP 使用 Wasm 应用程序正是服务器端 WebAssembly 设计的目的。”“如果你进一步思考,AI 智能体可以通过 MCP 将 Wasm 应用程序连接在一起来组装应用程序。你甚至可以给智能体一个财政预算来购买或订阅特定的 Wasm 应用,当然,应用所有者可以将更新推送到注册表,供‘付费’AI 智能体直接使用。”
Wuyts 写道,使用 Wassette 快速、简单,并且可以与任何支持 MCP 的 AI 智能体一起使用。MCP 集成意味着该工具可以与任何 MCP 兼容的 AI 平台无缝协作,包括 GitHub Copilot、Claude Code、Cursor和Gemini CLI。
教智能体进行“补给”
“在最基本的层面上,AI 智能体的目标是在最少的人为干预下,成功完成你交给它的任何基于计算机的任务,”Wuyts 写道。
然而,今天的智能体受到预安装的工具集的限制。Wassette 改变了这一点。
“我们可以把这看作是教导智能体如何进行补给:认识到需要什么,并弄清楚如何得到它,”Wuyts 写道。
这是关于创建能够根据需求发展其能力的自主系统。文章称,当 AI 智能体遇到需要网络请求、时间计算或文件处理的任务时,它现在可以识别缺失的工具,从容器注册表中获取工具并安全执行。
完美风暴:Rust、WebAssembly 和 MCP
Rust 提供了安全、高性能的运行时基础。WebAssembly 提供了可移植的沙箱执行环境。MCP 提供了标准化的接口,使 AI 智能体可以普遍访问工具。
选择 Rust 作为 Wassette 并非偶然。该语言对内存安全和零成本抽象的强调使其成为安全关键基础设施的理想选择。
“Wassette 是用 Rust 编写的,可以作为独立的二进制文件安装,没有运行时依赖,”Wuyts 说。
安全性的基础不仅仅是语言的选择。Wassette 利用了 WebAssembly 运行时 Wasmtime,它“优先考虑安全性和正确性,并且可以方便地作为 Rust 库使用,”Wuyts 写道。
“组件提供了与现代浏览器引擎相当的工作负载隔离,这是通过默认拒绝功能系统实现的,”他说。这意味着,即使智能体加载了潜在的恶意工具,如果没有明确的用户权限,它也无法访问系统资源。
安全无妥协
此外,安全性不是作为一个附加功能来对待的,而是从一开始就内置在架构中。
“这可以确保,例如,我们安装的方便的语法插件不会试图在我们背后泄露我们服务器的 SSH 密钥,”Wuyts 说。
例如,当智能体需要发出网络请求时,系统会提示用户批准对特定域的访问。
Wuyts 指出,“在没有明确访问权限的情况下,装载在 Wasmtime 中的组件不能访问系统资源”,确保用户保持对其系统安全边界的控制。
这种基于能力的安全模型意味着,即使是受损的或恶意的组件也有一个有限的爆炸半径。他指出,Rust 驱动的沙箱提供了多层保护,从内存安全保证到 WebAssembly 固有的隔离属性。
安全平台提供商Arcjet的首席执行官David Mytton在接受 The New Stack 采访时表示:“Wassette 对 Wasm 和组件模型的使用是一个很好的例子,说明了这些开放标准如何用于构建安全的 AI 应用程序。”
“这与我们在 Arcjet 的方法相似:我们将基于 Rust 的安全分析器编译到 Wasm 组件中,并将它们直接嵌入到应用程序中,”他说。这让我们能够在 Wasm 的安全沙箱中原生速度检查不受信任的请求——提供开发者友好的、代码内的保护。由于基于功能的设计理念,Wasm 默认是安全的,这正是现代安全运行时的工作方式。”
生产中 Rust 的优势
Wassette 的生产就绪设计反映了 Rust 在系统编程方面的成熟度,以及 MCP 在企业 AI 部署中的日益普及。零依赖部署模型意味着运维团队可以将 Wassette 集成到现有工作流中,而不用担心运行时冲突或版本管理问题。
此外,Rust 的零成本抽象确保了安全沙箱不会以牺牲执行速度为代价。该公司表示,MCP 协议开销极小,确保即使在复杂的智能体工作流中,工具调用也能保持响应性。
构建组件生态系统
微软不仅仅是发布了一个运行时,它还在培育一个生态系统。该团队提供了跨多种语言的组件示例,包括Python、JavaScript、Rust和Go。这种多语言方法确保开发人员可以用他们喜欢的语言构建组件,同时受益于 Rust 在运行时级别的安全保证和 MCP 的通用智能体兼容性。
加密签名功能同时支持Notation和Cosign,为组件分发提供了额外的安全层。这种企业级的软件供应链安全方法反映了 Wassette 背后严肃的生产意图。
展望未来:自主工具发现
当前版本的 Wassette 需要用户手动指定组件位置,但该团队有更大的抱负。
“我们相信,如果一个智能体缺少完成任务所需的工具,它应该能够自主地找到这些工具并加载它们,”Wuyts 解释说。
未来的迭代将包括智能组件发现,允许智能体自动搜索容器注册表以寻找合适的工具。Wuyts 说,这是朝着真正自我改进的 AI 系统迈出的重要一步。
此外,他还表示,该团队还在开发简化的移植工具,将现有的应用程序转换为 WebAssembly 组件,从而有可能解锁大量现有软件库,供智能体使用。
AI 基础设施中的 Rust 复兴
此外,Wassette 代表了 Rust 在 AI 基础设施中采用的更广泛趋势,特别是在 MCP 等标准化协议的背景下。
此外,随着 AI 智能体变得更加强大更自主,支持它们的基础设施必须同样强大。微软指出,Rust 的内存安全保证,结合 WebAssembly 的沙箱功能,以及 MCP 的标准化接口,为值得信赖的自治系统提供了所需的基础。
对于有兴趣探索这项技术的开发人员,可以在GitHub上找到 Wassette,并提供了全面的文档和示例。微软开源Discord还包括一个专门的 Wassette 频道,用于社区讨论和支持。
原文链接:
https://thenewstack.io/wassette-microsofts-rust-powered-bridge-between-wasm-and-mcp
评论