SPACE'i Oluşturmak: Uzun Süre Çalışan Ajanlar için Güvenli ve Verimli Çalışma Zamanları
SPACE, uzun süre çalışan ajan iş akışlarını ve hızlı, izole kod yürütmeyi destekleyen Perplexity'nin güvenli ve verimli korumalı alan platformudur.
Yapay zeka (YZ) ajanlarının iş akışları giderek uzayıp daha özerk hale geldikçe, YZ ajanlarının çalıştığı ortamlar da onları yönlendiren modeller kadar önem kazanıyor. Ajanların kod çalıştırma, dosya sistemlerini düzenleme ve saatler veya günler süren çok adımlı görevleri yürütme gibi gerçek işler yapması gerekir. Kullanıcılar, ajanların bu görevleri yerine getirmek için ihtiyaç duydukları araçlara ve dosyalara erişebilmesini isterken aynı zamanda ajanların güvenliği tehlikeye girse bile sistemlerinin güvende kalacağından emin olmak zorundadır. Tüm bunları mümkün kılan şey bir korumalı alandır: Ajanın özgürce çalışabileceği, ana makinenin, diğer kiracıların ve hassas kimlik bilgilerinin ise korunduğu izole bir ortam.
Geleneksel kapsayıcı tabanlı korumalı alan yaklaşımları bu görevler için tasarlanmamıştır. Genellikle kısa ömürlü, durum bilgisi olmayan (stateless) işleri varsayarlar ve tek hata noktası olarak çekirdeğe güvenirler. Buna karşılık ajan oturumları uzun ömürlüdür ve durum bilgisi tutar (stateful): bir ajan saatler süren bir bağlam, çalışan bir dosya sistemi ve basitçe bir kenara atılıp sıfırdan yeniden oluşturulamayan çalışan süreçler biriktirir. Dahası, içerideki iş yükü varsayılan olarak güvenilmeyen nitelikte olmalıdır ve bu da daha güçlü güvenlik önlemleri gerektirir. Uzun süre çalışan ajan oturumları; düşmanca bir konuğu izole edebilen, durumunu koruyabilen ve yine de büyük ölçekte işletilebilen bir alt katmana ihtiyaç duyar.
Korumalı alan mühendisliğindeki ana zorluk, genellikle güvenlik, işlevsellik ve verimlilik arasında ortaya çıkan gerilimden kaynaklanır. Örneğin:
Daha geniş erişim tanımak, ajanın daha fazlasını başarmasını sağlar ancak güvenmediğiniz bir iş yüküne sistemin daha büyük bir kısmını açık hale getirir.
Korumalı alanlar arasında daha fazla şey paylaşmak oluşturma işlemini hızlandırır ancak saldırı yüzeyini genişletir.
Daha sık anlık görüntü (snapshot) almak kurtarmayı iyileştirir ve geri alma gibi özellikleri etkinleştirir ancak zaman ve depolama alanı gerektirir.
Kod yürütmek, Agent Skills kullanmak veya Computer sorgularında Search as Code işlem hatlarını (pipeline) yürütmek için gerekenler gibi ajan tabanlı korumalı alanların üçüne de ihtiyacı vardır. Ürünlerimize güç sağlayan gelecek nesil ajan altyapısını mühendislik çalışmalarıyla geliştirmek için son birkaç aydır yoğun bir şekilde çalışıyoruz. Bugün SPACE'i (Sandboxed Platform for Agentic Code Execution - Ajan Tabanlı Kod Yürütme için Korumalı Alan Platformu) tanıtıyoruz: Ölçeklenebilir düzeyde güvenli, güvenilir ve verimli, ajan iş akışları için oluşturulmuş bir korumalı alan platformu. Geçtiğimiz ay, SPACE'i Perplexity Computer'a güç sağlayan korumalı alan katmanı olarak sunmaya başladık. Geçtiğimiz hafta içerisinde; önceki çözümümüze kıyasla 3 ila 5 kat daha hızlı başlatma süreleriyle, milyonlarca korumalı alan oluşturma işlemini ve onlarca milyon yeniden bağlanma işlemini güvenli bir şekilde destekledi.
Bu makale, SPACE'in arkasındaki mimari ve tasarım kararlarını sunmaktadır. Bugün itibarıyla Computer oturumlarının %100'ü artık SPACE üzerinde çalışmaktadır. Kullanıcılarımıza ve geliştiricilerimize sınıfının en iyisi bir ajan çalışma zamanı (runtime) sunmak için bu platformu daha da fazla alanda dağıtmaktan heyecan duyuyoruz.
Mimari
Genel düzeyde sistem üç katmana ayrılmıştır.
Kontrol düzlemi (control plane), neyin var olması gerektiğine ve nerede bulunacağına karar veren sistemin beynidir. API ağ geçidinden (gateway) ve küme düzeyinde durum yönetimi modüllerinden oluşur.
Düğüm yerel servisleri (node-local services), kontrol düzleminin planını yürütmek için gereken yerel mekanizmalardır. Korumalı alan yaşam döngüsüne, depolamaya, ağ iletişime ve bunların arkasındaki ayrıcalıklı işlemlere sahiptirler.
Korumalı alanın kendisi izole yürütme ortamıdır. İş yükü için dosya sistemi, süreç ve ağ erişimine aracılık eden konuk içi (in-guest) bir arka plan süreci olan space arka plan programı (daemon) ile eşleştirilmiş bir sanal makine olarak uygulanır.

Kontrol Düzlemi
API ağ geçidi giriş noktasıdır. Gelen isteklerin kimliği doğrulanır ve yetkilendirilir, ardından istenen durum (desired state) kayıtlarına dönüştürülür.
Kontrol düzlemi tasarım gereği durum bilgisinden uzaktır (stateless) ve tüm kalıcı bilgiler paylaşılan bir veritabanına aktarılır. Hangi düğüme atandıkları, nerede çalıştıkları ve kalıcı depolama alanına yedeklenip yedeklenmedikleri gibi korumalı alanlarla ilgili küme düzeyindeki bilgileri izler. İstenen durumu gözlemlenen durumla sürekli olarak karşılaştırır ve ikisini yakınlaşmaya yönlendirir. İşlemler istatistiksel olarak yinelenebilirdir (idempotent), böylece kontrol düzlemi herhangi bir çökme, yeniden başlatma veya kısmi arıza sonrasında otomatik olarak kurtulabilir.
Düğüm Yerel Servisleri
Düğüm yerel servisleri; şablonları hazırlama, korumalı alanları başlatma, ağ bağlantılarını kurma ve ana makine tarafındaki çalışma zamanı servislerini çalıştırma gibi gerçek işleri yapar. Her düğüm, üzerinde barındırılan her korumalı alanı yöneten küçük bir arka plan programı (daemon) kümesi çalıştırır ve düğüm, bu korumalı alanların canlı durumları için doğruluk kaynağıdır.
Korumalı alan yöneticisi; gerçek kaynaklarıyla birlikte hangi korumalı alanların çalıştığını, duraklatıldığını, askıya alındığını veya durdurulduğunu bilir. Ayrıcalıksız olarak çalışır ve tüm ayrıcalıklı işleri, alttaki temellere aracılık eden tek kök süreç olan düğüm yöneticisine devreder. Depolama yerel ve kalıcı olarak yönetilir: mevcut korumalı alan durumlarının anlık görüntüleri düğüm üzerinde saklanır ve bir hacim yöneticisi, düğümler arası işlemleri etkinleştirmek için gerektiğinde nesne depolama alanına ve depolama alanından anlık görüntüleri ve şablonları taşır. Güvenlik kapıları bir korumalı alanın erişebileceği alanları denetler: kimlik bilgisi yöneticisi, servis bazında yetkilendirme altında kimlik bilgisi enjeksiyonunu yönetir ve ağ ağ geçidi her korumalı alanın çıkış (egress) politikasını uygular.
Korumalı Alan
Korumalı alanın kendisi, bir donanım yalıtım sınırının arkasında kullanıcının iş yükünü çalıştıran, kendi konuk çekirdeğine sahip bir sanal makinedir (VM). Her korumalı alanın kendi çekirdeği olduğundan, güvenliği ihlal edilmiş bir iş yükü tek hata noktası olarak paylaşılan bir ana makine çekirdeğine geri dönemez; konuk çekirdeğini başarıyla istismar etse bile bu ihlal, diğer iş yüklerine yayılmak yerine korumalı alanın VM sınırı içinde kalır.
Her sanal makinenin içinde çalışan bir space arka plan programı (daemon), platformun konuk içinde gerçekleştirdiği her eylemi veya değişikliği düzenleyen hafif bir ajan görevi görür. Dosya sistemi erişimini ve süreç yönetimini yönetir. Ayrıca konuğun kullanıma hazır olduğunu bildirir ve etkinliği izler, böylece platform bir korumalı alanın ne zaman boşa çıktığını (idle) bilir ve duraklatılabilir veya geri kazanılabilir. Çok önemli bir şekilde, space arka plan programı (daemon) istemcilerle doğrudan konuşmaz, bunun yerine özel bir VM içi kanal üzerinden ana makineyle iletişim kurar. Bu, tüm konuk etkileşimini kontrollü bir yolda tutar ve korumalı alanın kendi ağını yalnızca iş yükünün giden trafiğine ayırır.
Üç Sütun: Güvenlik, İşlevsellik ve Verimlilik
Ardından, SPACE'in üç sütun boyunca sağlaması gereken temel özelliklere değiniyoruz: güvenlik, işlevsellik ve verimlilik. Daha önce belirtildiği gibi, bu üçü birbirine zıt yönlerdedir. Yine de günümüz model yeteneklerine ulaşabilen güçlü ajanları desteklemek istiyorsak, hiçbirinden ödün veremeyiz. Güvenlik; güvenilmeyen, muhtemelen düşmanca bir iş yükünün ana makineye, diğer kiracılara veya kullanıcının sırlarına zarar vermesini engeller. İşlevsellik, ajanlara ihtiyaç duydukları zengin yaşam döngüsünü sunar. Verimlilik ise sınırlı bellek, disk ve hesaplama gücü altında tüm bunları ekonomik hale getirir.
Güvenlik: Verileri ve Sistemleri Koruma
Korumalı alan platformları, korumalı alanlar içinde çalıştırılan hatalı veya hatta kötü amaçlı kodların başka yerlerde zararlı etkilere neden olmamasını sağlamak için güçlü bir güvenliğe ihtiyaç duyar. Sıkı çıkış (egress) kontrolü uygulanmadan ve sırlar korumalı alanın dışında tutulmadan, bir ajanın tek bir yanlış adımı bir kullanıcının anahtarlarını sızdırabilir veya işleri dışarı aktarabilir.

SPACE, korumalı alanlar için güvenliği sağlamaya yönelik katmanlı bir yaklaşım benimser. Korumalı alan yalıtımının iki bileşeni vardır: VM yalıtımı ve ana makine işletim sistemi süreç yalıtımı. Korumalı alanlar arası erişim için her ikisinin de ihlal edilmesi gerekir. Korumalı alan ile iletişim sıkı bir şekilde kontrol edilir; süreçler yalnızca özel kanallar aracılığıyla iletişim kurabilir. Ağ ağ geçidi tüm çıkışları kendi üzerinden zorunlu kılar. space arka plan programı (daemon), (güvenilmeyen) korumalı alan ile (güvenilen) platform arasındaki tek onaylanmış kanaldır.
Kimlik bilgileri asla bir ajanın çalabileceği bir yerde barınmaz. Kimlik bilgisi deposu (credential store), korumalı alan sınırının dışında yer alır ve kimlik bilgisi yaşam döngüsünden sorumludur. Eklenebilir bir kasa (vault) arka ucu aracılığıyla sırları depolar ve alır, hiyerarşik kapsam belirleme kullanarak kimlik bilgilerini çözümler, enjeksiyon yöntemi ve son kullanma tarihi gibi meta verileri yönetir ve tüm erişimlerde oran sınırlarını (rate limit) ve denetim günlüğünü (audit logging) uygular. Gerektiğinde kimlik bilgileri, doğrudan korumalı alana girmek yerine ağ katmanında enjekte edilir veya bir tarayıcı ajanı tarafından otomatik olarak doldurulur.
Veriler dururken (at rest) korunur. SPACE, harici olarak depolanan verileri korumak için BYOK'u (Kendi Anahtarını Getir - Bring Your Own Key) destekler. Şifreleme anahtarları müşterinin anahtar yönetim servisinden gelir ve asla korumalı alana girmez. Kuruluş anahtarı iptal ederse verileri okunamaz hale gelir.
İşlevsellik: Ajan İş Akışlarına Güç Verme
Ajan iş akışlarını desteklemek için korumalı alanların zengin yaşam döngüsü desteğine ihtiyacı vardır. Bir ajan aynı anda birçoğunu başlatabileceği ve hiçbirinin önyükleme yapmasını beklememesi gerektiği için hızlı ve ölçekli bir şekilde oluşturulmalıdırlar. Bir oturum dakika sürebileceği veya aylar boyunca çalışabileceği için süresiz bir süre boyunca kalıcı olmalıdırlar. Bir görev insan girdisinde engellendiğinde olduğu gibi, bazen uzun süreler boyunca temiz bir şekilde duraklatılabilmelidirler. Bir oturumun baştan başlamak yerine dallanabilmesi, hatalı bir adımı geri alabilmesi veya bir hatadan sonra devam edebilmesi için çatallamayı (forking), geri almayı ve çökme kurtarmayı desteklemelidirler.
SPACE yukarıdakilerin tümünü destekler. Tam korumalı alan yaşam döngüsünü açık bir durum makinesi olarak modeller; oluşturma, duraklatma, devam ettirme, askıya alma ve geri yükleme gibi işlemleri mümkün kılan da budur.

Anlık görüntüler (snapshots), bu yeteneklerin çoğunun altındaki mekanizmadır. Bir zamanlayıcı düzenli aralıklarla çalışır ve iki tür anlık görüntü yakalar: disk anlık görüntüleri (dosya sisteminin belirli bir andaki kopyaları) ve tam anlık görüntüler (durdurulan tüm VM'in kontrol noktaları). Disk anlık görüntüleri sık sık yakalanırken, tam kontrol noktaları daha seyrek alınır. Her şey düğüm üzerinde kalır ve saklama süresi kademeye göre azalır. Bu anlık görüntüler oturum içi kurtarma için kullanılabilir; örneğin disk anlık görüntüleri, yıkıcı bir komutu geri almak için dosya sistemini geri sararak kullanılabilir ve tam kontrol noktaları, çöken bir korumalı alanın soğuk bir disk yerine yakın zamanda çalışan bir noktadan devam etmesini sağlar.
Bir korumalı alan askıya alındığında VM duraklatılır, tam bir anlık görüntü alınır ve tam anlık görüntüdeki yapıtlar nesne depolama alanına yüklenir. Bir veritabanı satırı anlık görüntüyü izler ve yalnızca her yapıt başarıyla yüklendiğinde geri yüklenebilir hale gelir, böylece kısmen yüklenmiş bir anlık görüntü asla bozuk bir duruma geri döndürülemez. Geri yükleme (restore), askıya almanın tersidir. Anlık görüntü orijinal düğüm yerine nesne depolama alanında bulunduğundan, herhangi bir düğüm korumalı alanı geri getirebilir. Zamanlayıcı bir düğüm seçer, bu düğüm yapıtları indirir, dosya sistemi delta'sını şablonun üzerine yeniden uygular ve VM'i yakalanan durumundan devam ettirir.
Verimlilik: Zamanı ve Alanı Optimize Etme
Yukarıdaki özellikleri bir vakum ortamında uygulamak yeterli değildir; aynı zamanda sıkı kaynak kısıtlamaları altında da mümkün olmaları gerekir. Bir düğüm üzerindeki bellek ve disk sınırlıdır ve kullanıcılar ajanların mümkün olduğunca hızlı çalışmasını ister; bu nedenle yaşam döngüsü işlemleri hem zaman hem de alan açısından ucuz olmalıdır. Bir korumalı alan her oluşturulduğunda, duraklatıldığında veya dallandığında tam bir makine imajını kopyalamaya gücümüz yetmez.
Önemli bir tasarım tercihi bunu mümkün kılar: dosya sistemi. SPACE, korumalı alan depolaması için düğüm üzerinde btrfs'yi kullanır. Btrfs (B-tree dosya sistemi), yazma anında kopyala (copy-on-write) dosya sistemini entegre mantıksal birim yönetimiyle birleştirir. Bunun birkaç avantajı vardır:
Alttaki uzantıları paylaştığınız için Reflink kopyaları hızlıdır, bu nedenle yalnızca meta verilerin kopyalanması gerekir.
Yalnızca yeni bir kök oluşturduğunuz için anlık görüntüler atomik ve hızlıdır.
Yalnızca değişenleri depoladığınız için minimum depolama alanı gereklidir.
Sonuç olarak korumalı alanlar hızlı bir şekilde oluşturulabilir ve geri yüklenebilir. Her seferinde sıfırdan bir korumalı alan oluşturmak yerine, yaygın şablonların diskte önceden materialize edildiği sıcak bir pod havuzu tutarız ve bir isteği, şablonu halihazırda eşleşen bir poda bağlayarak karşılarız. Bu korumalı alana kendi yazılabilir kök dosya sistemini vermek, tam bir kopyadan ziyade yazma anında kopyala (copy-on-write) klonu olur. Hiçbir sıcak pod uymadığında, şablonu talep üzerine (on demand) materialize ederiz; aynı görüntü için eşzamanlı istekleri tek bir indirmede birleştiririz, böylece aynı anda gelen bir istek patlaması aynı işin patlamasına dönüşmez.
Sonuçta ortaya çıkan; aynı anda güçlü, hafif ve inanılmaz derecede hızlı bir korumalı alan çalışma zamanıdır (runtime). SPACE'i kullanıma sunduğumuzda, aynı üretim trafiği üzerinde önceki korumalı alan sağlayıcımızla birlikte çalıştırdık. Lansman haftası boyunca SPACE, dağılım genelinde korumalı alanları üç ila beş kat daha hızlı oluşturdu. Özellikle, medyan oluşturma gecikmesi 185 milisaniyeden 60 milisaniyeye düştü (3,1 kat iyileşme) ve 90. persentil gecikmesi 447 milisaniyeden 89 milisaniyeye düştü (5,0 kat iyileşme). Diğer performans ve kaynak kullanımı göstergelerinde de benzer büyüklük mertebesinde iyileştirmeler gözlemledik.

Aynı zamanda hızlı, alan verimli oldukları ve korumalı alanı duraklatmayı gerektirmedikleri için kayan disk anlık görüntüleri (rolling disk snapshots) almayı kolaylaştırır. Ayrıca verimli delta depolama, bu anlık görüntüleri depolamak için gereken alanı azaltır.
Sonuç
Karmaşık sistemler tasarlarken, yalıtılmış olarak optimize edilecek tek bir hedef seçmek caziptir. Ancak sınır ajanlarının geliştiricileri eşit ölçüde güvenlik, işlevsellik ve verimlilik talep eder. SPACE ile her üç sütunda da Pareto iyileştirmesi elde etmeyi yola çıktık.
Her bir tasarım tercihi aynı anda birden fazla amaca hizmet edebilir ve bu hassas dengeyi mümkün kılar. Korumalı alan başına VM'ler, her iş yüküne kendi çekirdeğini vererek güçlü yalıtım yoluyla güvenliği artırır ve aynı zamanda anlık görüntülerin dayandığı temiz kontrol noktası sınırını sağlar. Btrfs; anlık görüntü oluşturma, çatallama ve ajan çalışma zamanları için gerekli diğer işlemlerin verimli bir şekilde uygulanmasını sağlar. space arka plan programı (daemon), tüm konuk etkileşimini kontrollü bir ana makine tarafındaki yolda tutarak konuk-ana makine sınırını mühürlerken ajanların manevra özgürlüğünü korur. Merkezi ağ geçidi, sırları asla konuğa ifşa etmeden çıkışa (egress) ve kimlik bilgisi enjeksiyonuna aracılık eder.
Bunların ve diğer tasarım kararlarının sonucu, ölçeklenebilir düzeyde gerçek dünyada ajan düzenlemesini (orchestration) etkinleştiren bir platformdur. SPACE; uzun süre çalışan, durum bilgisi tutan (stateful) ajanların, ne performanstan ne de güvenlikten ödün vermeden herhangi bir karmaşıklık veya süredeki işin üstesinden güvenli bir şekilde gelebileceği alt katmanı sağlar.
Bugün SPACE, milyonlarca Perplexity Computer oturumuna halihazırda güç sağlamaktadır. SPACE'in Linux mikroVM'lerinden Windows konuklarına ve kullanıcının kendi yerel makinesine kadar her ortamda korumalı alanlar sağlamak ve bunları kontrol etmek için birleşik bir katman olarak hizmet etmesini amaçlıyoruz. Geliştiricilerin kullanıcıların çalıştığı her yerde çalışan YZ ürünleri sunabilmesi için SPACE'i bu yeni ortamlara taşımak adına çok çalışıyoruz.
Yarınların sınır ajanlarına güç veren hesaplama katmanını şekillendirmek için sabırsızlanıyorsanız, sizi ekibimize katılmaya davet ediyoruz.