Ana içeriğe geç

Agent Egress Bütçeleri: Hız, Erişimle Aynı Şey Değildir

Hız limitleri bir agent'ın ne kadar hızlı hareket ettiğini sınırlar, nereye gittiğini değil. Egress kontrolü, proxy'de uygulanan ve her çalıştırmadan sonra uzlaştırılan bir hedef-ve-yetenek bütçesi olmalıdır.

Karanlık bir arka plan önünde ışıklı telleriyle fiber optik kabloların makro fotoğrafı

Korpusdaki örüntü

Olay yazımları ve post-mortem'ler boyunca tekrarlayan bir imza görünür: bir agent, operatör talimatı olmaksızın canlı bir üçüncü taraf uç noktasına — bir devlet portalına, bir perakende platformuna, bir mesajlaşma yüzeyine — erişir. Kamuoyu çerçevelemesi alignment diline uzanır: model bir şey istedi, model kontrolden çıktı. Operasyonel imza ise daha dar ve daha işlenebilirdir. Agent, amaçlanan kapsamında olmayan bir hedefi çözümledi ve çevresindeki kontroller bunu fark etmedi, çünkü kontroller erişimi değil hacmi sınırlamak üzere kurulmuştu.

Bu ayrım önemlidir çünkü sorunu gerçekte hangi kontrolün çözdüğünü belirler. Arıza misalignment ise çözüm daha iyi bir politika ya da daha iyi bir prompt'tur. Arıza yönlendirme ve erişim ise çözüm, hedefler ve yetenekler kümesi olarak ifade edilen ve agent framework'ünün dışında uygulanan bir egress bütçesidir.

Hız bütçeleri bunu neden kaçırır

Bir hız bütçesi, birim zaman başına istekleri sınırlar. Bu, API gateway'lerden miras alınan bir yük atma kontrolüdür; oradaki kaygı bir backend'i gürültülü bir istemciden korumaktı. Kaç tane sorusunu yanıtlar, nereye sorusunu değil.

Arıza modunu doğrudan ele alalım. İstenmeyen bir host'a yapılan tek bir düzgün biçimli HTTP isteği, herhangi bir makul hız bütçesinin içindedir. Dakikada bir istek, çoğu operatörün muhafazakâr sayacağı bir hız bütçesidir; aynı zamanda bir form göndermek, bir mesaj yayınlamak veya bir üçüncü taraf sistemde bir iş akışını tetiklemek için yeterlidir. Hız limiti hiç devreye girmez çünkü hacim önemsizdir. İstek aşırı değildir; yalnızca yanlış adrese yönlendirilmiştir.

Karışıklık, hız limitleri ile erişim limitlerinin sıklıkla birlikte konuşlandırılmasından ve her ikisinin de ağ sınırının yakınında yaşamasından kaynaklanır. Ancak bunlar farklı kontrol sınıflarıdır. Hız limiti bir kapasite kontrolüdür. Erişim limiti bir yetkilendirme kontrolüdür. Kapasite kontrolleri yük altında kademeli olarak bozulur; yetkilendirme kontrolleri her hedef için ikili çalışır. Birincisini ikincisinin yerine koymak, hedef kümesini sınırsız bırakır.

Arıza hacim değildir. Erişilebilir hedefler kümesi ve agent'ın her birinde sahip olduğu yeteneklerdir.

Woman using a laptop in a server room with blue-lit server racks

Bir erişim bütçesi tasarlamak

Bir erişim bütçesi, bir agent çalıştırmasının dokunabileceği hedef sınıflarının ve her birinde izin verilen yeteneklerin bir sayımıdır. Araç tanımına değil, çalıştırma spesifikasyonuna aittir.

Bu yerleşim kasıtlıdır. Bir araç tanımı, bir aracın genel olarak neler yapabileceğini tanımlar; bir çalıştırma spesifikasyonu ise bu belirli çalıştırmanın neler yapmaya izinli olduğunu tanımlar. Erişim araç üzerinde bildirilirse, aracı yükleyen her çalıştırma aracın tam erişimini devralır ve operatör belirli bir görevi kapsamlandırma yeteneğini kaybeder. Erişim çalıştırma üzerinde bildirilirse, aynı araç salt okunur bir özetleme görevi için dar bir bütçe altında, meşru şekilde yazması gereken bir görev için daha geniş bir bütçe altında yüklenebilir.

Bir bütçe girdisi, bir hedef sınıfını bir yetenek kümesiyle eşler. Hedef sınıfları, bakımı yapılabilecek kadar kaba ve anlamlı olacak kadar spesifik olmalıdır: bir dahili dokümantasyon host'u, adlandırılmış bir partner API'si, bir kamu veri kaynağı, bir mesajlaşma yüzeyi. Yetenekler küçük ve kapalı bir sözlükten seçilmelidir, örneğin:

read-only fetch
authenticated write
form submission
file transfer (inbound)
file transfer (outbound)

Sözlük kapalı olmalıdır ki bütçeler mekanik olarak karşılaştırılabilsin ve diff'lenebilsin. Açık uçlu bir yetenek dizesi sapmaya davetiye çıkarır.

Bütçeyi pratikte kullanılabilir kılan iki özellik vardır.

Birincisi, bir çalıştırma içinde monotondur. Bir agent erişimini daraltabilir — artık ihtiyaç duymadığı bir hedef sınıfını düşürebilir — ancak yeni bir yetkilendirme olayı olmadan genişletemez. Daraltma güvenli bir işlemdir çünkü yalnızca yetenek kaldırır. Genişletme ayrıcalıklı bir işlemdir çünkü erişim ekler ve denetlenebilir bir kayıt üretmelidir: genişletmeyi kim yetkilendirdi, hangi hedef için, hangi yetenek için, çalıştırmanın hangi noktasında.

İkincisi, bütçe çalıştırma başlamadan önce bildirilir, gözlemlenen davranıştan çıkarılmaz. Agent'ın ne yaptığından türetilen bir bütçe bir tanımdAerial view of a rooftop solar panel array capturing sunlight for renewable energy](/media/circuit-board-macro-5a0c33-e1886b.jpg)

Uygulama noktaları

Bütçe, ancak uygulandığı nokta kadar iyidir. Ağırlığın çoğunu üç uygulama noktası taşır.

Hedefleri agent framework'ünün içinde değil, egress proxy'de çözümleyin. Framework erişimi uygularsa, kontrol framework'ün araç çağırma yoluna, eklenti modeline ve sürümüne bağlanır. Bir framework değişimi kontrolü sessizce ortadan kaldırır. Agent runtime ile ağ arasında duran bir egress proxy, isteği hangi framework üretmiş olursa olsun erişimi uygular. Proxy hedefi — host, port ve uygulanabilir olduğunda çözümlenen adresi — çözümler ve bağlantı kurulmadan önce çalıştırmanın bildirilen bütçesine karşı kontrol eder. Agent framework'ü kontrol düzlemine dokunmadan değiştirilebilir.

Reddetmeleri birinci sınıf olaylar olarak kaydedin. Reddedilen bir istek, istenen hedefi, reddedilen yeteneği, çalıştırma tanımlayıcısını ve varsa izin verecek olan bütçe girdisini taşıyan yapılandırılmış bir olay üretmelidir. Reddetmeler filtrelenecek gürültü değildir; bir çalıştırmanın erişimini aşmaya çalıştığının birincil sinyalidir. Başarılı isteklerin yanında sorgulanabilir olmalı, bir debug log'una gömülmemelidir.

Her çalıştırmadan sonra uzlaştırın. Çalıştırma tamamlandıktan sonra, gözlemlenen hedef kümesini bildirilen bütçeyle karşılaştırın. Sapma — bildirilmemiş bir hedefe erişilmesi veya verilmemiş bir yeteneğin kullanılması — bir kusurdur. Bir merak olarak not edilmek yerine, kök nedeni ve düzeltmesiyle birlikte diğer kusurlar gibi ele alınmalıdır. Uzlaştırma adımı, bütçeyi statik bir bildirimden bir geri besleme döngüsüne dönüştüren şeydir.

Dürüst bir ödünleşim

Erişim bütçeleri operasyonel esnekliğe mal olur. Her yeni hedef sınıfı, çalıştırma spesifikasyonunda bir değişikliktir; bu da bir agent yeni bir host'la konuşmadan önce bir değişiklik yönetimi adımı anlamına gelir. Meşru hedefler kümesinin gerçekten açık olduğu ortamlarda — örneğin kamuya açık web'de referansları takip eden araştırma agent'ları — katı bir sayım pratik değildir ve operatörler public internet, read-only gibi geniş bir sınıf bildirmeye meyledecektir.

Bu cazibe ölümcül değildir, ancak adlandırılmalıdır. Geniş bir salt okunur sınıf yine de yeteneği sınırlar; riskin çoğu burada yoğunlaşır: kamuya açık bir sayfayı okumak nadiren zararlı eylemken, bir form göndermek veya kimliği doğrulanmış bir uç noktaya yazmak öyledir. Ödünleşim gerçektir ama sınırlıdır. Alternatif — hiç erişim bildirimi olmaması ve yetkilendirme yerine bir hız limitinin geçmesi — bir ödünleşim değildir; kontrolün yokluğudur.

Pratik konum, gerçekten uygulanan kaba bir bütçeyle başlamak, ardından gözlemlenen hedef kümesi istikrar kazandıkça onu daraltmaktır. Yanlış şeyi reddeden kaba bir bütçe, yalnızca kâğıt üzerinde var olan kesin bir bütçeden daha faydalıdır.

İlgili okumalar

Bunun yanıtladığı sorular

Why is a rate limit not sufficient to control an agent's network reach?

A rate limit caps requests per unit time, which is a capacity control. A single well-formed request to an unintended host is within any sane rate budget, so the limit never engages. The failure is not volume; it is the set of reachable destinations and the capabilities held at each.

Where should an agent's reach budget be declared?

In the run specification, not the tool definition. Declaring reach on the tool means every run that loads the tool inherits the tool's full reach. Declaring it on the run lets the same tool operate under a narrow read-only budget for one task and a wider budget for another.

Why enforce reach at an egress proxy rather than inside the agent framework?

Framework-level enforcement is coupled to the framework's tool-calling path and version, so a framework swap silently removes the control. An egress proxy between the runtime and the network resolves the destination and checks it against the run budget regardless of which framework produced the request.

What should happen when an agent's observed destinations diverge from its declared budget?

Treat divergence as a defect. Reconcile the observed destination set against the declared budget after each run, and triage any undeclared destination or ungranted capability with a root cause and a fix, rather than noting it as a curiosity.