Creació de SPACE: Entorns d'execució segurs i eficients per a agents de llarga durada

SPACE és la plataforma d'entorns de proves segura i eficient de Perplexity que potencia fluxos de treball d'agents de llarga durada i una execució de codi ràpida i aïllada.

AutorsPerplexity Engineering

A mesura que els fluxos de treball dels agents s'allarguen i es tornen més autònoms, els entorns on operen els agents importen tant com els models que els impulsen. Els agents han de fer feina real, com ara executar codi, editar sistemes de fitxers i dur a terme tasques de diversos passos durant hores o dies. Els usuaris volen que els agents tinguin accés a les eines i fitxers que necessiten per dur a terme aquestes tasques, però també necessiten confiar que els seus sistemes es mantindran segurs encara que els agents es vegin compromesos. Un entorn de proves és el que fa que tot això sigui possible: un entorn aïllat on un agent pot operar lliurement mentre l'amfitrió, altres inquilins i les credencials sensibles es mantenen protegits.

Els enfocaments tradicionals d'entorns de proves basats en contenidors no estan dissenyats per a aquestes tasques. Normalment assumeixen treballs efímers i sense estat, i tenen el nucli com a un únic punt de fallada. En canvi, les sessions dels agents són de llarga durada i amb estat: un agent acumula hores de context, un sistema de fitxers de treball i processos en execució que no es poden simplement descartar i reconstruir des de zero. A més, la càrrega de treball interior no ha de ser de confiança per defecte, la qual cosa requereix mesures de seguretat més sòlides. Les sessions d'agents de llarga durada necessiten un substrat capaç d'aïllar un hoste hostil, preservar el seu estat i continuar funcionant a gran escala.

El principal repte en el disseny d'entorns de proves prové de la tensió que sovint sorgeix entre la seguretat, la funcionalitat i l'eficiència. Per exemple:

  • Concedir un accés més ampli permet que un agent aconsegueixi més coses, però exposa una part més gran del sistema a una càrrega de treball en la qual no confieu.
  • Compartir més elements entre entorns de proves fa que la creació sigui més ràpida, però amplia la superfície d'atac.
  • Fer instantànies amb més freqüència millora la recuperació i permet funcions com la reversió, però requereix temps i espai d'emmagatzematge.

Els entorns de proves d'agents, com els necessaris per executar codi, utilitzar Agent Skills o dur a terme canals de Search as Code en consultes de Computer, necessiten tots tres. Hem estat treballant intensament durant els darrers mesos per dissenyar la propera generació d'infraestructura d'agents que potencia els nostres productes. Avui presentem SPACE (Sandboxed Platform for Agentic Code Execution): una plataforma d'entorn de proves dissenyada per a fluxos de treball d'agents que és segura, fiable i eficient a gran escala. El mes passat, vam començar a desplegar SPACE com a capa d'entorn de proves que potencia Perplexity Computer. Durant la darrera setmana, ha admès de manera segura milions de creacions d'entorns de proves i desenes de milions de reconnexions, amb temps de posada en marxa de 3 a 5 vegades més ràpids que la nostra solució anterior.

Aquest article presenta les decisions arquitectòniques i de disseny que hi ha darrere de SPACE. A partir d'avui, el 100% de les sessions de Computer s'executen ara en SPACE. Ens emociona desplegar aquesta plataforma en encara més superfícies per oferir un entorn d'execució d'agents de primera classe als nostres usuaris i desenvolupadors.

Arquitectura

A un nivell general, el sistema s'organitza en tres capes.

El pla de control és el cervell del sistema, decidint què ha d'existir i on. Consisteix en la passarel·la d'API i mòduls de gestió d'estat a nivell de clúster.

Els serveis locals del node són la maquinària local necessària per executar el pla del pla de control. Gestionen el cicle de vida de l'entorn de proves, l'emmagatzematge, la xarxa i les operacions privilegiades que hi ha al darrere.

L'entorn de proves és el propi entorn d'execució aïllat. S'implementa com una màquina virtual aparellada amb el dimoni space: un procés en segon terme dins del convidat que gestiona l'accés al sistema de fitxers, als processos i a la xarxa per a la càrrega de treball.

L'arquitectura de SPACE es divideix en tres capes: el pla de control sense estat; els serveis locals del node que gestionen el cicle de vida de l'entorn de proves, l'emmagatzematge i les portes de seguretat; i el propi entorn de proves.

Pla de control

La passarel·la d'API és el punt d'entrada. Les sol·licituds entrants s'autentiquen i s'autoritzen, i després es tradueixen en registres d'estat desitjat.

El pla de control no té estat per disseny, amb tota la informació duradora delegada a una base de dades compartida. Fa un seguiment de la informació a nivell de clúster sobre els entorns de proves, com ara a quin node estan assignats, on s'estan executant i si s'han fet còpies de seguretat a l'emmagatzematge durador. Compara contínuament l'estat desitjat amb l'estat observat i impulsa tots dos cap a la convergència. Les operacions són idempotents, de manera que el pla de control es pot recuperar automàticament després de qualsevol fallada, reinici o fallada parcial.

Serveis locals del node

Els serveis locals del node fan la feina real de preparar plantilles, iniciar entorns de proves, configurar la xarxa i executar serveis d'execució del costat de l'amfitrió. Cada node executa un petit conjunt de dimonis que gestionen cada entorn de proves col·locat en ell, i el node és la font de la veritat per als estats actius d'aquests entorns de proves.

El gestor d'entorns de proves sap quins entorns de proves estan en execució, en pausa, suspesos o aturats, juntament amb els seus recursos reals. S'executa sense privilegis i delega tot el treball privilegiat al gestor de nodes, l'únic procés arrel que gestiona les primitives subjacents. L'emmagatzematge es gestiona localment i de manera duradora: les instantànies dels estats actuals de l'entorn de proves es guarden al node, i un gestor de volums mou instantànies i plantilles cap a i des de l'emmagatzematge d'objectes segons sigui necessari per permetre operacions entre nodes. Les portes de seguretat protegeixen allò a què pot accedir un entorn de proves: el gestor de credencials regeix la injecció de credencials sota autorització per servei, i la passarel·la de xarxa aplica la política de sortida de cada entorn de proves.

Entorn de proves

L'entorn de proves en si és una màquina virtual (MV) amb el seu propi nucli de convidat, que executa la càrrega de treball de l'usuari darrere d'un límit d'aïllament de maquinari. Com que cada entorn de proves té el seu propi nucli, una càrrega de treball compromesa no pot dependre d'un nucli d'amfitrió compartit com a punt únic de fallada; fins i tot si explota amb èxit el seu nucli de convidat, aquest compromís es limita al límit de la MV de l'entorn de proves en lloc de propagar-se a altres càrregues de treball.

Un dimoni space s'executa dins de cada màquina virtual, servint com un agent lleuger que regula cada acció o modificació que la plataforma realitza dins del convidat. Gestiona l'accés al sistema de fitxers i la gestió de processos. També informa de la disponibilitat del convidat i fa un seguiment de l'activitat, de manera que la plataforma sap quan un entorn de proves s'ha quedat inactiu i es pot pausar o recuperar. De manera crucial, el dimoni space no parla directament amb els clients, sinó que es comunica amb l'amfitrió a través d'un canal privat dins de la MV. Això manté tota la interacció del convidat en un camí controlat i reserva la xarxa pròpia de l'entorn de proves purament per al trànsit de sortida de la càrrega de treball.

Tres pilars: Seguretat, Funcionalitat i Eficiència

A continuació, endinsem-nos en les propietats clau que SPACE ha de proporcionar a través de tres pilars: seguretat, funcionalitat i eficiència. Com s'ha assenyalat anteriorment, aquests tres s'oposen els uns als altres. No obstant això, no podem comprometre cap d'ells si volem donar suport a agents potents que estiguin a l'altura de les capacitats dels models actuals. La seguretat evita que una càrrega de treball no de confiança i possiblement hostil perjudiqui l'amfitrió, altres inquilins o els secrets d'un usuari. La funcionalitat ofereix als agents el ric cicle de vida que necessiten. L'eficiència fa que tot això sigui assequible sota memòria, disc i còmput finits.

Seguretat: Protecció de dades i sistemes

Les plataformes d'entorns de proves necessiten una seguretat sòlida per garantir que el codi erroni o fins i tot maliciós executat dins dels entorns de proves no pugui causar efectes nocius en un altre lloc. Sense aplicar un control de sortida estricte i mantenir els secrets fora de l'entorn de proves, un sol pas en fals d'un agent podria filtrar les claus d'un usuari o exfiltrar feina.

SPACE aplica seguretat per capes combinant l'aïllament a nivell de MV i d'amfitrió amb canals de comunicació estrictament controlats, gestió de credencials i xifratge.

SPACE adopta un enfocament per capes per garantir la seguretat dels entorns de proves. L'aïllament de l'entorn de proves té dos components, l'aïllament de MV i l'aïllament de processos del sistema operatiu amfitrió. S'han de vulnerar tots dos per a l'accés entre entorns de proves. La comunicació amb l'entorn de proves està estrictament controlada; els processos només es poden comunicar a través de canals dedicats. La passarel·la de xarxa força tot el trànsit de sortida a través d'ella. El dimoni space és l'únic canal autoritzat entre l'entorn de proves (no de confiança) i la plataforma (de confiança).

Les credencials no viuen mai on un agent pugui robar-les. El magatzem de credencials se situa fora del límit de l'entorn de proves i és responsable del cicle de vida de les credencials. Emmagatzema i recupera secrets mitjançant un backend de magatzem de secrets connectable, resol credencials mitjançant l'àmbit jeràrquic, gestiona metadades com el mètode d'injecció i la caducitat, i aplica límits de freqüència i registre d'auditoria a tot l'accés. Quan cal, les credencials s'injecten a la capa de xarxa o s'emplenen automàticament per un agent de navegador, en lloc d'entrar directament a l'entorn de proves.

Les dades estan protegides en repòs. SPACE admet BYOK (Bring Your Own Key) per protegir dades emmagatzemades externament. Les claus de xifratge provenen del servei de gestió de claus del client i mai entren a l'entorn de proves. Si l'empresa revoca la clau, les seves dades es tornen il·legibles.

Funcionalitat: Impulsant els fluxos de treball dels agents

Per donar suport als fluxos de treball dels agents, els entorns de proves necessiten un suport ric per al cicle de vida. S'han de crear ràpidament i a escala, ja que un agent pot engegar-ne molts alhora i no hauria d'esperar que cap d'ells arrenqui. Han de persistir durant un temps indefinit, ja que una sessió pot durar minuts o funcionar durant mesos. S'han de pausar netament, de vegades durant llargs períodes, com ara quan una tasca està blocada per la intervenció humana. I han de donar suport a la ramificació, la reversió i la recuperació de fallades, de manera que una sessió pugui ramificar-se, desfer un pas en fals o reprendre's després d'una fallada en lloc de començar de nou.

SPACE admet tot el que s'ha esmentat anteriorment. Model·la tot el cicle de vida de l'entorn de proves com una màquina d'estats explícita, que és el que fa possible operacions com crear, pausar, reprendre, suspendre i restaurar.

Aquest subconjunt bàsic d'estats i transicions d'estat de l'entorn de proves permet un suport ric per al cicle de vida.

Les instantànies són el mecanisme subjacent a la majoria d'aquestes capacitats. Un planificador s'executa a intervals regulars i captura dos tipus d'instantànies: instantànies de disc (còpies del sistema de fitxers en un moment donat) i instantànies completes (punts de control de tota la MV en pausa). Les instantànies de disc es capturen amb freqüència, mentre que els punts de control complets són menys freqüents. Tot es manté al node, i la retenció decau per nivell. Aquestes instantànies es poden utilitzar per a la recuperació dins de la sessió; per exemple, les instantànies de disc es poden utilitzar per revertir el sistema de fitxers per desfer una ordre destructiva, i els punts de control complets permeten que un entorn de proves caigut es reprengui en un punt d'execució recent en lloc d'un disc fred.

Quan un entorn de proves se suspèn, la MV es pausa, es pren una instantània completa i els artefactes de la instantània completa es pengen a l'emmagatzematge d'objectes. Una fila de base de dades fa un seguiment de la instantània i només es pot restaurar un cop han arribat tots els artefactes, de manera que una instantània penjada parcialment no es pot reprendre mai en un estat corrupte. La restauració és la inversa de la suspensió. Com que la instantània viu a l'emmagatzematge d'objectes en lloc del node original, qualsevol node pot recuperar l'entorn de proves. El planificador tria un node, aquest node descarrega els artefactes, torna a aplicar el delta del sistema de fitxers per sobre de la plantilla i reprèn la MV des del seu estat capturat.

Eficiència: Optimització del temps i de l'espai

No n'hi ha prou amb implementar les característiques anteriors en el buit; també han de ser possibles sota estrictes restriccions de recursos. La memòria i el disc d'un node són finits, i els usuaris volen que els agents operin tan ràpidament com sigui possible, de manera que les operacions del cicle de vida han de ser econòmiques tant en temps com en espai. No podem permetre'ns copiar una imatge de màquina completa cada vegada que es crea, es pausa o es ramifica un entorn de proves.

Una elecció de disseny clau fa que això sigui possible: el sistema de fitxers. SPACE utilitza btrfs com a sistema de fitxers al node per a l'emmagatzematge de l'entorn de proves. Btrfs (sistema de fitxers d'arbre B) combina un sistema de fitxers de còpia en escriptura amb gestió de volums lògics integrada. Això té alguns avantatges:

Les còpies de referència enllaçada (reflink) són ràpides, ja que es comparteixen les extensions subjacents, de manera que només cal copiar les metadades.

Les instantànies són atòmiques i ràpides, ja que només cal crear una nova arrel.

Es necessita un emmagatzematge mínim, ja que només s'emmagatzema el que ha canviat.

Com a resultat, els entorns de proves es poden crear i restaurar ràpidament. En lloc de crear un entorn de proves des de zero cada vegada, mantenim un conjunt càlid de POD que ja tenen plantilles comunes materialitzades al disc, i satisfem una sol·licitud enllaçant-la a un POD la plantilla del qual ja coincideix. Donar a aquest entorn de proves el seu propi sistema de fitxers arrel d'escriptura és llavors un clon de còpia en escriptura en lloc d'una còpia completa. Quan cap POD càlid encaixa, materialitzem la plantilla a petició; unim les sol·licituds concurrents per a la mateixa imatge en una única descàrrega, de manera que un brot de sol·licituds idèntiques no es converteixi en un brot de feina idèntica.

El resultat és un entorn d'execució d'entorns de proves que és alhora potent, lleuger i extremadament ràpid. Quan vam llançar SPACE, el vam executar al costat del nostre proveïdor d'entorns de proves anterior amb el mateix trànsit de producció. Durant la setmana de llançament, SPACE va crear entorns de proves de tres a cinc vegades més ràpidament a tota la distribució. Concretament, la latència mediana de creació va baixar de 185 mil·lisegons a 60 mil·lisegons (millora de 3,1x), i la latència al percentil 90 va baixar de 447 mil·lisegons a 89 mil·lisegons (millora de 5,0x). Vam observar millores d'un ordre de magnitud similar en altres indicadors de rendiment i d'ús de recursos.

En una comparació directa, la latència de creació dels entorns de proves de SPACE és fins a 5 vegades més ràpida que la nostra solució d'entorns de proves anterior.

També facilita la presa d'instantànies de disc continuades, ja que són ràpides, eficients en espai i no requereixen pausar l'entorn de proves. I l'emmagatzematge delta eficient redueix l'espai necessari per emmagatzemar aquestes instantànies.

Conclusió

A l'hora de dissenyar sistemes complexos, resulta temptador triar un únic objectiu a optimitzar de manera aïllada. Però els desenvolupadors d'agents de frontera exigeixen seguretat, funcionalitat i eficiència a parts iguals. Amb SPACE, ens vàrem proposar aconseguir una millora de Pareto en els tres pilars.

Cada decisió de disseny individual pot servir a múltiples objectius alhora, fent possible aquest equilibri delicat. Les MV per entorn de proves donen a cada càrrega de treball el seu propi nucli, reforçant la seguretat mitjançant un aïllament fort alhora que proporcionen el límit de punt de control net en què es basen les instantànies. Btrfs permet la implementació eficient de la creació d'instantànies, la ramificació i altres operacions essencials per als entorns d'execució d'agents. El dimoni space manté tota la interacció del convidat en un camí controlat del costat de l'amfitrió, segellant el límit entre el convidat i l'amfitrió alhora que preserva la llibertat de maniobra dels agents. La passarel·la de xarxa central media la sortida i la injecció de credencials sense exposar mai els secrets al convidat.

El resultat d'aquestes i altres decisions de disseny és una plataforma que permet l'orquestració d'agents del món real a escala. SPACE proporciona el substrat sobre el qual els agents de llarga durada i amb estat poden abordar de manera segura treballs de complexitat o durada arbitràries, sense sacrificar ni el rendiment ni la seguretat.

Avui dia, SPACE ja potencia milions de sessions de Perplexity Computer. Tenim la intenció que SPACE serveixi com a capa unificada per aprovisionar i controlar entorns de proves en qualsevol entorn: des de microMV de Linux fins a convidats de Windows passant per la pròpia màquina local d'un usuari. Estem treballant de valent per introduir SPACE en aquests nous entorns, de manera que els desenvolupadors puguin llançar productes d'IA que funcionin a tot arreu on treballin els usuaris.

Si esteu desitjosos de donar forma a la capa de còmput que impulsa els agents de frontera del demà, us convidem a unir-vos al nostre equip.

Citació

BibTeX
@online{perplexity2026MakingSpaceSecureAndEfficientRuntimesForLongRunningAgents,
  author = {{Perplexity} and Kumar Pallav and Nick Dujay and Zibi Braniecki and Dmitry Pervukhin and Gigi Sayfan and Mostafa Abdelraouf and Nikhil Birmiwal and Rohin Bhasin and Shrikant Pandhare and Nikitha Lokareddy and Phi Hoang and Claire Beamer and Jeremy Yang and Jerry Ma},
  title = {{Making SPACE: Secure and efficient runtimes for long-running agents}},
  date = {2026-07-15},
  url = {https://www.perplexity.ai/hub/blog/making-space-secure-and-efficient-runtimes-for-long-running-agents}
}