技术解构 2026-10-17 23 分钟阅读 进阶

Perplexity SPACE 架构解构:把智能体的「执行环境」做成一层平台

从 Firecracker microVM 到凭证外部注入 — 当沙箱不再是安全补丁,而成为智能体运行时下面那层可交付的地基

摘要

2026 年 10 月 15 日,Perplexity 以 Apache 2.0 许可开源了 SPACE(Sandboxed Platform for Agentic Code Execution)——支撑其 Computer 个人智能体产品的那层沙箱平台。这不是又一个智能体框架:它不定义循环、不挑模型、不提供工具生态,只回答一个更靠下的问题——智能体写代码、跑命令、装依赖的这段过程,应该发生在什么样的地方。官方给出的数据是:每个沙箱跑在独立的 Firecracker microVM 里,沙箱创建延迟中位数约 60 毫秒,此前为 185 毫秒;沙箱可暂停恢复、保留最长一周的滚动快照;凭证按需注入且从不存放在沙箱内;一次红队演练中 108 次越界尝试没有一次成功从虚拟机逃逸到宿主。本文拆解模板与沙箱两个原语、隔离与凭证的边界划分、状态恢复的实现路径、控制平面的组件职责,并将「108 次零逃逸」放回它真正能证明的范围之内,最后给出一份引入前的评估清单。

背景:沙箱从「安全措施」变成「运行时地基」

过去两年讨论智能体安全,话题大多集中在提示注入、工具权限与输出过滤。这些讨论默认了一个前提:智能体会在某个地方执行动作,而那个地方的安全性是既定的。但当智能体开始真正写代码、装包、跑测试、调 API,这个前提就不成立了——执行环境本身成了设计对象。

Perplexity 的经历是一个具体样本。公司在二月推出 Computer 个人智能体产品,起初采用一家商业沙箱供应商;随后自建了这套被称作 SPACE 的平台来替换它。据官方博客转述,自替换完成起,SPACE 承载了 Computer 的全部会话,每天处理数百万次沙箱创建;在相同生产流量下对比,沙箱创建速度是此前供应商的三到五倍。10 月 15 日,这套内部基础设施以 Apache 2.0 许可对外开源。

需要留意的是,不同来源对「何时投产」的叙述并不一致:Unite.AI 的报道称公司在七月替换供应商、SPACE 自七月起承载全部会话;Crypto Briefing 则写平台在 2026 年 6 月进入生产。两者相差约一个月,且都未给出精确的切换日期。对读者而言,这不影响对架构的判断,但说明「生产验证时长」这个数字目前只能按季度而非按月来读。

更值得注意的其实是这样一句话:Perplexity 把智能体治理定位成一个工程问题,并认为开源是解决它的必要条件——因为能 inspect、能改、能基于它构建的人越多,发现的弱点就越多。这个判断决定了 SPACE 的形态:它不是一份白皮书,而是一套已经在生产流量上跑了数月、可以被别人拉下来部署的代码。

🧭 定位澄清:它改的是执行层,不是模型层

SPACE 不提供推理循环、工具生态、记忆机制或编排能力,也不绑定任何模型。它的作用域止于「智能体产生的代码与命令在哪里运行、运行环境如何隔离、状态如何保留、凭证如何交付」。理解这一定位很重要:引入 SPACE 不会让智能体变聪明,它改变的是智能体能安全地在多大范围内动手,以及动手之后能不能接着上一次继续。

两个原语:模板与沙箱

官方仓库的自述只有一句:插件化运行时沙箱,用于隔离运行智能体代码与用户代码。落到操作上,整套系统围绕两个可管理的对象展开。

对象 官方语义 可施加的操作 工程含义
模板 Template 起始环境的定义,决定运行时与启动组件 构建、发布、拉取、预取、驱逐、删除 把「环境」变成可版本化、可分发的制品,而非每次重建
沙箱 Sandbox 模板的一个实例,拥有自己的虚拟机与可写文件系统 创建、停止、启动、暂停恢复、快照、分叉、销毁 把「一次运行」变成有生命周期、可寻址、可回滚的对象
环境绑定 决定运行时版本与内核的组合 随模板发布传递,随沙箱原子持久化 让「这个沙箱跑在什么上面」成为可声明、可复现的事实

仓库提交记录给出了当前初始 Linux/x86_64 绑定的具体版本:Firecracker 1.15.1 配 Linux 6.1.155,以及 Firecracker 1.17.0 配 Linux 6.18.44。这个细节看似琐碎,实际上是把「环境」从一句 Docker 镜像名细化到了虚拟机监控器与内核版本——对需要复现与安全审计的团队,这个粒度是必要的。

模板与沙箱的分层还带来一个直接收益:模板可以被预热与缓存。仓库中存在热池策略配置与模板预取、驱逐逻辑,父模板可通过 btrfs 的 send/receive 机制恢复与拉取。这意味着「启动一个环境」与「从零构建一个环境」被拆成了两件事,前者追求延迟,后者追求可复现。

隔离层:Firecracker microVM 与那 60 毫秒

SPACE 用 Firecracker microVM 作为隔离边界。与在共享操作系统内做软件隔离不同,每个沙箱拿到的是一台拥有独立操作系统的小型虚拟机,隔离发生在技术栈更靠下的位置。这是 AWS 开发的虚拟化技术,也是近年来函数计算与沙箱类产品常见的选择。

性能上的关键数字是创建延迟。Perplexity 称中位创建延迟约 60 毫秒,此前为 185 毫秒,削减幅度约三分之二;Crypto Briefing 的报道给出了同一组数字。把这个数字放进上下文看会更有意义:60 毫秒意味着智能体在一次会话里反复开新沙箱、换环境、分叉试错,在人的感知上几乎是即时的——这会直接改变编排层的写法,因为「开一个干净环境」不再是需要节省的昂贵操作。

指标 数值 来源与口径
沙箱创建延迟中位数(当前) 约 60 毫秒 Perplexity 官方,经 Crypto Briefing 转述
沙箱创建延迟中位数(此前方案) 约 185 毫秒 同一来源,未说明是否为同一测量方法
相对前供应商的加速倍数 3 至 5 倍 官方博客转述,注明为相同生产流量下的对比
每日沙箱创建量 数百万次 官方口径,量级表述而非精确值
重连事件 数千万次 官方口径,量级表述而非精确值

这里有一处需要读者自己判断的口径张力:60 毫秒对 185 毫秒是约 3.1 倍,落在官方所称「3 至 5 倍」区间的下限附近;但官方并未说明这两个倍数是否来自同一指标与同一测量窗口。稳妥的读法是——加速幅度在三倍量级是得到了两处叙述支持的,精确到「几点几倍」目前没有可核验的依据。

凭证治理:把密钥挡在沙箱之外

SPACE 在设计上把沙箱当作不可信环境对待。这一点在凭证处理上体现得最直接。

这套设计的价值不在「更安全」这个形容词,而在于它把一次典型的智能体事故路径切断了。常见的失败模式是:智能体为了完成任务去找缺失的文件、补失败的请求、绕过权限拒绝,在此过程中触碰到了本不该触碰的东西。如果凭证就在它的工作目录里,那么一次越权读取就直接等于凭证泄露;如果凭证被外部持有、按需注入,那么读取行为本身不构成泄露,攻击者还需要再突破一次边界。

官方对这套边界的表述也留了余地:模型层面的护栏降低不安全行为发生的概率,外围系统的独立控制则限制智能体能触及的范围、并在护栏失效时收敛损害。换句话说,SPACE 的定位是「护栏失效之后的那一层」,而不是「让护栏不必存在」。

状态:暂停恢复、滚动快照与会话分叉

长任务是智能体区别于问答产品的核心形态,而长任务必然遭遇中断:人会插话、需要补信息、要审阅草稿、网络会断、客户端会关。SPACE 的应对是把运行状态变成可管理的对象。

把这三件事合起来看,SPACE 实际上把「一次运行」从一段进程提升成了一个可寻址、有历史、能派生分支的对象。对上层编排来说这是实质性的改变:重试不再等于重做,审阅不再等于打断,试错不再等于污染。

控制平面:七个组件各自负责什么

从仓库目录与提交记录可以还原出控制平面的职责划分。这套划分对想自建同类设施或评估其复杂度的团队最有参考价值。

组件 职责 值得注意的设计点
space-api 主 API,对外提供生命周期操作 生命周期变更异步执行,返回 operation ID 供调用方轮询
space-admin-api 管理面 API 与主 API 分别配置停机与滚动策略,含优雅排空
space-internal-api 内部 API,运行两副本 状态落在 Postgres 行锁与声明令牌上,RPC 为一元调用
space-data-plane 数据平面,充当 guest 桥接 命令输出走独立连接,使用会话级 attachment token;原生会话走 SSE
cluster-controller 集群控制器,负责驱逐与修复 含瞬态生命周期清扫、失败沙箱清理、可恢复故障修复等兜底协调器
credential-manager 凭证管理 独立的凭证权威与注入存储,是「密钥不进沙箱」的落点
node-api / build-manager / volume-manager 节点、构建与卷管理 node-api 通过 Kubernetes TokenReview 认证,令牌有效期 600 秒;构建管理器令牌 7200 秒

工程治理上还有两处小细节值得一提。一是仓库用 ARCHITECTURE.toml 配合 cargo arch 做架构约束:单个 Rust 文件不超过一千行(基线中列出了 99 个超限文件),并禁止新增 common、util、core 这类泛化包名。二是 guest 内核的构建缓存被记录到 GHCR 的内容寻址标记上,原来的完整重建需要约三十分钟。这两件事都不面向使用者,但它们透露出一个信号:这套代码是按长期维护的基础设施标准写的,而不是一次性的研究成果发布。

红队:108 次尝试与「没有逃逸」能证明什么

官方称在 2026 年 9 月组织了一次红队演练,测试者尝试了 108 次越界攻击,没有一次成功从虚拟机逃逸到宿主系统。同时,少量尝试找到了绕过网络限制的方法,官方称已修复,且在后续复测中两种被识别出的攻击方式均未成功。官方还表示,把在其他沙箱平台上发现的同类弱点披露给了对应厂商。

这个结果应该怎么读?三点限定条件是必要的。

反过来说,愿意公开「找到了网络策略问题」这一点,本身比只公布零逃逸更有信息量。它给出的读法是:隔离层经受住了定向测试,网络策略层是被攻破过又被补上的——而后者恰恰是后续使用者需要持续关注的地方。官方在 10 月中旬仍在提交与出口策略相关的改动,也印证了这一层仍在演进。

路线对照:托管沙箱、容器沙箱与本地沙箱

把 SPACE 放进当前的可选项里看,大致有三条并存路线,取舍各不相同。

路线 代表形态 优势 代价与适用边界
商业托管沙箱 E2B、Daytona 一类托管服务 接入快、无需运维集群、按量付费 执行环境在第三方;Perplexity 替换供应商的理由正是稳健性与弹性不足
容器与本地沙箱 Docker Sandboxes、本地容器与微型虚拟机方案 单机可跑、开发者上手门槛低、无集群依赖 隔离强度与多租户治理弱于虚拟机方案;难以承载大规模并发会话
自建虚拟机沙箱平台 SPACE 这类以 Firecracker 为底座的控制平面 隔离边界靠下、状态可管理、凭证可外部化、可私有化部署 需要 Kubernetes 与运维能力;组件多、治理复杂;本地部署可用 Kind,但生产化仍需投入

值得注意的是 SPACE 在这三者之间留了一个过渡口:它提供了一个 E2B 兼容包装器,配合经过测试的 E2B Python SDK 工作。这相当于对已经用了托管沙箱的团队说——你可以先按 API 兼容的方式换底层,不必重写接入代码。对一项刚开源、尚无大量第三方部署案例的基础设施来说,这个兼容层比任何性能数字都更能降低采用门槛。

工程可落地性:Rust、Kind 与 E2B 兼容层

实现语言是 Rust,主体为一个 crate 工作区,外围有一个 Go shim 与一个前端控制台,服务间通过 protobuf 定义接口。调用方不需要嵌入 Rust 库,而是通过 HTTP 与服务端事件与它交互。

部署路径上,官方文档覆盖在本地 Kind 集群中的安装与认证配置,仓库根目录带有 Tiltfile 与 Helm chart,架构指南则说明如何在不依赖 Kubernetes 的情况下运行。数据库侧同时保留 PostgreSQL 与 SQLite 两条迁移路径,后者更可能服务于本地与小规模场景。

三点可落地性判断:

生态侧,官方称 CoreWeave 与 Akamai 已在各自云平台上测试并上线 SPACE,并正推进向各自客户开放;Crusoe 也计划将其纳入托管 AI 服务组合。Perplexity 表示将把 SPACE 扩展为更完整的智能体运行时平台,并提到与 Nvidia 等方面围绕此类基础设施的安全标准展开合作——这部分属于路线图表述,尚无交付时间点。

局限与冷静判断

总体而言,SPACE 的价值在于把一件此前各自为政的事情标准化了:智能体到底该在哪里动手。它给出的答案有清晰的层次——虚拟机级隔离、凭据外部化、状态可管理、控制平面可审计,并且这套答案已经在每天数百万次的真实创建上跑过。对正在自建智能体执行环境的团队,它提供了一个可以直接对照的参考实现;对更多的团队,它提供的是一份 checklist:你的沙箱有没有把凭证挡在外面,有没有把状态存下来,有没有想清楚网络出口归谁管。目前官方及行业暂未披露更多细节,后续将持续跟进迭代动态。

核心发现

参考来源

  1. Perplexity 官方博客 — Open-sourcing SPACE(2026.10.15,含开源说明、设计取向、安全评估与云合作伙伴信息)
  2. GitHub — perplexityai/SPACE 公开仓库(仓库自述、目录结构、提交历史、Firecracker 环境绑定、控制平面组件与架构治理规则)
  3. Unite.AI — Perplexity Open-Sources SPACE, Its In-House Agent Sandbox Platform(2026.10.15,含隔离模型、会话控制、安全评估与 Secure Intelligence Institute 相关工具)
  4. Crypto Briefing — Perplexity open sources SPACE, its sandbox for AI agents(2026.10.16,含 60 毫秒与 185 毫秒中位延迟、一周滚动快照、BYOK、108 次红队尝试)
  5. SPACE 官方托管文档 — space.docs.perplexity.ai(安装、配置、首个沙箱工作流与架构指南、API 参考)
  6. BenchLM — LLM Agent Benchmarks(2026.10 版,用于对照智能体评测口径,说明执行环境与能力评测的边界差异)