SıradakiSonraki rehber
LLM Temsilcileri için Araçlar Tasarlama
Teknik
Teknik KILAVUZ
Kod yürütme sanal alanı, bir AI aracısının yazdığı kodu ana makineye zarar vermeden, görmemesi gereken verilere erişmeden veya sınırsız kaynak kullanmadan çalıştırabildiği izole bir ortamdır.
Bu önemlidir, çünkü kodu çalıştırabilen bir aracı çok daha yeteneklidir (hesaplayabilir, dosyaları analiz edebilir ve kendi çalışmasını test edebilir), ancak modelle yazılan koda varsayılan olarak güvenilmez ve hatalı, israf edici olabilir veya hızlı enjeksiyonla manipüle edilebilir.
Bir aracı kod ürettiğinde, bir şeyin onu çalıştırması gerekir. Bu kodu doğrudan bir geliştirici dizüstü bilgisayarında veya üretim sunucusunda çalıştırmak risklidir: kod, dosyaları silebilir, ortam değişkenlerinden kimlik bilgilerini okuyabilir, yazılım yükleyebilir, kripto para birimi madenciliği yapabilir veya ağ bağlantılarını açabilir. Korumalı alan, kod ile diğer her şey arasına bir sınır koyar. Farklı ödünleşimlere sahip birkaç izolasyon katmanı vardır. Standart kapsayıcılar (örneğin Docker), koda kendi işlemler, dosyalar ve ağ görünümünü vermek ve CPU ile belleği sınırlamak için Linux ad alanlarını ve gruplarını kullanır. Hızlı başlarlar, ancak her kapsayıcı ana bilgisayarın çekirdeğini paylaşır, dolayısıyla çekirdekteki bir güvenlik açığı kodun kaçmasına neden olabilir. Google'nin açık kaynaklı bir projesi olan gVisor, sistem çağrılarını engelleyen bir kullanıcı alanı çekirdeği ekleyerek güvenilmeyen kodun gerçek çekirdeğe dokunabileceği şeyleri daraltır. Orijinal olarak AWS tarafından Lambda ve Fargate için oluşturulan Firecracker gibi MikroVM'ler, her iş yüküne kendi hafif sanal makinesini ve çekirdeğini verirken, yine de bir saniyeden çok daha kısa bir sürede önyükleme yapar. E2B gibi aracılara yönelik barındırılan korumalı alan hizmetleri, bu mikroVM yaklaşımını temel alır. En hafif uçta, WebAssembly çalışma zamanları ve Pyodide gibi araçlar, Python'yi doğrudan sistem erişimi olmadan bir tarayıcıda veya Wasm sanal alanında çalıştırabilir. Yalıtım teknolojisi tasarımın sadece yarısıdır. İyi sanal alanlar ayrıca ağı kısıtlar (genellikle bir izin verilenler listesiyle varsayılan olarak reddedilir), dosya sistemini bir karalama dizini dışında salt okunur olarak bağlar, sırları ortamdan tamamen uzak tutar ve zaman, bellek, işlem sayısı ve disk sınırlarını uygular. Genellikle geçicidirler: görev başına oluşturulur ve daha sonra yok edilirler. Yaygın bir yanılgı, korumalı alanın aracıyı güvenli hale getirdiğidir. Kodun kendisinden kaynaklanan hasarı sınırlar, ancak bir aracının yanlış yanıtlar vermesini engellemez ve sanal alana aktardığınız herhangi bir araç veya kimlik bilgisi, enjekte edilen talimatlara yanıt olarak yazılan kod da dahil olmak üzere, orada çalışan kod ne olursa olsun erişilebilir hale gelir.
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
Kod yürütme, AI asistanları ve temsilcileri için standart bir yetenek haline geliyor; bu nedenle, korumalı alan oluşturma, her ekibin sıfırdan oluşturduğu bir şey olmaktan ziyade, muhtemelen makul varsayılanlara sahip bir ticari hizmet haline gelecektir. Daha hızlı başlatma, anlık görüntü ve devam ettirme ve ağ ve dosya erişimi için göreve göre ayarlanabilen daha ayrıntılı politikalar üzerinde sürekli çalışmayı bekleyebilirsiniz. Daha zor açık sorun, izolasyondan ziyade politikadır: Bir aracının neye erişmesine izin verilmesi gerektiğine karar vermek ve aracılar daha uzun özerk eylemler gerçekleştirdiğinde kullanıcıları bilgilendirmek. İzolasyon, izinler, günlük kaydı ve insan incelemesinin yanı sıra birkaç katmandan biri olarak kalacak.
Bir veri analizi asistanı, yüklenen bir CSV'yi alır, onu temizlemek ve eğilimleri belirlemek için pandas kodunu yazar ve bu kodu, oturum sona erdiğinde silinen tek kullanımlık bir sanal alanda çalıştırır.
Kodlama aracısı, bir veri havuzunun test paketini, giden ağ erişimi olmayan bir kapsayıcı içinde çalıştırır; dolayısıyla, kötü amaçlı bir bağımlılık komut dosyası, kaynak kodunu veya gizli dizileri bir dış sunucuya gönderemez.
Bir eğitim platformu, öğrencilerin bir yapay zeka eğitmeninden Python örneklerini çalıştırmasını istemesine olanak tanır; her çalıştırma birkaç saniyelik CPU ve sabit bir bellek sınırıyla sınırlıdır, böylece kazara oluşan sonsuz bir döngü hizmeti durduramaz.
Bir araştırma ekibi, aracıya, veri kümesinin salt okunur bir kopyasını ve tek bir yazılabilir çıktı klasörünü içeren bir mikroVM verir, böylece aracı, orijinal verileri değiştirmeden veya silmeden sonuçlar üretebilir.
Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.
Altyapı ve bakım maliyetleri genellikle hafife alınır.
Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Kod yürütme sanal alanı, bir AI aracısının yazdığı kodu ana makineye zarar vermeden, görmemesi gereken verilere erişmeden veya sınırsız kaynak kullanmadan çalıştırabildiği izole bir ortamdır. Bu önemlidir, çünkü kodu çalıştırabilen bir aracı çok daha yeteneklidir (hesaplayabilir, dosyaları analiz edebilir ve kendi çalışmasını test edebilir), ancak modelle yazılan koda varsayılan olarak güvenilmez ve hatalı, israf edici olabilir veya hızlı enjeksiyonla manipüle edilebilir.
Kılavuz, modelle yazılan kodun hatalar içerebileceğini, fazla kaynak tüketebileceğini veya enjekte edilen talimatları izleyebileceğini, dolayısıyla doğrudan bir ana bilgisayar yerine bir sınır içinde çalışması gerektiğini açıklıyor.
Konteynerler ad alanlarını ve grup gruplarını kullanır ancak hepsi ana bilgisayar çekirdeğini paylaşır, dolayısıyla çekirdekteki bir güvenlik açığı kaçışa izin verebilir. MikroVM'ler her iş yüküne kendi çekirdeğini verir.
Google'den gVisor, sistem çağrılarını yöneten bir kullanıcı alanı çekirdeği çalıştırarak gerçek ana bilgisayar çekirdeğinin güvenilmeyen kodunun ne kadarına erişebileceğini azaltır.
Firecracker, birçok izole iş yükünün hızlı bir şekilde başlaması gereken Lambda ve Fargate gibi AWS sunucusuz iş yükleri için oluşturuldu.
Enjekte edilen talimatlar aracının kötü amaçlı kod yazmasına neden oluyorsa, varsayılan olarak reddet ağı, bu kodun veri sızdırmasını durdurur.
Öğrenmeye devam et
Bu konu için daha fazla rehber seçildi
SıradakiSonraki rehber
LLM Temsilcileri için Araçlar Tasarlama
Teknik