Membuat SPACE: Runtime Aman dan Efisien untuk Agen Berumur Panjang
SPACE adalah platform kotak pasir Perplexity yang aman dan efisien yang mendukung alur kerja agen berumur panjang serta eksekusi kode terisolasi yang cepat.
Seiring dengan semakin panjang dan otonomnya alur kerja agen, lingkungan tempat agen AI beroperasi menjadi sama pentingnya dengan model yang mendukungnya. Agen harus melakukan pekerjaan nyata, seperti menjalankan kode, mengedit sistem file, dan mengeksekusi tugas multi-langkah selama berjam-jam atau berhari-hari. Pengguna ingin agen memiliki akses ke alat dan file yang mereka perlukan untuk menjalankan tugas-tugas ini, tetapi juga perlu percaya bahwa sistem mereka akan tetap aman bahkan jika agen disusupi. Kotak pasir adalah hal yang membuat semua ini menjadi kenyataan: lingkungan terisolasi di mana agen dapat beroperasi secara bebas sementara host, tenant lain, dan kredensial sensitif tetap terlindungi.
Pendekatan kotak pasir berbasis kontainer tradisional tidak dirancang untuk tugas-tugas ini. Pendekatan tersebut biasanya mengasumsikan pekerjaan berumur pendek dan tanpa status serta menjadikan kernel sebagai satu titik kegagalan tunggal. Sebaliknya, Sesi agen berumur panjang dan bersifat stateful: agen mengumpulkan konteks selama berjam-jam, sistem file kerja, dan proses yang berjalan yang tidak dapat dibuang begitu saja dan direkonstruksi dari awal. Selain itu, beban kerja di dalam harus tidak dipercaya secara default, yang memerlukan langkah-langkah keamanan yang lebih kuat. Sesi agen jangka panjang memerlukan substrat yang dapat mengisolasikan tamu yang berbahaya, mempertahankan statusnya, dan tetap dioperasikan dalam skala besar.
Tantangan utama dalam rekayasa kotak pasir berasal dari ketegangan yang sering muncul antara keamanan, fungsionalitas, dan efisiensi. Contohnya:
- Memberikan akses yang lebih luas memungkinkan agen mencapai lebih banyak hal tetapi mengekspos lebih banyak sistem ke beban kerja yang tidak Anda percayai.
- Makin banyak yang dibagikan di antara kotak pasir, makin cepat proses pembuatannya, tetapi permukaan serangannya pun makin luas.
- Mengambil snapshot lebih sering akan meningkatkan kemampuan pemulihan dan memungkinkan fitur seperti rollback, tetapi membutuhkan waktu dan ruang penyimpanan.
Kotak pasir agen, seperti yang diperlukan untuk mengeksekusi kode, menggunakan Agent Skills, atau menjalankan alur Search as Code dalam kueri Computer, memerlukan ketiganya. Kami telah bekerja keras selama beberapa bulan terakhir untuk merancang infrastruktur agen generasi berikutnya yang mendukung produk kami. Hari ini kami memperkenalkan SPACE (Sandboxed Platform for Agentic Code Execution): platform kotak pasir yang dibangun untuk alur kerja agen yang aman, andal, dan efisien dalam skala besar. Bulan lalu, kami mulai meluncurkan SPACE sebagai lapisan kotak pasir yang mendukung Perplexity Computer. Selama seminggu terakhir, platform ini telah dengan aman mendukung jutaan pembuatan kotak pasir dan puluhan juta penyambungan kembali, dengan waktu mulai (spin-up) yang 3-5 kali lebih cepat daripada solusi kami sebelumnya.
Artikel ini menyajikan keputusan arsitektur dan desain di balik SPACE. Per hari ini, 100% Sesi Computer kini berjalan di SPACE. Kami sangat senang menerapkan platform ini di lebih banyak permukaan guna menghadirkan runtime agen terbaik di kelasnya bagi pengguna dan pengembang kami.
Arsitektur
Pada tingkat tinggi, sistem ini dibagi menjadi tiga lapisan.
Bidang kontrol adalah otak dari sistem, yang memutuskan apa yang harus ada dan di mana. Bidang ini terdiri dari gateway API dan modul manajemen status tingkat kluster.
Layanan lokal node adalah mesin lokal yang diperlukan untuk mengeksekusi rencana bidang kontrol. Layanan ini mengelola siklus hidup kotak pasir, penyimpanan, jaringan, dan operasi istimewa di baliknya.
Kotak pasir adalah lingkungan eksekusi terisolasi itu sendiri. Lingkungan ini diimplementasikan sebagai mesin virtual yang dipasangkan dengan daemon space: proses latar belakang dalam-tamu yang menengahi akses sistem file, proses, dan jaringan untuk beban kerja.
Bidang Kontrol
Gateway API adalah titik masuk. Permintaan masuk diautentikasi dan diotorisasi, kemudian diterjemahkan ke dalam catatan status yang diinginkan.
Bidang kontrol dirancang tanpa status, dengan semua informasi tahan lama dialihkan ke basis data bersama. Bidang ini melacak informasi tingkat kluster pada kotak pasir, seperti node tempat mereka ditetapkan, tempat mereka berjalan, dan apakah mereka telah dicadangkan ke penyimpanan tahan lama. Bidang ini secara berkelanjutan membandingkan status yang diinginkan dengan status yang diamati dan mendorong keduanya menuju konvergensi. Operasi bersifat idempoten, sehingga bidang kontrol dapat pulih secara otomatis setelah terjadi crash, mulai ulang, atau kegagalan sebagian.
Layanan Lokal Node
Layanan lokal node melakukan pekerjaan aktual dalam menyiapkan templat, memulai kotak pasir, menghubungkan jaringan, dan menjalankan layanan runtime sisi host. Setiap node menjalankan sekumpulan kecil daemon yang mengelola setiap kotak pasir yang ditempatkan di atasnya, dan node tersebut adalah sumber kebenaran untuk status langsung kotak pasir tersebut.
Manajer kotak pasir mengetahui kotak pasir mana yang sedang berjalan, dijeda, ditangguhkan, atau dihentikan, beserta sumber daya nyata mereka. Manajer ini berjalan tanpa hak istimewa (unprivileged) dan mendelegasikan semua pekerjaan istimewa ke manajer node, proses root tunggal yang menengahi primitif mendasar. Penyimpanan ditangani secara lokal dan tahan lama: snapshot dari status kotak pasir saat ini disimpan di node, dan manajer volume memindahkan snapshot dan templat ke dan dari penyimpanan objek sesuai kebutuhan untuk mengaktifkan operasi lintas-node. Gerbang pengaman menjaga apa yang dapat dijangkau oleh kotak pasir: manajer kredensial mengatur penyuntikan kredensial di bawah otorisasi per-layanan, dan gateway jaringan menegakkan kebijakan keluar setiap kotak pasir.
Kotak pasir
Kotak pasir itu sendiri adalah mesin virtual (VM) dengan kernel tamu sendiri, yang menjalankan beban kerja pengguna di balik batas isolasi perangkat keras. Karena setiap kotak pasir memiliki kernelnya sendiri, beban kerja yang disusupi tidak dapat kembali mengandalkan kernel host bersama sebagai titik kegagalan tunggal; bahkan jika ia berhasil mengeksploitasi kernel tamunya, kompromi tersebut terbatas pada batas VM kotak pasir alih-alih merambat ke beban kerja lainnya.
Daemon space berjalan di dalam setiap mesin virtual, berfungsi sebagai agen ringan yang mengatur setiap tindakan atau modifikasi yang dilakukan platform di dalam tamu. Daemon ini menangani akses sistem file dan manajemen proses. Daemon ini juga melaporkan kesiapan tamu dan melacak aktivitas, sehingga platform mengetahui kapan kotak pasir telah menganggur dan dapat dijeda atau direklamasi. Yang terpenting, daemon space tidak berbicara langsung dengan klien melainkan berkomunikasi dengan host melalui saluran privat di dalam VM. Hal ini menjaga semua interaksi tamu pada jalur yang dikendalikan dan memesan jaringan kotak pasir sendiri murni untuk lalu lintas keluar beban kerja.
Tiga Pilar: Keamanan, Fungsionalitas, dan Efisiensi
Selanjutnya, kita menyelami properti kunci yang harus dihadirkan oleh SPACE di tiga pilar: keamanan, fungsionalitas, dan efisiensi. Seperti dicatat sebelumnya, ketiganya saling tarik-menarik. Namun, kita tidak dapat berkompromi pada salah satu dari ketiganya jika kita ingin mendukung agen canggih yang memenuhi kapabilitas model saat ini. Keamanan menjaga beban kerja yang tidak dipercaya dan mungkin berbahaya agar tidak merusak host, tenant lain, atau rahasia pengguna. Fungsionalitas memberi agen siklus hidup kaya yang mereka butuhkan. Efisiensi membuat semua ini terjangkau di bawah memori, disk, dan komputasi yang terbatas.
Keamanan: Melindungi Data dan Sistem
Platform kotak pasir memerlukan keamanan yang kuat untuk memastikan bahwa kode yang salah atau bahkan berbahaya yang dijalankan di dalam kotak pasir tidak dapat menyebabkan efek berbahaya di tempat lain. Tanpa menegakkan kontrol keluar yang ketat dan menjaga rahasia tetap keluar dari kotak pasir, satu langkah buruk oleh agen dapat membocorkan kunci pengguna atau mengeksfiltrasi pekerjaan.
SPACE mengambil pendekatan berlapis untuk memastikan keamanan bagi kotak pasir. Isolasi kotak pasir memiliki dua komponen, isolasi VM dan isolasi proses OS host. Keduanya harus dibobol untuk akses lintas-kotak pasir. Komunikasi dengan kotak pasir dikontrol secara ketat; proses hanya dapat berkomunikasi melalui saluran khusus. Gateway jaringan memaksa semua lalu lintas keluar melaluinya. Daemon space adalah satu-satunya saluran yang disetujui antara kotak pasir (yang tidak dipercaya) dan platform (yang dipercaya).
Kredensial tidak pernah disimpan di tempat agen dapat mencurinya. Penyimpanan kredensial berada di luar batas kotak pasir dan bertanggung jawab atas siklus hidup kredensial. Penyimpanan ini menyimpan dan mengambil rahasia melalui backend vault yang dapat diubah (pluggable), menyelesaikan kredensial menggunakan pelingkupan hierarkis, mengelola metadata seperti metode injeksi dan kedaluwarsa, serta menerapkan pembatasan frekuensi dan pencatatan audit pada semua akses. Bila diperlukan, kredensial disuntikkan di lapisan jaringan atau diisi otomatis oleh agen browser, alih-alih masuk ke kotak pasir secara langsung.
Data dilindungi saat disimpan (at rest). SPACE mendukung BYOK (Bring Your Own Key) untuk melindungi data yang disimpan secara eksternal. Kunci enkripsi berasal dari layanan manajemen kunci pelanggan dan tidak pernah memasuki kotak pasir. Jika perusahaan mencabut kunci tersebut, data mereka menjadi tidak dapat dibaca.
Fungsionalitas: Mendukung Alur Kerja Agen
Untuk mendukung alur kerja agen, kotak pasir memerlukan dukungan siklus hidup yang kaya. Mereka harus dibuat dengan cepat dan dalam skala besar, karena agen dapat memunculkan banyak sekaligus dan tidak boleh menunggu salah satu dari mereka melakukan booting. Mereka harus bertahan untuk durasi yang tidak ditentukan, karena sesi mungkin berlangsung beberapa menit atau berjalan selama berbulan-bulan. Mereka harus dijeda dengan bersih, terkadang untuk waktu yang lama, seperti ketika tugas diblokir pada masukan manusia. Dan mereka harus mendukung forking, rollback, dan pemulihan crash, sehingga sesi dapat bercabang, membatalkan langkah yang buruk, atau melanjutkan setelah kesalahan alih-alih mulai dari awal.
SPACE mendukung semua hal di atas. SPACE memodelkan seluruh siklus hidup kotak pasir sebagai mesin status eksplisit, sehingga operasi seperti buat, jeda, lanjutkan, tangguhkan, dan pulihkan menjadi mungkin.
Snapshot adalah mekanisme di balik sebagian besar kapabilitas ini. Penjadwal berjalan pada interval reguler dan menangkap dua jenis snapshot: snapshot disk (salinan titik-waktu dari sistem file) dan snapshot penuh (titik pemeriksaan dari seluruh VM yang dijeda). Snapshot disk ditangkap secara berkala, sementara titik pemeriksaan penuh lebih jarang. Semuanya tetap berada di node, dan retensi meluruh berdasarkan tingkat. Snapshot ini dapat digunakan untuk pemulihan dalam-sesi; misalnya, snapshot disk dapat digunakan untuk menggulung sistem file kembali guna membatalkan perintah destruktif, dan titik pemeriksaan penuh memungkinkan kotak pasir yang mengalami crash melanjutkan dari titik eksekusi terbaru alih-alih melakukan boot dingin dari disk.
Ketika kotak pasir ditangguhkan, VM dijeda, snapshot penuh diambil, dan artifact dari snapshot penuh diunggah ke penyimpanan objek. Baris basis data melacak snapshot tersebut dan hanya menjadi dapat dipulihkan setelah setiap artifact berhasil diunggah, sehingga snapshot yang diunggah sebagian tidak akan pernah dapat dilanjutkan ke status yang rusak. Pemulihan adalah kebalikan dari penangguhan. Karena snapshot berada di penyimpanan objek alih-alih di node asli, node apa pun dapat mengembalikan kotak pasir tersebut. Penjadwal memilih node, node tersebut mengunduh artifact, menerapkan kembali delta sistem file di atas templat, dan melanjutkan VM dari status yang ditangkap.
Efisiensi: Mengoptimalkan Waktu dan Ruang
Tidaklah cukup untuk mengimplementasikan fitur-fitur di atas dalam ruang hampa; fitur-fitur tersebut juga harus dimungkinkan di bawah batasan sumber daya yang ketat. Memori dan disk pada node bersifat terbatas, dan pengguna ingin agen beroperasi secepat mungkin, sehingga operasi siklus hidup harus murah dalam hal waktu dan ruang. Kita tidak mampu menyalin citra mesin penuh setiap kali kotak pasir dibuat, dijeda, atau bercabang.
Pilihan desain utama membuat hal ini menjadi mungkin: sistem file. SPACE menggunakan btrfs sebagai sistem file pada-node untuk penyimpanan kotak pasir. Btrfs (B-tree filesystem) menggabungkan sistem file copy-on-write dengan manajemen volume logis terintegrasi. Ini memiliki beberapa manfaat:
Salinan Reflink cepat, karena Anda berbagi luasan (extent) yang mendasarinya, sehingga hanya metadata yang perlu disalin.
Snapshot bersifat atomik dan cepat, karena Anda cukup membuat root baru.
Penyimpanan minimal diperlukan, karena Anda hanya menyimpan apa yang telah berubah.
Hasilnya, kotak pasir dapat dibuat dan dipulihkan dengan cepat. Alih-alih membuat kotak pasir dari awal setiap kali, kami mempertahankan kumpulan hangat (warm pool) pod yang telah memiliki templat umum yang terwujud di disk, dan memenuhi permintaan dengan mengikatnya ke pod yang templatnya sudah cocok. Memberikan sistem file root yang dapat ditulis sendiri kepada kotak pasir tersebut kemudian menjadi klon copy-on-write alih-alih salinan penuh. Ketika tidak ada pod hangat yang cocok, kami mewujudkan templat sesuai permintaan; kami menggabungkan permintaan bersamaan untuk gambar yang sama menjadi satu unduhan, sehingga lonjakan permintaan identik tidak berubah menjadi lonjakan pekerjaan yang identik.
Hasilnya adalah runtime kotak pasir yang sekaligus kuat, ringan, dan sangat cepat. Ketika kami meluncurkan SPACE, kami menjalankannya berdampingan dengan penyedia kotak pasir kami sebelumnya pada lalu lintas produksi yang sama. Selama minggu peluncuran, SPACE membuat kotak pasir tiga hingga lima kali lebih cepat di seluruh distribusi. Khususnya, latensi pembuatan median turun dari 185 milidetik menjadi 60 milidetik (peningkatan 3,1x), dan latensi persentil ke-90 turun dari 447 milidetik menjadi 89 milidetik (peningkatan 5,0x). Kami mengamati peningkatan orde-besaran serupa di seluruh indikator kinerja dan penggunaan sumber daya lainnya.
Hal ini juga memudahkan pengambilan snapshot disk bergulir, karena cepat, efisien dalam penggunaan ruang, dan tidak perlu menjeda kotak pasir. Dan, penyimpanan delta yang efisien mengurangi ruang yang diperlukan untuk menyimpan snapshot ini.
Kesimpulan
Saat merancang sistem yang kompleks, sangat menggoda untuk memilih satu tujuan tunggal untuk dioptimalkan secara terisolasi. Namun, pengembang agen mutakhir menuntut keamanan, fungsionalitas, dan efisiensi dalam ukuran yang sama. Dengan SPACE, kami bertekad untuk mencapai peningkatan Pareto di ketiga pilar tersebut.
Setiap pilihan desain individual dapat melayani beberapa tujuan sekaligus, membuat keseimbangan yang halus ini menjadi mungkin. VM per-kotak-pasir memberi setiap beban kerja kernelnya sendiri, memperkuat keamanan melalui isolasi yang kuat sambil juga menyediakan batas titik pemeriksaan bersih yang diandalkan oleh snapshot. Btrfs memungkinkan implementasi yang efisien dari pembuatan snapshot, forking, dan operasi lain yang esensial untuk runtime agen. Daemon space menjaga semua interaksi tamu pada jalur sisi-host yang terkontrol, menyegel batas tamu-host sambil mempertahankan kebebasan bergerak agen. Gateway jaringan pusat menengahi lalu lintas keluar dan injeksi kredensial tanpa pernah mengekspos rahasia ke tamu.
Hasil dari keputusan desain ini dan lainnya adalah platform yang memungkinkan orkestrasi agen dunia nyata dalam skala besar. SPACE menyediakan substrat di mana agen berumur panjang dan menyimpan state dapat dengan aman menangani pekerjaan dengan kompleksitas atau durasi apa pun, tanpa mengorbankan kinerja atau keamanan.
Hari ini, SPACE telah mendukung jutaan Sesi Perplexity Computer. Kami bermaksud agar SPACE berfungsi sebagai lapisan bersatu untuk menyediakan dan mengontrol kotak pasir di pengaturan apa pun: dari microVM Linux hingga tamu Windows hingga mesin lokal pengguna sendiri. Kami bekerja keras mendorong SPACE ke pengaturan baru ini, sehingga pengembang dapat mengirimkan produk AI yang berfungsi di mana pun pengguna bekerja.
Jika Anda tidak sabar untuk membentuk lapisan komputasi yang mendorong agen mutakhir masa depan, kami mengundang Anda untuk bergabung dengan tim kami.
Sitasi
@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}
}