Κατασκευάζοντας το SPACE: Ασφαλή και αποδοτικά περιβάλλοντα εκτέλεσης για πράκτορες μακράς διαρκείας

Το SPACE είναι η ασφαλής, αποδοτική πλατφόρμα Sandbox της Perplexity που τροφοδοτεί μακροχρόνιες ροές εργασίας πρακτόρων και γρήγορη, απομονωμένη εκτέλεση κώδικα.

ΣυγγραφείςPerplexity Engineering

Καθώς οι ροές εργασίας των πρακτόρων γίνονται μεγαλύτερες και πιο αυτόνομες, τα περιβάλλοντα στα οποία λειτουργούν οι πράκτορες τεχνητής νοημοσύνης έχουν τόση σημασία όσα και τα μοντέλα που τα τροφοδοτούν. Οι πράκτορες πρέπει να εκτελούν πραγματική εργασία, όπως η εκτέλεση κώδικα, η επεξεργασία συστημάτων αρχείων και η εκτέλεση εργασιών πολλαπλών βημάτων επί ώρες ή ημέρες. Οι χρήστες θέλουν οι πράκτορες να έχουν πρόσβαση στα εργαλεία και τα αρχεία που χρειάζονται για να εκτελέσουν αυτές τις εργασίες, αλλά πρέπει επίσης να εμπιστεύονται ότι τα συστήματά τους θα παραμείνουν ασφαλή ακόμα κι αν οι πράκτορες παραβιαστούν. Ένα Sandbox είναι αυτό που καθιστά δυνατά όλα αυτά: ένα απομονωμένο περιβάλλον όπου ένας πράκτονας μπορεί να λειτουργεί ελεύθερα, ενώ ο κεντρικός υπολογιστής, οι άλλοι μισθωτές και τα ευαίσθητα διαπιστευτήρια παραμένουν προστατευμένα.

Οι παραδοσιακές προσεγγίσεις sandbox που βασίζονται σε κοντέινερ δεν έχουν σχεδιαστεί για αυτές τις εργασίες. Συνήθως προϋποθέτουν σύντομες, χωρίς κατάσταση διεργασίες και θεωρούν τον πυρήνα ως μοναδικό σημείο αποτυχίας. Αντίθετα, οι συνεδρίες πρακτόρων είναι μακράς διάρκειας και με κατάσταση: ένας πράκτορας συσσωρεύει ώρες συμφραζομένων, ένα λειτουργικό σύστημα αρχείων και διεργασίες που εκτελούνται και δεν μπορούν απλώς να απορριφθούν και να ανακατασκευαστούν από το μηδέν. Επιπλέον, ο φόρτος εργασίας μέσα σε αυτές πρέπει εξ ορισμού να θεωρείται μη έμπιστος, γεγονός που καθιστά απαραίτητα ισχυρότερα μέτρα ασφάλειας. Οι μακρόχρονες συνεδρίες πρακτόρων χρειάζονται ένα υπόστρωμα που μπορεί να απομονώσει μια εχθρική εικονική μηχανή, να διατηρήσει την κατάστασή της και ταυτόχρονα να λειτουργεί σε κλίμακα.

Η κύρια πρόκληση στη μηχανική Sandbox προέρχεται από την ένταση που συχνά ανακύπτει μεταξύ ασφάλειας, λειτουργικότητας και αποδοτικότητας. Για παράδειγμα:

  • Η χορήγηση ευρύτερης πρόσβασης επιτρέπει σε έναν πράκτονα να πετύχει περισσότερα, αλλά εκθέτει μεγαλύτερο μέρος του συστήματος σε έναν φόρτο εργασίας που δεν εμπιστεύεστε.
  • Η μεγαλύτερη κοινή χρήση πόρων μεταξύ των sandbox επιταχύνει τη δημιουργία τους, αλλά διευρύνει την επιφάνεια επίθεσης.
  • Η συχνότερη λήψη στιγμιοτύπων βελτιώνει την ανάκτηση και επιτρέπει λειτουργίες όπως η επαναφορά (rollback), αλλά απαιτεί χρόνο και αποθηκευτικό χώρο.

Τα Sandbox πρακτόρων, όπως αυτά που απαιτούνται για την εκτέλεση κώδικα, τη χρήση των Agent Skills ή την εκτέλεση Search as Code αγωγών σε ερωτήματα Computer, χρειάζονται και τα τρία. Εργαζόμαστε σκληρά τους τελευταίους μήνες για να σχεδιάσουμε την επόμενη γενιά υποδομής πρακτόρων που τροφοδοτεί τα προϊόντα μας. Σήμερα παρουσιάζουμε το SPACE (Sandboxed Platform for Agentic Code Execution): μια πλατφόρμα Sandbox κατασκευασμένη για ροές εργασίας πρακτόρων που είναι ασφαλής, αξιόπιστη και αποδοτική σε κλίμακα. Τον περασμένο μήνα, αρχίσαμε να διαθέτουμε το SPACE ως το επίπεδο Sandbox που τροφοδοτεί το Perplexity Computer. Την περασμένη εβδομάδα, υποστήριξε με ασφάλεια εκατομμύρια δημιουργίες Sandbox και δεκάδες εκατομμύρια επανασυνδέσεις, με χρόνους εκκίνησης 3-5 φορές ταχύτερους από την προηγούμενη λύση μας.

Αυτό το άρθρο παρουσιάζει τις αρχιτεκτονικές αποφάσεις και τις αποφάσεις σχεδιασμού πίσω από το SPACE. Από σήμερα, το 100% των συνεδριών Computer εκτελούνται τώρα στο SPACE. Είμαστε ενθουσιασμένοι που αναπτύσσουμε αυτήν την πλατφόρμα σε ακόμη περισσότερες επιφάνειες για να προσφέρουμε ένα κορυφαίο περιβάλλον εκτέλεσης πρακτόρων στους χρήστες και τους προγραμματιστές μας.

Αρχιτεκτονική

Σε υψηλό επίπεδο, το σύστημα οργανώνεται σε τρία επίπεδα.

Το επίπεδο ελέγχου είναι ο εγκέφαλος του συστήματος, αποφασίζοντας τι πρέπει να υπάρχει και πού. Αποτελείται από την πύλη API και τις μονάδες διαχείρισης κατάστασης σε επίπεδο συστάδας.

Οι τοπικές υπηρεσίες κόμβων είναι ο τοπικός μηχανισμός που απαιτείται για την εκτέλεση του σχεδίου του επιπέδου ελέγχου. Κατέχουν τον κύκλο ζωής του Sandbox, την αποθήκευση, τη δικτύωση και τις προνομιακές λειτουργίες πίσω από αυτά.

Το Sandbox είναι το ίδιο το απομονωμένο περιβάλλον εκτέλεσης. Υλοποιείται ως εικονική μηχανή σε συνδυασμό με το space-daemon: μια διαδικασία υποβάθρου, η οποία εκτελείται μέσα στην εικονική μηχανή και μεσολαβεί στην πρόσβαση στο σύστημα αρχείων, στις διεργασίες και στο δίκτυο για τον φόρτο εργασίας.

Η αρχιτεκτονική του SPACE χωρίζεται σε τρία επίπεδα: το επίπεδο ελέγχου χωρίς κατάσταση· τις τοπικές υπηρεσίες κόμβου που διαχειρίζονται τον κύκλο ζωής του Sandbox, την αποθήκευση και τις πύλες ασφαλείας· και το ίδιο το Sandbox.

Επίπεδο ελέγχου

Η πύλη API είναι το σημείο εισόδου. Τα εισερχόμενα αιτήματα ελέγχονται ως προς την ταυτότητα και εξουσιοδοτούνται, στη συνέχεια μεταφράζονται σε εγγραφές της επιθυμητής κατάστασης.

Το επίπεδο ελέγχου είναι χωρίς κατάσταση εξ σχεδιασμού, με όλες τις ανθεκτικές πληροφορίες να μεταφέρονται σε μια κοινόχρηστη βάση δεδομένων. Παρακολουθεί πληροφορίες σε επίπεδο συστάδας σχετικά με τα Sandbox, όπως σε ποιον κόμβο έχουν ανατεθεί, πού εκτελούνται και εάν έχουν δημιουργηθεί αντίγραφα ασφαλείας σε ανθεκτική αποθήκευση. Συγκρίνει συνεχώς την επιθυμητή κατάσταση με την παρατηρούμενη κατάσταση και οδηγεί τα δύο προς τη σύγκλιση. Οι λειτουργίες είναι ιδιοδύναμες (idempotent), επομένως το επίπεδο ελέγχου μπορεί να ανακτηθεί αυτόματα μετά από οποιαδήποτε διακοπή λειτουργίας, επανεκκίνηση ή μερική αποτυχία.

Τοπικές υπηρεσίες κόμβου

Οι τοπικές υπηρεσίες κόμβου εκτελούν την πραγματική εργασία προετοιμασίας προτύπων, εκκίνησης Sandbox, καλωδίωσης δικτύου και εκτέλεσης υπηρεσιών χρόνου εκτέλεσης στην πλευρά του κεντρικού υπολογιστή. Κάθε κόμβος εκτελεί ένα μικρό σύνολο δαιμόνων που διαχειρίζονται κάθε Sandbox που τοποθετείται σε αυτόν, και ο κόμβος είναι η πηγή της αλήθειας για τις ζωντανές καταστάσεις αυτών των Sandbox.

Ο διαχειριστής Sandbox γνωρίζει ποια Sandbox εκτελούνται, βρίσκονται σε παύση, σε αναστολή ή είναι σταματημένα, μαζί με τους πραγματικούς πόρους τους. Εκτελείται χωρίς προνόμια και εκχωρεί όλη την προνομιακή εργασία στον διαχειριστή κόμβου, τη μοναδική διαδικασία με δικαιώματα root που μεσολαβεί στα υποκείμενα πρωτόγονα στοιχεία. Η αποθήκευση χειρίζεται τοπικά και ανθεκτικά: τα στιγμιότυπα των τρεχουσών καταστάσεων Sandbox αποθηκεύονται στον κόμβο, και ένας διαχειριστής τόμων μετακινεί στιγμιότυπα και πρότυπα προς και από την αποθήκευση αντικειμένων όπως απαιτείται για να επιτρέψει λειτουργίες μεταξύ κόμβων. Οι πύλες ασφαλείας προστατεύουν τι μπορεί να φτάσει ένα Sandbox: ο διαχειριστής διαπιστευτηρίων διέπει την εισαγωγή διαπιστευτηρίων υπό εξουσιοδοτήσεις ανά υπηρεσία, και η πύλη δικτύου επιβάλλει την πολιτική εξερχόμενης κίνησης κάθε Sandbox.

Sandbox

Το ίδιο το Sandbox είναι μια εικονική μηχανή (VM) με τον δικό της πυρήνα επισκέπτη, που εκτελεί τον φόρτο εργασίας του χρήστη πίσω από ένα όριο απομόνωσης υλικού. Επειδή κάθε Sandbox έχει τον δικό του πυρήνα, ένας παραβιασμένος φόρτος εργασίας δεν μπορεί να βασιστεί σε έναν κοινόχρηστο πυρήνα κεντρικού υπολογιστή ως μοναδικό σημείο αποτυχίας· ακόμη και αν εκμεταλλευτεί με επιτυχία τον πυρήνα επισκέπτη του, αυτή η παραβίαση περιορίζεται στο όριο VM του Sandbox αντί να διαδίδεται σε άλλους φόρτους εργασίας.

Ένας δαίμονας space εκτελείται μέσα σε κάθε εικονική μηχανή, λειτουργώντας ως ελαφρύς πράκτορας που ρυθμίζει κάθε ενέργεια ή τροποποίηση που πραγματοποιεί η πλατφόρμα μέσα στην εικονική μηχανή. Χειρίζεται την πρόσβαση στο σύστημα αρχείων και τη διαχείριση διεργασιών. Επίσης αναφέρει την ετοιμότητα της εικονικής μηχανής και παρακολουθεί τη δραστηριότητα, ώστε η πλατφόρμα να γνωρίζει πότε ένα sandbox έχει μείνει αδρανές και μπορεί να τεθεί σε παύση ή να ανακτηθεί. Το κρίσιμο σημείο είναι ότι ο δαίμονας space δεν επικοινωνεί απευθείας με πελάτες, αλλά αντ' αυτού επικοινωνεί με τον κεντρικό υπολογιστή μέσω ενός ιδιωτικού καναλιού εντός της εικονικής μηχανής. Αυτό διατηρεί κάθε αλληλεπίδραση με την εικονική μηχανή σε ελεγχόμενη διαδρομή και δεσμεύει το δίκτυο του ίδιου του sandbox αποκλειστικά για την εξερχόμενη κίνηση του φόρτου εργασίας.

Τρεις πυλώνες: Ασφάλεια, Λειτουργικότητα και Αποδοτικότητα

Στη συνέχεια, εμβαθύνουμε στις βασικές ιδιότητες που πρέπει να παρέχει το SPACE σε τρεις πυλώνες: ασφάλεια, λειτουργικότητα και αποδοτικότητα. Όπως σημειώθηκε νωρίτερα, αυτοί οι τρεις παράγοντες έρχονται σε σύγκρουση μεταξύ τους. Ωστόσο, δεν μπορούμε να συμβιβαστούμε σε κανέναν από αυτούς αν θέλουμε να υποστηρίξουμε ισχυρούς πράκτορες που ανταποκρίνονται στο επίπεδο των σημερινών δυνατοτήτων των μοντέλων. Η ασφάλεια εμποδίζει έναν μη έμπιστο, ενδεχομένως εχθρικό φόρτο εργασίας να βλάψει τον κεντρικό υπολογιστή, άλλους ενοικιαστές ή τα μυστικά ενός χρήστη. Η λειτουργικότητα δίνει στους πράκτορες τον πλούσιο κύκλο ζωής που χρειάζονται. Η αποδοτικότητα καθιστά όλα αυτά προσιτά κάτω από πεπερασμένη μνήμη, δίσκο και υπολογιστική ισχύ.

Ασφάλεια: Προστασία Δεδομένων και Συστημάτων

Οι πλατφόρμες Sandbox χρειάζονται ισχυρή ασφάλεια για να διασφαλίσουν ότι ο εσφαλμένος ή ακόμα και ο κακόβουλος κώδικας που εκτελείται εντός των Sandbox δεν μπορεί να προκαλέσει επιβλαβείς επιπτώσεις αλλού. Χωρίς την επιβολή αυστηρού ελέγχου εξερχόμενης κίνησης και τη διατήρηση των μυστικών μακριά από το Sandbox, ένα μόνο κακό βήμα από έναν πράκτονα θα μπορούσε να διαρρεύσει τα κλειδιά ενός χρήστη ή να υποκλέψει εργασία.

Το SPACE επιβάλλει πολυεπίπεδη ασφάλεια συνδυάζοντας την απομόνωση VM και επιπέδου κεντρικού υπολογιστή με αυστηρά ελεγχόμενα κανάλια επικοινωνίας, διαχείριση διαπιστευτηρίων και κρυπτογράφηση.

Το SPACE ακολουθεί μια πολυεπίπεδη προσέγγιση για τη διασφάλιση της ασφάλειας των sandboxes. Η απομόνωση sandbox έχει δύο συνιστώσες, την απομόνωση VM και την απομόνωση διεργασιών του λειτουργικού συστήματος του κεντρικού υπολογιστή. Και οι δύο πρέπει να παραβιαστούν για πρόσβαση μεταξύ sandboxes. Η επικοινωνία με το sandbox ελέγχεται αυστηρά· οι διεργασίες μπορούν να επικοινωνούν μόνο μέσω ειδικών καναλιών. Η πύλη δικτύου εξαναγκάζει όλη την εξερχόμενη κίνηση να περνά από αυτήν. Ο δαίμονας space είναι το μόνο εγκεκριμένο κανάλι μεταξύ του (μη έμπιστου) sandbox και της (έμπιστης) πλατφόρμας. 

Τα διαπιστευτήρια δεν βρίσκονται ποτέ εκεί όπου ένας πράκτορας μπορεί να τα κλέψει. Η αποθήκη διαπιστευτηρίων βρίσκεται εκτός του ορίου του sandbox και είναι υπεύθυνη για τον κύκλο ζωής των διαπιστευτηρίων. Αποθηκεύει και ανακτά μυστικά μέσω ενός προσαρμόσιμου backend θησαυροφυλακίου, επιλύει διαπιστευτήρια χρησιμοποιώντας ιεραρχικό καθορισμό πεδίου, διαχειρίζεται μεταδεδομένα όπως η μέθοδος εισαγωγής και η λήξη, και επιβάλλει όρια ρυθμού και καταγραφή ελέγχου σε κάθε πρόσβαση. Όταν χρειάζεται, τα διαπιστευτήρια εισάγονται στο επίπεδο δικτύου ή συμπληρώνονται αυτόματα από έναν πράκτορα προγράμματος περιήγησης, αντί να εισέρχονται απευθείας στο sandbox. 

Τα δεδομένα προστατεύονται όταν είναι αποθηκευμένα. Το SPACE υποστηρίζει BYOK (Bring Your Own Key) για την προστασία εξωτερικά αποθηκευμένων δεδομένων. Τα κλειδιά κρυπτογράφησης προέρχονται από την υπηρεσία διαχείρισης κλειδιών του πελάτη και δεν εισέρχονται ποτέ στο Sandbox. Εάν η επιχείρηση ανακαλέσει το κλειδί, τα δεδομένα τους γίνονται μη αναγνώσιμα.

Λειτουργικότητα: Τροφοδοσία ροών εργασίας πρακτόρων

Για την υποστήριξη ροών εργασίας πρακτόρων, τα Sandbox χρειάζονται πλούσια υποστήριξη κύκλου ζωής. Πρέπει να δημιουργούνται γρήγορα και σε κλίμακα, δεδομένου ότι ένας πράκτορας μπορεί να ενεργοποιήσει πολλά ταυτόχρονα και δεν πρέπει να περιμένει την εκκίνηση κανενός από αυτά. Πρέπει να παραμένουν ενεργά για αόριστη διάρκεια, δεδομένου ότι μια Συνεδρία μπορεί να διαρκέσει λεπτά ή να εκτελεστεί για μήνες. Πρέπει να τίθενται σε παύση καθαρά, μερικές φορές για μεγάλα διαστήματα, όπως όταν μια εργασία περιμένει ανθρώπινη παρέμβαση. Και πρέπει να υποστηρίζουν διακλάδωση, επαναφορά και ανάκαμψη από σφάλματα, ώστε μια Συνεδρία να μπορεί να διακλαδιστεί, να αναιρέσει ένα κακό βήμα ή να συνεχίσει μετά από μια βλάβη αντί να ξεκινάει από την αρχή.

Το SPACE υποστηρίζει όλα τα παραπάνω. Μοντελοποιεί τον πλήρη κύκλο ζωής του Sandbox ως μια ρητή μηχανή καταστάσεων, η οποία είναι αυτό που καθιστά δυνατές λειτουργίες όπως δημιουργία, παύση, συνέχιση, αναστολή και αποκατάσταση.

Αυτό το βασικό υποσύνολο καταστάσεων Sandbox και μεταβάσεων κατάστασης επιτρέπει πλούσια υποστήριξη κύκλου ζωής.

Τα στιγμιότυπα είναι ο μηχανισμός πίσω από τις περισσότερες από αυτές τις δυνατότητες. Ένας χρονοπρογραμματιστής εκτελείται σε τακτικά διαστήματα και καταγράφει δύο τύπους στιγμιότυπων: στιγμιότυπα δίσκου (αντίγραφα του συστήματος αρχείων σε συγκεκριμένη χρονική στιγμή) και πλήρη στιγμιότυπα (σημεία ελέγχου ολόκληρης της VM σε παύση). Τα στιγμιότυπα δίσκου καταγράφονται συχνά, ενώ τα πλήρη σημεία ελέγχου είναι λιγότερο συχνά. Τα πάντα παραμένουν στον κόμβο και η διατήρηση εξασθενεί ανά επίπεδο. Αυτά τα στιγμιότυπα μπορούν να χρησιμοποιηθούν για ανάκαμψη εντός της συνεδρίας· για παράδειγμα, τα στιγμιότυπα δίσκου μπορούν να χρησιμοποιηθούν για την επαναφορά του συστήματος αρχείων ώστε να αναιρεθεί μια καταστροφική εντολή, και τα πλήρη σημεία ελέγχου επιτρέπουν σε ένα κατεστραμμένο Sandbox να συνεχίσει σε πρόσφατο σημείο εκτέλεσης αντί για κρύο δίσκο.

Όταν ένα Sandbox τίθεται σε αναστολή, η VM τίθεται σε παύση, λαμβάνεται ένα πλήρες στιγμιότυπο και τα τεχνουργήματα από το πλήρες στιγμιότυπο μεταφορτώνονται στην αποθήκευση αντικειμένων. Μια εγγραφή στη βάση δεδομένων παρακολουθεί το στιγμιότυπο και αυτό γίνεται διαθέσιμο για επαναφορά μόνο αφού ολοκληρωθεί η μεταφόρτωση όλων των τεχνουργημάτων, οπότε ένα μερικώς μεταφορτωμένο στιγμιότυπο δεν μπορεί ποτέ να συνεχιστεί σε κατεστραμμένη κατάσταση. Η αποκατάσταση είναι το αντίθετο της αναστολής. Επειδή το στιγμιότυπο βρίσκεται στην αποθήκευση αντικειμένων και όχι στον αρχικό κόμβο, οποιοσδήποτε κόμβος μπορεί να επαναφέρει το Sandbox. Ο χρονοπρογραμματιστής επιλέγει έναν κόμβο, αυτός ο κόμβος κατεβάζει τα τεχνουργήματα, επανεφαρμόζει τη διαφορά του συστήματος αρχείων πάνω από το πρότυπο και συνεχίζει τη VM από την καταγεγραμμένη κατάστασή της.

Αποδοτικότητα: Βελτιστοποίηση Χρόνου και Χώρου

Δεν αρκεί η υλοποίηση των παραπάνω χαρακτηριστικών σε απομόνωση· πρέπει επίσης να είναι δυνατές υπό στενούς περιορισμούς πόρων. Η μνήμη και ο δίσκος σε έναν κόμβο είναι πεπερασμένοι και οι χρήστες θέλουν οι πράκτορες να λειτουργούν όσο το δυνατόν γρηγορότερα, επομένως οι λειτουργίες κύκλου ζωής πρέπει να είναι χαμηλού κόστους τόσο σε χρόνο όσο και σε χώρο. Δεν έχουμε την πολυτέλεια να αντιγράφουμε μια πλήρη εικόνα μηχανής κάθε φορά που δημιουργείται, τίθεται σε παύση ή διακλαδίζεται ένα Sandbox.

Μια βασική επιλογή σχεδιασμού το καθιστά δυνατό: το σύστημα αρχείων. Το SPACE χρησιμοποιεί το btrfs ως σύστημα αρχείων στον κόμβο για την αποθήκευση Sandbox. Το Btrfs (σύστημα αρχείων B-tree) συνδυάζει ένα σύστημα αρχείων copy-on-write με ενσωματωμένη διαχείριση λογικών τόμων. Αυτό έχει αρκετά πλεονεκτήματα:

Τα αντίγραφα Reflink είναι γρήγορα, εφόσον μοιράζεστε τα υποκείμενα τμήματα, οπότε μόνο τα μεταδεδομένα πρέπει να αντιγραφούν.

Τα στιγμιότυπα είναι ατομικά και γρήγορα, καθώς απλώς δημιουργείτε μια νέα ρίζα.

Απαιτείται ελάχιστος αποθηκευτικός χώρος, καθώς αποθηκεύετε μόνο ό,τι έχει αλλάξει.

Ως αποτέλεσμα, τα Sandbox μπορούν να δημιουργηθούν και να αποκατασταθούν γρήγορα. Αντί να δημιουργούμε ένα Sandbox από την αρχή κάθε φορά, διατηρούμε μια θερμή δεξαμενή από pods που έχουν ήδη κοινά πρότυπα υλοποιημένα στον δίσκο, και ικανοποιούμε ένα αίτημα συνδέοντάς το με ένα pod του οποίου το πρότυπο ταιριάζει ήδη. Έτσι, η παροχή στο Sandbox του δικού του ριζικού συστήματος αρχείων με δυνατότητα εγγραφής γίνεται μέσω κλώνου copy-on-write αντί για πλήρες αντίγραφο. Όταν κανένα θερμό pod δεν ταιριάζει, υλοποιούμε το πρότυπο κατόπιν ζήτησης· συγχωνεύουμε ταυτόχρονα αιτήματα για την ίδια εικόνα σε μία μόνο λήψη, έτσι ώστε μια έκρηξη πανομοιότυπων αιτημάτων να μην μετατρέπεται σε έκρηξη πανομοιότυπης εργασίας.

Το αποτέλεσμα είναι ένα περιβάλλον εκτέλεσης sandbox που είναι ταυτόχρονα ισχυρό, ελαφρύ και εξαιρετικά γρήγορο. Όταν κυκλοφορήσαμε το SPACE, το τρέξαμε παράλληλα με τον προηγούμενο πάροχο sandbox πάνω στην ίδια παραγωγική κίνηση. Κατά τη διάρκεια της εβδομάδας κυκλοφορίας, το SPACE δημιούργησε sandboxes τρεις έως πέντε φορές πιο γρήγορα σε όλο το εύρος της κατανομής. Συγκεκριμένα, η διάμεση καθυστέρηση δημιουργίας έπεσε από 185 χιλιοστά του δευτερολέπτου σε 60 χιλιοστά του δευτερολέπτου (βελτίωση 3,1x), και η καθυστέρηση στο 90ό εκατοστημόριο έπεσε από 447 χιλιοστά του δευτερολέπτου σε 89 χιλιοστά του δευτερολέπτου (βελτίωση 5,0x). Παρατηρήσαμε παρόμοιες βελτιώσεις τάξης μεγέθους σε άλλους δείκτες απόδοσης και χρήσης πόρων.

Σε άμεση σύγκριση, η καθυστέρηση δημιουργίας για τα Sandbox SPACE είναι έως και 5 φορές ταχύτερη από την προηγούμενη λύση Sandbox μας.

Επίσης, διευκολύνει τη λήψη κυλιόμενων στιγμιότυπων δίσκου, καθώς είναι γρήγορα, αποδοτικά ως προς τον αποθηκευτικό χώρο και δεν απαιτούν παύση του Sandbox. Επιπλέον, η αποδοτική αποθήκευση διαφορών μειώνει τον αποθηκευτικό χώρο που απαιτείται για την αποθήκευση αυτών των στιγμιότυπων.

Συμπέρασμα

Όταν σχεδιάζετε σύνθετα συστήματα, είναι δελεαστικό να επιλέξετε έναν ενιαίο στόχο για βελτιστοποίηση μεμονωμένα. Αλλά οι προγραμματιστές πρωτοποριακών πρακτόρων απαιτούν ασφάλεια, λειτουργικότητα και αποδοτικότητα σε ίσο βαθμό. Με το SPACE, θέσαμε ως στόχο να επιτύχουμε μια βελτίωση Pareto και στους τρεις πυλώνες.

Κάθε μεμονωμένη επιλογή σχεδιασμού μπορεί να εξυπηρετήσει πολλαπλούς στόχους ταυτόχρονα, καθιστώντας αυτή την ευαίσθητη ισορροπία εφικτή. Οι VM ανά Sandbox δίνουν σε κάθε φόρτο εργασίας τον δικό του πυρήνα, ενισχύοντας την ασφάλεια μέσω ισχυρής απομόνωσης, παρέχοντας παράλληλα το καθαρό όριο σημείου ελέγχου στο οποίο βασίζονται τα στιγμιότυπα. Το Btrfs επιτρέπει την αποδοτική υλοποίηση της λήψης στιγμιότυπων, της διακλάδωσης και άλλων λειτουργιών απαραίτητων για τους χρόνους εκτέλεσης πρακτόρων. Ο δαίμονας space διατηρεί όλη την αλληλεπίδραση με την εικονική μηχανή σε μια ελεγχόμενη διαδρομή στην πλευρά του κεντρικού υπολογιστή, σφραγίζοντας το όριο εικονικής μηχανής-κεντρικού υπολογιστή διατηρώντας παράλληλα την ελευθερία ελιγμών των πρακτόρων. Η κεντρική πύλη δικτύου μεσολαβεί στην εξερχόμενη κίνηση και την εισαγωγή διαπιστευτηρίων χωρίς ποτέ να εκθέτει μυστικά στην εικονική μηχανή.

Το αποτέλεσμα αυτών και άλλων αποφάσεων σχεδιασμού είναι μια πλατφόρμα που επιτρέπει την ορχήστρωση πρακτόρων στον πραγματικό κόσμο σε κλίμακα. Το SPACE παρέχει το υπόστρωμα στο οποίο οι μακροχρόνιοι πράκτορες που διατηρούν κατάσταση μπορούν να αντιμετωπίσουν με ασφάλεια εργασία αυθαίρετης πολυπλοκότητας ή διάρκειας, χωρίς να θυσιάζουν ούτε την απόδοση ούτε την ασφάλεια.

Σήμερα, το SPACE τροφοδοτεί ήδη εκατομμύρια συνεδρίες Perplexity Computer. Σκοπεύουμε το SPACE να χρησιμεύσει ως ενοποιημένο επίπεδο για την παροχή και τον έλεγχο Sandbox σε οποιοδήποτε περιβάλλον: από microVM Linux έως εικονικές μηχανές Windows έως το τοπικό μηχάνημα του ίδιου του χρήστη. Εργαζόμαστε σκληρά για να προωθήσουμε το SPACE σε αυτά τα νέα περιβάλλοντα, ώστε οι προγραμματιστές να μπορούν να παραδώσουν προϊόντα τεχνητής νοημοσύνης που λειτουργούν παντού όπου εργάζονται οι χρήστες.

Αν θέλετε να διαμορφώσετε το υπολογιστικό επίπεδο που τροφοδοτεί τους αυριανούς πρωτοποριακούς πράκτορες, σας προσκαλούμε να γίνετε μέλος της ομάδας μας.

Παραπομπή

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}
}