Creando ESPACIO: tiempos de ejecución seguros y eficientes para agentes de larga duración
SPACE es la plataforma de entorno aislado segura y eficiente de Perplexity que impulsa flujos de trabajo de agentes de larga duración y una ejecución de código rápida y aislada.
A medida que los flujos de trabajo de los agentes se vuelven más largos y autónomos, los entornos en los que operan los agentes de IA importan tanto como los modelos que los impulsan. Los agentes necesitan realizar trabajos reales, como ejecutar código, editar sistemas de archivos y ejecutar tareas de varios pasos durante horas o días. Los usuarios desean que los agentes tengan acceso a las herramientas y archivos que necesitan para llevar a cabo estas tareas, pero también necesitan confiar en que sus sistemas permanecerán seguros incluso si los agentes se ven comprometidos. Un entorno aislado es lo que hace que todo esto sea posible: un entorno aislado donde un agente puede operar libremente mientras el host, otros inquilinos y las credenciales confidenciales permanecen protegidos.
Los enfoques tradicionales de entornos aislados basados en contenedores no están diseñados para estas tareas. Por lo general, suponen trabajos de corta duración y sin estado, y tienen el núcleo como un punto único de falla. Por el contrario, las sesiones de los agentes son de larga duración y con estado: un agente acumula horas de contexto, un sistema de archivos de trabajo y procesos en ejecución que no pueden simplemente desecharse y reconstruirse desde cero. Además, la carga de trabajo en el interior debe ser considerada no confiable de forma predeterminada, lo que requiere medidas de seguridad más estrictas. Las sesiones de agente de larga duración necesitan un sustrato que pueda aislar a un invitado hostil, preservar su estado y aun así operarse a escala.
El principal desafío en la ingeniería de entornos aislados proviene de la tensión que a menudo surge entre la seguridad, la funcionalidad y la eficiencia. Por ejemplo:
Otorgar un acceso más amplio permite que un agente logre más, pero expone más del sistema a una carga de trabajo en la que no se confía.
Compartir más entre entornos aislados hace que la creación sea más rápida, pero amplía la superficie de ataque.
Tomar instantáneas con mayor frecuencia mejora la recuperación y permite funciones como la reversión, pero requiere tiempo y espacio de almacenamiento.
Los entornos aislados de agentes, como los necesarios para ejecutar código, usar Habilidades de agente, o llevar a cabo tuberías de Búsqueda como código en consultas de Computer, necesitan las tres cosas. Hemos trabajado arduamente durante los últimos meses en la ingeniería de la próxima generación de infraestructura de agentes que impulsa nuestros productos. Hoy presentamos SPACE (Plataforma aislada para la ejecución de código de agentes): una plataforma de entorno aislado creada para flujos de trabajo de agentes que es segura, confiable y eficiente a escala. El mes pasado, comenzamos a implementar SPACE como la capa de entorno aislado que impulsa Perplexity Computer. Durante la última semana, ha respaldado de forma segura millones de creaciones de entornos aislados y decenas de millones de reconexiones, con tiempos de puesta en marcha de 3 a 5 veces más rápidos que nuestra solución anterior.
Este artículo presenta las decisiones de arquitectura y diseño detrás de SPACE. A partir de hoy, el 100% de las sesiones de Computer ahora se ejecutan en SPACE. Estamos entusiasmados de implementar esta plataforma en aún más superficies para ofrecer un entorno de ejecución de agentes de primer nivel a nuestros usuarios y desarrolladores.
Arquitectura
A un nivel alto, el sistema está organizado en tres capas.
El plano de control es el cerebro del sistema, decidiendo qué debe existir y dónde. Consiste en la puerta de enlace de API y los módulos de gestión de estado a nivel de clúster.
Los servicios locales del nodo son la maquinaria local necesaria para ejecutar el plan del plano de control. Poseen el ciclo de vida del entorno aislado, el almacenamiento, la red y las operaciones privilegiadas detrás de ellos.
El entorno aislado es el entorno de ejecución aislado en sí mismo. Se implementa como una máquina virtual emparejada con el demonio de Espacio: un proceso en segundo plano en el invitado que gestiona el acceso al sistema de archivos, los procesos y la red para la carga de trabajo.

Plano de control
La puerta de enlace de API es el punto de entrada. Las solicitudes entrantes se autentican y autorizan, y luego se traducen en registros del estado deseado.
El plano de control no tiene estado por diseño, con toda la información duradera descargada a una base de datos compartida. Rastrea la información a nivel de clúster sobre los entornos aislados, como a qué nodo están asignados, dónde se están ejecutando y si se han respaldado en almacenamiento duradero. Compara continuamente el estado deseado con el estado observado y los conduce hacia la convergencia. Las operaciones son idempotentes, por lo que el plano de control puede recuperarse automáticamente después de cualquier bloqueo, reinicio o falla parcial.
Servicios locales del nodo
Los servicios locales del nodo realizan el trabajo real de preparar plantillas, iniciar entornos aislados, conectar redes y ejecutar servicios de tiempo de ejecución del lado del host. Cada nodo ejecuta un pequeño conjunto de demonios que gestionan cada entorno aislado colocado en él, y el nodo es la fuente de verdad para los estados en vivo de esos entornos aislados.
El gestor de entornos aislados sabe qué entornos aislados se están ejecutando, están en pausa, suspendidos o detenidos, junto con sus recursos reales. Se ejecuta sin privilegios y delega todo el trabajo privilegiado al gestor del nodo, el proceso raíz único que gestiona las primitivas subyacentes. El almacenamiento se maneja de forma local y duradera: las instantáneas de los estados actuales del entorno aislado se guardan en el nodo, y un gestor de volumen mueve las instantáneas y plantillas hacia y desde el almacenamiento de objetos según sea necesario para permitir operaciones entre nodos. Las puertas de seguridad protegen lo que un entorno aislado puede alcanzar: el gestor de credenciales gobierna la inyección de credenciales bajo autorización por servicio, y la puerta de enlace de red hace cumplir la política de salida de cada entorno aislado.
Entorno aislado
El entorno aislado en sí mismo es una máquina virtual (VM) con su propio núcleo invitado, que ejecuta la carga de trabajo del usuario detrás de un límite de aislamiento de hardware. Debido a que cada entorno aislado tiene su propio núcleo, una carga de trabajo comprometida no puede recurrir a un núcleo de host compartido como un punto único de falla; incluso si explota con éxito su núcleo invitado, ese compromiso se limita al límite de la VM del entorno aislado en lugar de propagarse a través de otras cargas de trabajo.
Un demonio de Espacio se ejecuta dentro de cada máquina virtual, sirviendo como un agente ligero que regula cada acción o modificación que la plataforma realiza dentro del invitado. Maneja el acceso al sistema de archivos y la gestión de procesos. También informa sobre la preparación del invitado y rastrea la actividad, de modo que la plataforma sepa cuándo un entorno aislado ha quedado inactivo y puede pausarse o reclamarse. Crucialmente, el demonio de Espacio no habla con los clientes directamente, sino que se comunica con el host a través de un canal privado en la VM. Esto mantiene toda la interacción del invitado en un camino controlado y reserva la red propia del entorno aislado puramente para el tráfico de salida de la carga de trabajo.
Tres pilares: Seguridad, funcionalidad y eficiencia
A continuación, profundizamos en las propiedades clave que SPACE debe ofrecer en tres pilares: seguridad, funcionalidad y eficiencia. Como se señaló anteriormente, estos tres se contraponen. Sin embargo, no podemos comprometer ninguno de ellos si deseamos admitir agentes poderosos que estén a la altura de las capacidades de los modelos actuales. La seguridad evita que una carga de trabajo no confiable, posiblemente hostil, dañe al host, a otros inquilinos o a los secretos de un usuario. La funcionalidad brinda a los agentes el rico ciclo de vida que necesitan. La eficiencia hace que todo esto sea asequible bajo memoria, disco y cómputo finitos.
Seguridad: Protección de datos y sistemas
Las plataformas de entornos aislados necesitan una seguridad sólida para garantizar que el código erróneo o incluso malicioso ejecutado dentro de los entornos aislados no pueda causar efectos dañinos en otros lugares. Sin hacer cumplir un control de salida estricto y mantener los secretos fuera del entorno aislado, un solo paso en falso de un agente podría filtrar las claves de un usuario o exfiltrar trabajo.

SPACE adopta un enfoque en capas para garantizar la seguridad de los entornos aislados. El aislamiento del entorno aislado tiene dos componentes: el aislamiento de VM y el aislamiento de procesos del SO host. Ambos deben ser vulnerados para el acceso entre entornos aislados. La comunicación con el entorno aislado está estrictamente controlada; los procesos solo pueden comunicarse a través de canales dedicados. La puerta de enlace de red fuerza toda la salida a través de ella. El demonio de Espacio es el único canal sancionado entre el entorno aislado (no confiable) y la plataforma (confiable).
Las credenciales nunca residen donde un agente pueda robarlas. El almacén de credenciales se encuentra fuera del límite del entorno aislado y es responsable del ciclo de vida de las credenciales. Almacena y recupera secretos a través de un backend de bóveda conectable, resuelve credenciales utilizando un alcance jerárquico, gestiona metadatos como el método de inyección y la caducidad, y hace cumplir límites de tasa y registros de auditoría en todo el acceso. Cuando es necesario, las credenciales se inyectan en la capa de red o se completan automáticamente mediante un agente de navegador, en lugar de ingresar directamente al entorno aislado.
Los datos están protegidos en reposo. SPACE admite BYOK (Trae tu propia clave) para proteger los datos almacenados externamente. Las claves de cifrado provienen del servicio de gestión de claves del cliente y nunca ingresan al entorno aislado. Si la empresa revoca la clave, sus datos se vuelven ilegibles.
Funcionalidad: Potenciación de flujos de trabajo de agentes
Para admitir flujos de trabajo de agentes, los entornos aislados necesitan un soporte de ciclo de vida rico. Deben crearse rápidamente y a escala, ya que un agente puede iniciar muchos a la vez y no debe esperar a que ninguno de ellos arranque. Deben persistir durante una duración indefinida, ya que una Sesión podría durar minutos o ejecutarse durante meses. Deben pausarse limpiamente, a veces durante largos períodos, como cuando una tarea está bloqueada por la intervención humana. Y deben admitir la bifurcación, la reversión y la recuperación de fallas, para que una Sesión pueda ramificarse, deshacer un paso incorrecto o reanudarse después de una falla en lugar de empezar de nuevo.
SPACE admite todo lo anterior. Modela el ciclo de vida completo del entorno aislado como una máquina de estados explícita, que es lo que hace posibles operaciones como crear, pausar, reanudar, suspender y restaurar.

Las instantáneas son el mecanismo subyacente a la mayoría de estas capacidades. Un programador marca intervalos regulares y captura dos tipos de instantáneas: instantáneas de disco (copias del sistema de archivos en un momento dado) y instantáneas completas (puntos de control de toda la VM en pausa). Las instantáneas de disco se capturan con frecuencia, mientras que los puntos de control completos son menos frecuentes. Todo permanece en el nodo y la retención decae por nivel. Estas instantáneas se pueden utilizar para la recuperación en la Sesión; por ejemplo, las instantáneas de disco se pueden usar para revertir el sistema de archivos para deshacer un comando destructivo, y los puntos de control completos permiten que un entorno aislado bloqueado se reanude en un punto de ejecución reciente en lugar de un disco frío.
Cuando se suspende un entorno aislado, la VM se pausa, se toma una instantánea completa y los artefactos de la instantánea completa se cargan en el almacenamiento de objetos. Una fila de base de datos rastrea la instantánea y solo se vuelve restaurable una vez que cada artefacto ha aterrizado, por lo que una instantánea cargada parcialmente nunca puede reanudarse en un estado corrupto. La restauración es el inverso de la suspensión. Debido a que la instantánea vive en el almacenamiento de objetos en lugar de en el nodo original, cualquier nodo puede recuperar el entorno aislado. El programador elige un nodo, ese nodo descarga los artefactos, vuelve a aplicar el delta del sistema de archivos sobre la plantilla y reanuda la VM desde su estado capturado.
Eficiencia: Optimización del tiempo y el Espacio
No es suficiente implementar las funciones anteriores en el vacío; también deben ser posibles bajo estrictas limitaciones de recursos. La memoria y el disco en un nodo son finitos, y los usuarios quieren que los agentes operen lo más rápido posible, por lo que las operaciones de ciclo de vida deben ser económicas tanto en tiempo como en Espacio. No podemos permitirnos copiar una imagen de máquina completa cada vez que se crea, pausa o bifurca un entorno aislado.
Una elección de diseño clave hace que esto sea posible: el sistema de archivos. SPACE utiliza btrfs como sistema de archivos en el nodo para el almacenamiento del entorno aislado. Btrfs (sistema de archivos B-tree) combina un sistema de archivos de copia en escritura con gestión de volumen lógico integrada. Esto tiene algunos beneficios:
Las copias de Reflink son rápidas, ya que comparten las extensiones subyacentes, por lo que solo es necesario copiar los metadatos.
Las instantáneas son atómicas y rápidas, ya que solo se crea una nueva raíz.
Se necesita un almacenamiento mínimo, ya que solo se almacena lo que ha cambiado.
Como resultado, los entornos aislados se pueden crear y restaurar rápidamente. En lugar de crear un entorno aislado desde cero cada vez, mantenemos un grupo de pods calientes que ya tienen plantillas comunes materializadas en el disco, y satisfacemos una solicitud vinculándola a un pod cuya plantilla ya coincide. Darle a ese entorno aislado su propio sistema de archivos raíz escribible es entonces un clon de copia en escritura en lugar de una copia completa. Cuando no encaja ningún pod caliente, materializamos la plantilla bajo demanda; colapsamos las solicitudes simultáneas para la misma imagen en una sola descarga, por lo que una ráfaga de solicitudes idénticas no se convierte en una ráfaga de trabajo idéntico.
El resultado es un tiempo de ejecución de entorno aislado que es a la vez potente, ligero y extremadamente rápido. Cuando implementamos SPACE, lo ejecutamos junto con nuestro proveedor de entorno aislado anterior en el mismo tráfico de producción. Durante la semana de lanzamiento, SPACE creó entornos aislados de tres a cinco veces más rápido en toda la distribución. Específicamente, la latencia de creación mediana cayó de 185 milisegundos a 60 milisegundos (mejora de 3.1x), y la latencia del percentil 90 cayó de 447 milisegundos a 89 milisegundos (mejora de 5.0x). Observamos mejoras de orden de magnitud similares en otros indicadores de rendimiento y uso de recursos.

También facilita la toma de instantáneas de disco continuas, ya que son rápidas, eficientes en Espacio y no requieren pausar el entorno aislado. Y, el almacenamiento delta eficiente disminuye el Espacio necesario para almacenar estas instantáneas.
Conclusión
Al diseñar sistemas complejos, es tentador elegir un solo objetivo para optimizar de forma aislada. Pero los desarrolladores de agentes de frontera exigen seguridad, funcionalidad y eficiencia en igual medida. Con SPACE, nos propusimos lograr una mejora de Pareto en los tres pilares.
Cada elección de diseño individual puede servir a múltiples objetivos a la vez, haciendo posible este delicado equilibrio. Las VM por entorno aislado le dan a cada carga de trabajo su propio núcleo, fortaleciendo la seguridad a través de un aislamiento sólido al tiempo que proporcionan el límite de punto de control limpio en el que confían las instantáneas. Btrfs permite la implementación eficiente de la creación de instantáneas, la bifurcación y otras operaciones esenciales para los tiempos de ejecución de agentes. El demonio de Espacio mantiene toda la interacción del invitado en un camino controlado del lado del host, sellando el límite invitado-host mientras preserva la libertad de maniobra de los agentes. La puerta de enlace de red central media la salida y la inyección de credenciales sin exponer nunca los secretos al invitado.
El resultado de estas y otras decisiones de diseño es una plataforma que permite la orquestación de agentes en el mundo real a escala. SPACE proporciona el sustrato sobre el cual los agentes de larga duración y con estado pueden abordar de forma segura el trabajo de complejidad o duración arbitraria, sin sacrificar el rendimiento ni la seguridad.
Hoy en día, SPACE ya impulsa millones de Sesiones de Perplexity Computer. Tenemos la intención de que SPACE sirva como una capa unificada para aprovisionar y controlar entornos aislados en cualquier entorno: desde microVM de Linux hasta invitados de Windows y la propia máquina local de un usuario. Estamos trabajando arduamente para llevar SPACE a estos nuevos entornos, de modo que los desarrolladores puedan enviar productos de IA que funcionen dondequiera que trabajen los usuarios.
Si tienes muchas ganas de dar forma a la capa de cómputo que impulsa a los agentes de frontera del mañana, te invitamos a unirte a nuestros equipos.