İzlemenin sınırları
Agent sistemleri genellikle onları izleyerek yönetilir. Trace'ler yayınlanır, panolar kurulur, eşikler belirlenir ve bir nöbet rotasyonu oluşturulur. Bu faydalıdır, ancak kontrolden farklı bir özelliktir. Bir pano tamamlanmış bir eylemi gözlemler. Bir panel kırmızıya döndüğünde, tool call çoktan yürütülmüş, yazma işlemi çoktan gerçekleşmiş ve dış yan etki çoktan ortaya çıkmıştır. Bir izleme yığınının yapabileceği en iyi şey, hasar ile keşif arasındaki aralığı kısaltmaktır.
İzleme ayrıca telemetrinin eksiksiz olmasına bağlıdır. Bir tool wrapper bir olay yayınlamayı unutursa, bir retry yolu enstrümante edilmiş client'ı atlarsa veya yeni bir entegrasyon tracing decorator'ı olmadan devreye alınırsa, pano tam olarak en az anlaşılan eylemler için sessiz kalır. Telemetrideki kapsam boşlukları eşit dağılmaz; en yeni ve en az gözden geçirilmiş kod yollarının etrafında kümelenirler, ki olaylar da oralarda yoğunlaşır.
Geniş izinlere sahip izlenen bir agent hâlâ geniş izinli bir agent'tır. Gözlemlenebilirlik, erişilebilir durumlar kümesini azaltmaz. Kilitli kalmayan bir odaya kamera ekler. Neyin mümkün olduğunu belirleyen şey izin modelidir; pano yalnızca neyin fark edildiğini belirler.
Uyarı eşikleri ayrıca ek bir bozulma getirir. Eşikler gürültüyü azaltmak için ayarlanır, bu da belirli bir düzeyde düşük seviyeli anormalliği tolere etmek üzere ayarlandıkları anlamına gelir. Bu, tespit için makul bir operasyonel uzlaşıdır, ancak önleme için yanlış araçtır. Hassas bir işlem belirli bir aralıkta yapılandırılmış sayıdan fazla gerçekleştiğinde tetiklenen bir politika, ilk birkaç gerçekleşmeye izin veren bir politikadır. Önleme, ilk gerçekleşmeden önce bir karar gerektirir, sonrasında bir hız sınırı değil.
Pratik sonuç şudur: yalnızca izleme olarak ifade edilen yönetişim, aynı başarısızlık moduna yakınsama eğilimindedir: sistem bütünde iyi anlaşılır ve özelde kısıtsızdır. Bütünsel görünüm kapasite, maliyet ve kalite analizi için gerçekten değerlidir. Bir kontrol yüzeyi değildir.
Değişmez kuralları kodlamak
Alternatif, politikayı agent'ın niyetinin eyleme dönüştüğü sınırda — yani tool call'da — kontrol edilen ön koşullar olarak ifade etmektir. Agent'ın sahip olduğu her yetenek bir tool arayüzü üzerinden erişilebilir ve bu arayüz, bir kararın uygulanabileceği en dar noktadır. Kontrol orada gerçekleşirse, politika yazıldıktan sonra eklenenler de dahil olmak üzere her çağıran için gerçekleşir.

Bir ön koşul, önerilen çağrı ve çevresindeki bağlam üzerine bir yüklemdir. Argümanlara, istekte bulunan agent'ın kimliğine, oturuma, dokunulan kaynağa ve ortamın durumuna başvurabilir. Şekil örnekleri — belirli içerik değil — şunları içerir: hedef kaynak izin listesindeki bir namespace içinde olmalıdır; oturum yükseltilmediğinde işlem bir okuma olmalıdır; payload kısıtlı olarak işaretlenmiş bir alan içermemelidir; çağrıya ayrı bir iş akışı tarafından verilmiş geçerli bir onay token'ı eşlik etmelidir.
Tipli şemalar bunu arzu edilen değil uygulanabilir kılar. Tool'un girdisi zorunlu alanlar, numaralandırılmış değerler ve sınırlı tipler içeren bir şemayla tanımlanırsa, hatalı biçimlendirilmiş bir çağrı herhangi bir handler çalışmadan önce parse aşamasında başarısız olur. Fail-closed davranışı, handler içindeki savunmacı koddan değil şemadan kaynaklanır. Makul görünen ama politika dışı bir argüman üreten agent yan etkiye ulaşmaz; yapılandırılmış bir ret alır ve sonra ne yapacağına karar vermek zorundadır.
Somut bir mekanizma şöyle görünür. Agent runtime'ı tool'ları doğrudan çağırmaz. Yapılandırılmış bir istekle bir politika gateway'ini çağırır:
{
"agent": "research-worker-3",
"session": "s-8841",
"tool": "documents.write",
"arguments": {"collection": "contracts", "document_id": "c-2210", "body": "..."},
"context": {"approval": null, "elevated": false}
}
Gateway, deterministik bir değerlendiriciye sahip sürümlenmiş bir kural kümesi olan bir politika paketini değerlendirir. Değerlendirme bir karar, bir neden kodu ve politika sürümünü döndürür. Gateway, yalnızca izin durumunda alttaki tool'u çağırır. Retler agent'a olağan tool sonuçları olarak döndürülür, böylece agent runtime'ın hata işlemeyi özel olarak ele almasına gerek kalmadan uyum sağlayabilir.
Burada iki özellik önemlidir. Birincisi, politika motoru modelin bağlamının dışında durur. Bir prompt değildir, bir system message değildir ve agent'ın getirebileceği bir belge değildir. Onunla tartışılamaz, özetlenip yok sayılamaz veya sonraki bir talimatla geçersiz kılınamaz. Modelin karar üzerindeki tek etkisi, gönderdiği isteğin içeriğidir. İkincisi, karar istek ve politika sürümü verildiğinde deterministiktir. Aynı çağrı aynı pakete karşı iki kez değerlendirildiğinde aynı sonucu üretir; kararı sonradan açıklanabilir kılan da budur.
Dürüst uzlaşı şudur: bu, karmaşıklığı ortadan kaldırmak yerine taşır. Her yeni yetenek bir politika girdisi gerektirir ve her politika değişikliği, gözden geçirilmesi gereken üretim davranışında bir değişikliktir. İstek yolundaki bir gateway gecikme ve yeni bir başarısızlık modu ekler: gateway kullanılamıyorsa doğru varsayılan reddetmektir, bu da politika katmanındaki bir kesintinin agent'ın yeteneklerinde bir kesintiye dönüşmesi anlamına gelir. Bu deseni benimseyen ekipler genellikle bu maliyeti kabul eder çünkü alternatif, sessiz ve sınırsız bir kesintidir. Uzlaşı, yeteneğin kullanılabilirliği ile yeteneğin sınırlılığı arasındadır.
Adlandırmaya değer ikinci bir uzlaşı vardır. Katı şemalar ve dar izin listeleri, bir agent'ın gerçekleştirebileceği eylemlerin uzayını daraltır, bu da öngörülmeyen görevlerde kullanışlılığını azaltabilir. Hafifletme, sınırı gevşetmek değil, politika değişikliklerini hızlı ve gözden geçirilebilir kılmaktır; böylece sınır, arka kapıdan açılmak yerine kasıtlı olarak hareket edebilir.

Kanıtlanamayan bir kontrol, sorgulanacak bir kontroldür. İzin ve ret dahil her politika kararı, canlı sisteme erişim olmadan gerekçeyi yeniden oluşturmaya yetecek bir kayıt yayınlamalıdır. Bu kayıt isteği, kararı, neden kodunu, politika sürümünü ve kararın kanonik serileştirmesi üzerine bir imzayı içerir.
İmzalama belirli bir nedenle önemlidir: kaydı kurcalamaya karşı kanıtlanabilir ve logging pipeline'ına değil uygulama noktasına atfedilebilir kılar. Bir log satırı düzenlenebilir, düşürülebilir veya yeniden sıralanabilir. İmzalı bir karar kaydı bağımsız olarak doğrulanabilir ve dizideki bir boşluk tespit edilebilir.
Politika sürümünü kararla birlikte saklamak, geçmiş davranışı yeniden açıklanabilir kılan şeydir. Politikalar değişir. Bir paket altında doğru olan bir karar, sonrakinin altında yanlış olabilir. Sürüm olmadan, geçmiş bir eylemi inceleyen bir denetçi hangi kuralların yürürlükte olduğunu tahmin etmek zorundadır. Sürümle birlikte, aynı değerlendirici kaydedilmiş isteğe karşı yeniden oynatılabilir ve kararı tam olarak yeniden üretebilir. Bu, bir denetimi bir görüşmeden bir doğrulamaya dönüştürür.
Retler, izinlerle aynı saklamayı hak eder. Bir ret, sınırın çalıştığının kanıtıdır. Aynı zamanda politika ayarlaması için birincil sinyaldir: meşru işlere karşı sürekli tetiklenen bir ret, çok geniş bir kurala işaret eder ve bir oturum sınıfında hiç tetiklenmeyen bir ret, erişilemez bir kurala işaret edebilir. Her iki tarafı da saklamak, politika yüzeyini tavsiye niteliğinde kılmadan gözlemlenebilir kılar.
Son parça, politika değişikliklerini devreye almadan önce kaydedilmiş trace'lere karşı test etmektir. Kararlar istekleriyle birlikte kaydedilirse, aday bir politika paketi gerçek geçmiş çağrılardan oluşan bir korpusa karşı çevrimdışı değerlendirilebilir. Çıktı bir diff'tir: hangi önceden izin verilen çağrılar artık reddedilecek ve hangi önceden reddedilen çağrılar artık izin verilecek. Bu diff, politikayı gözden geçiren aynı kişiler tarafından gözden geçirilebilir ve bir politika değişikliğini bir yargı eyleminden bir ölçüm eylemine dönüştürür. Ayrıca kimsenin öngörmediği durumları da ortaya çıkarır; politika regresyonları genellikle oralarda yaşar.
Gözlemlenebilirlik ile yönetişim arasındaki pratik fark budur. Gözlemlenebilirlik ne olduğuna dair bir kayıt üretir. Yönetişim, neyin olabileceğini kısıtlayan bir sınır ve bu sınırın kararlarının bağımsız olarak doğrulanabilen bir kaydını üretir. Birincisi bir sistemi işletmek için gereklidir. İkincisi ona yetki devretmek için gereklidir.
Bunun sistem tasarımı için anlamı
Tool sınırını kontrol düzlemi olarak ele alın. Politika değerlendiricisini modelin erişiminin dışına koyun. Şemayı ilk savunma hattı yapın ve hatalı çağrıların fail-closed olmasına izin verin. Her iki sonuç için de imzalı kararlar yayınlayın ve politika sürümünü ekli tutun. Aday politikaları üretime ulaşmadan önce kaydedilmiş trafiğe karşı yeniden oynatın.
Bunların hiçbiri gözlemlenebilirliğin yerini almaz. Trace'ler, metrikler ve panolar bir sistemin nasıl anlaşıldığı ve iyileştirildiği olmaya devam eder. Değişen şey sıralamadır: sınır karar verir, kayıt kanıtlar ve pano açıklar. Bu şekilde yönetilen bir sistem, modelin doğru seçim yapmasına bağlı değildir. Modelin başka türlü seçim yapamamasına bağlıdır.
