Korumalı alan
Korumalı alan
ChatGPT ve Codex istemcilerinde korumalı alanın işleyişi
ChatGPT masaüstü uygulaması
Korumalı alan, ajana makinenize sınırsız erişim vermeden bağımsız hareket etmesini sağlayan sınırdır. Yerel bir sohbet ChatGPT masaüstü uygulamasında, Codex CLI veya IDE uzantısında komut çalıştırdığında, bu komutlar varsayılan olarak tam erişimle çalışmak yerine kısıtlı bir ortamda çalışır.
Bu ortam, ajanın hangi dosyaları değiştirebileceği ve komutların ağı kullanıp kullanamayacağı gibi kendi başına yapabileceği işlemleri belirler. Görev bu sınırlar içinde kaldığında ajan, onay almak için durmadan ilerleyebilir. Bu sınırları aşması gerektiğinde ise onay akışı devreye girer.
Korumalı alan ne yapar?
Korumalı alan yalnızca yerleşik dosya işlemlerine değil, başlatılan
komutlara da uygulanır. Ajan git, paket yöneticileri veya test çalıştırıcıları gibi araçlar kullanırsa,
bu komutlar da aynı korumalı alan sınırlarına tabi olur.
Codex, her işletim sisteminde platformun yerel yaptırım mekanizmalarını kullanır. Uygulama macOS, Linux, WSL2 ve yerel Windows arasında farklılık gösterse de tüm arayüzlerde temel fikir aynıdır: rutin görevlerin belirgin sınırlar içinde bağımsız olarak yürütülebilmesi için ajana sınırlandırılmış bir çalışma ortamı sağlamak.
Neden önemlidir?
Korumalı alan, sürekli onay verme yükünü azaltır. Ajan, düşük riskli her komut için onayınızı istemek yerine önceden onayladığınız sınırlar içinde dosyaları okuyabilir, düzenlemeler yapabilir ve rutin proje komutlarını çalıştırabilir.
Ayrıca ajanlarla çalışırken daha net bir güven modeli sunar. Yalnızca ajanın niyetine değil, aynı zamanda zorunlu kılınan sınırlar içinde çalıştığına da güvenirsiniz. Böylece ajanın ne zaman durup yardım isteyeceğini bilerek bağımsız çalışmasına izin vermeniz kolaylaşır.
Başlangıç
Varsayılan izin modu, korumalı alanı otomatik olarak uygular.
Ön koşullar
macOS üzerinde korumalı alan, yerleşik Seatbelt altyapısını kullanarak ek kurulum gerektirmeden çalışır.
Windows üzerinde Codex, PowerShell'de çalıştırıldığında yerel Windows korumalı alanını, WSL2'de çalıştırıldığında ise Linux korumalı alan uygulamasını kullanır.
Linux ve WSL2 üzerinde önce paket yöneticinizle bubblewrap paketini yükleyin:
sudo apt install bubblewrapsudo dnf install bubblewrapCodex, ilk bulduğu bwrap yürütülebilir dosyasını PATH üzerinden kullanır. bwrap
yürütülebilir dosyası yoksa Codex, beraberinde gelen yardımcı araca başvurur; ancak bu araç,
ayrıcalıksız kullanıcı ad alanı oluşturma desteği gerektirir.
bwrap sağlayan dağıtım paketini yüklemek, bu kurulumu güvenilir kılar.
Codex, bwrap eksikse veya yardımcı araç gerekli kullanıcı ad alanını
oluşturamıyorsa başlangıçta bir uyarı gösterir. Bu AppArmor ayarını kısıtlayan
dağıtımlarda, bwrap AppArmor profilini yüklemeyi tercih edin; böylece bwrap,
kısıtlamayı sistem genelinde devre dışı bırakmadan çalışmaya devam edebilir.
İzinler nasıl çalışır?
Codex'in yerel işlemleri nasıl ele aldığını değiştirmek için kullandığınız arayüzdeki izin denetimini kullanın.
Onaylar, Codex'in bir işlemden önce ne zaman duraklayacağını belirlerken korumalı alan, komutların hangi dosyalara ve ağ kaynaklarına erişebileceğini belirler. Bir onay isteği, tek seferlik veya oturum boyunca onaylama gibi farklı kapsamlar sunuyorsa, görevin sürmesini sağlayan en dar kapsamı seçin. Proje sınırını varsayılan olarak koruyun; erişimi birbiriyle ilgisiz depolara genişletmek yerine ayrı projeler veya çalışma ağaçları kullanın.
ChatGPT Work, kodu ve kabuk komutlarını yönetilen, yalıtılmış bir ortamda çalıştırır. Çalışma alanı ilkesi ve araca özgü denetimler, hangi özelliklerin kullanılabileceğini belirler. Ayar kullanılabiliyorsa kod ve kabuk komutlarının ağ erişimini yönetmek için Ayarlar > Veri denetimleri > Work ağ erişimi yolunu kullanın. Bu komutların herkese açık internete erişmesi için Herkese açık internet erişimine izin ver seçeneğini açın. Kapalıyken komutlar yalnızca yönetilen bir izin listesindeki gerekli ana makine adlarına erişebilir.
Web araması, eklentiler ve uzak tarayıcı ayrı denetimlere sahiptir. Değişiklikler, mevcut kod veya kabuk çalışması tamamlanıp Work çalıştırma ortamını yeniledikten sonra geçerli olur. ChatGPT web, yerel Codex korumalı alanını veya onay modu seçicisini sunmaz.
ChatGPT masaüstü uygulamasında, ileti düzenleyicisinin altındaki izin denetimini kullanın. Yapılandırmanıza bağlı olarak menüde Onay iste, uygun onay istekleri için Benim adıma onayla, Tam erişim ve adlandırılmış veya özel izin profilleri bulunabilir.
CLI'da
/permissions
girerek izin seçicisini açın ve etkin izin profilini değiştirin.
IDE uzantısında, ileti düzenleyicisinin altındaki izin denetimini kullanın. Yapılandırmanıza bağlı olarak menüde Onay iste, uygun onay istekleri için Benim adıma onayla, Tam erişim ve adlandırılmış veya özel izin profilleri bulunabilir.
Sohbet
Ajan
Ajan (tam erişim)
Varsayılanları yapılandırma
Her seferinde aynı davranışla başlamak için varsayılanları config.toml içinde ayarlayın.
Yapılandırma temelleri bunun nasıl çalıştığını açıklar;
Yapılandırma başvurusu ise şu ayarların tam anahtarlarını belgeler:
sandbox_mode, approval_policy, approvals_reviewer ve
sandbox_workspace_write.writable_roots. Bu ayarları kullanarak ajanın varsayılan olarak ne kadar
özerkliğe sahip olacağını, hangi dizinlere yazabileceğini, ne zaman
onay için duraklayacağını ve uygun onay isteklerini kimin inceleyeceğini belirleyin.
Genel hatlarıyla yaygın korumalı alan modları şunlardır:
read-only: Ajan dosyaları inceleyebilir, ancak onay olmadan dosyaları düzenleyemez veya komut çalıştıramaz.workspace-write: Ajan dosyaları okuyabilir, çalışma alanı içinde düzenleme yapabilir ve bu sınırlar içinde rutin yerel komutları çalıştırabilir. Bu, yerel çalışmalar için süreci kolaylaştıran varsayılan moddur.danger-full-access: Ajan, korumalı alan kısıtlamaları olmadan çalışır. Bu mod, dosya sistemi ve ağ sınırlarını kaldırır ve yalnızca ajanın tam erişimle hareket etmesini istediğinizde kullanılmalıdır.
Yaygın onay ilkeleri şunlardır:
on-request: Ajan varsayılan olarak korumalı alan içinde çalışır ve bu sınırı aşması gerektiğinde izin ister.never: Ajan, onay istemleri için durmaz.
Codex ve ChatGPT Work artık untrusted seçeneğini seçilebilir bir onay
ilkesi olarak desteklemiyor. Mevcut bir yapılandırma bu değeri kullanıyorsa Kullanımdan kaldırılan
untrusted onay ilkesinden
geçiş bölümüne bakın.
Onaylar etkileşimliyse bunları kimin inceleyeceğini de şu ayarla seçebilirsiniz:
approvals_reviewer:
user: Onay istemleri kullanıcıya gösterilir. Varsayılan budur.auto_review: Uygun onay istemleri inceleyen bir ajana gönderilir (bkz. otomatik inceleme).
Tam erişim, sandbox_mode = "danger-full-access" ayarının
approval_policy = "never" ile birlikte kullanılması anlamına gelir. Buna karşılık, daha düşük riskli yerel otomasyon
hazır ayarı, sandbox_mode = "workspace-write" ile
approval_policy = "on-request" ayarlarının birlikte kullanılması veya bunlara karşılık gelen CLI bayrakları olan
--sandbox workspace-write --ask-for-approval on-request kullanımıdır. Ardından
approvals_reviewer = "user" ayarını elle onaylar için koruyabilir veya
approvals_reviewer = "auto_review" ayarını otomatik onay incelemesi için kullanabilirsiniz.
Ajanın birden fazla dizinde çalışması gerekiyorsa yazılabilir kökler, korumalı alanı tamamen kaldırmadan değişiklik yapabileceği konumları genişletmenizi sağlar. Daha geniş veya daha dar bir güven sınırına ihtiyacınız varsa tek seferlik istisnalara bel bağlamak yerine varsayılan korumalı alan modunu ve onay ilkesini ayarlayın.
Bir iş akışı belirli bir istisna gerektirdiğinde kuralları kullanın. Kurallar, korumalı alan dışındaki komut öneklerine izin vermenizi, onay istemenizi veya bunları yasaklamanızı sağlar; bu da çoğu zaman erişimi genel olarak genişletmekten daha uygundur. IDE'ye özgü ayarlara nereden erişileceği için Codex IDE uzantısı ayarları bölümüne bakın.
Otomatik inceleme, kullanılabildiğinde korumalı alan sınırını değiştirmez. Bu sınırdaki
onay istekleri için kullanılabilecek bir approvals_reviewer seçeneğidir; bu isteklere
korumalı alan yetki yükseltmeleri, engellenen ağ erişimi veya hâlâ onay gerektiren,
yan etkisi olan araç çağrıları dahildir. Korumalı alan içinde zaten izin verilen işlemler
ek inceleme olmadan çalışır. İnceleyenin yaşam döngüsü, tetikleyici türleri, ret
kararlarının anlamı ve yapılandırma ayrıntıları için
otomatik inceleme bölümüne bakın.
Platform ayrıntıları, platforma özgü belgelerde yer alır. Yerel Windows kurulumu, davranışı ve sorun giderme için Windows bölümüne bakın. Korumalı alan ve onaylara ilişkin yönetici gereksinimleri ve kuruluş düzeyindeki kısıtlamalar için Ajan onayları ve güvenlik bölümüne bakın.