TamgaAjanlar
Ajanlar proxyüzerinden
Kod ajanları ve ajan çatıları her istekte tüm oturumu model API'sine gönderir: geçmiş, dosya içerikleri, araç çıktısı. Onları Tamga'ya yönlendirin: her metin parçası kendi rolüyle taranır, zehirli bir araç sonucu oturum sürerken ayıklanabilir ve başarısız bir tarama araç trafiğini geçirmez.
No. 001STRIP
Zehirli araç sonucunu ayıkla
İsteği engellemek saldırıyla birlikte oturumu da durdurur. STRIP, araç sonucunun tamamını bir yer tutucuyla değiştirir ve geri kalanını, diğer tüm kuralları yine uygulayarak iletir.
Bir ajan oturumu, canlandırma
POST /anthropic/v1/messages
- userAcme'nin fiyat sayfasını özetle.
- assistanttool_use · fetch("https://acme.example/pricing")
- tool
[Content removed by Tamga security policy.]
injection · rol tool · rules.injection_detection
STRIP kuralında yalnızca o cümle değil, araç sonucunun tamamı değiştirilir.
rules:
injection_detection: # in tool results: strip
action: STRIP
sensitivity: low
applies_to: [tool]
injection: # anywhere else: block
action: BLOCK
sensitivity: low
applies_to: [system, user, assistant, tool_definition, request]Yanlış bir alarm modele bir araç sonucuna mal olur; model genellikle onu yeniden isteyebilir. Bu, yanlış bir engelden ucuzdur ama yine de bir bedeldir: STRIP olaylarını izleyin.
No. 002Neler taranır
Metin, kimin adına konuştuğuna göre
Tamga isteği mesaj mesaj okur ve bir metin parçasının kullanıcının istemi mi, bir araç sonucu mu, bir araç açıklaması mı yoksa sistem istemi mi olduğunu bilir. Bir kural applies_to ile bazı rollere sınırlanabilir.
- user
- Kişinin istemi: yapıştırılan kişisel veri ve gizli anahtarlar.
- tool
- Araç sonuçları, ekli belgeler, arama sonuçları. Dolaylı prompt injection buradan gelir: model için talimat taşıyan bir web sayfası ya da dosya.
- assistant
- Modelin bir araca verdiği argümanlar: bir araca doğru yola çıkmış veri.
- tool_definition
- Araç açıklamaları. Zehirlenmiş bir araç açıklaması da bir injection'dır.
- system
- Sistem istemi, genellikle sizin metniniz. Bir kural applies_to ile onu hariç tutabilir.
No. 003Kapalı kal
Başarısız tarama geçiş değildir
Çöken bir denetim, enjekte edilmiş bir araç sonucunu geçirmemeli. v0.9.0'dan beri, tarama başarısız olduğunda araç sonucu ya da araç tanımı taşıyan istek reddedilir; ayarı yazmayan bir politikada bile.
scan.on_error: block
Hazır politika. Bir tarayıcı hata verirse, süresini aşarsa ya da yük altında devre dışı kalırsa istek Retry-After: 1 ile 503 tamga_scan_unavailable alır ve sağlayıcıya ulaşmaz. Çoğu ajan 503'ü yeniden dener.
anahtar yazılmamışsa
Araç sonucu ya da araç tanımı taşıyan istek aynı 503 ile kapalı kalır; düz bir sohbet isteği X-Tamga-Scan-Degraded: true işaretiyle iletilir.
scan.on_error: pass
Her ikisini de yapılandırılandan daha az denetimle iletir. Yalnızca bunu kabul ediyorsanız seçin.
No. 004Kurulum
İki değişken
Anthropic kimlik bilginiz eskisi gibi gönderilir ve sağlayıcıya gider. Tamga anahtarı Tamga'da kalır ve oturumun hangi kuruma sayılacağını belirler.
export ANTHROPIC_BASE_URL="https://tamga.internal/anthropic"
export ANTHROPIC_CUSTOM_HEADERS="X-Tamga-Key: tk_your_key_here"client = anthropic.Anthropic(
base_url="https://tamga.internal/anthropic",
default_headers={"X-Tamga-Key": os.environ["TAMGA_KEY"]},
)No. 005Ayarlar
Ajanlar için neyi değiştirmeli
Hazır politika sohbet trafiği için yazıldı. Tarama çekirdek başına saniyede yaklaşık 250 KB hızında çalışır ve tekrar eden metin on dakika boyunca bellekten yanıtlanır; yani her turda yalnızca yeni kısım zaman alır.
- rate_limit.max_requests_per_minute: 60
- Alt ajanları olan bir ajan bunu aşar. Ajana kendi Tamga anahtarını verin ve sınırı yükseltin.
- rate_limit.max_tokens_per_day: 500000
- Büyük bağlamlı uzun bir oturum bunu dakikalar içinde tüketir.
- output_rules.streaming
- Varsayılan olarak kapalı. Açıkken modelin metni akarken taranır ve yaklaşık 64 karakter geç gelir; bir araç çağrısının argümanları çağrı bittiğinde bütün olarak taranır.
- body size
- Hazır politika Anthropic rotasında 32 MB'a kadar kabul eder; bu API'nin kendi sınırıdır.
- canary, vault
- İkisi de akışı bekletmeden çalışır ve ikisi de gövdeyi yeniden yazar. Gövdenin bayt bayt aynı kalmasını isteyen bir ajan bunları kapalı tutmalı.
No. 006Henüz değil
Henüz çalışmayanlar
- Ajan ile MCP sunucuları arasındaki trafik Tamga'dan geçmez. Aracın döndürdüğü ise bir sonraki istekte araç sonucu olarak geçer.
- Araç çağrısı argümanlarında metin değerler okunur. JSON sayısı ya da anahtar olarak yazılmış bir değer okunmaz.
- Bazı akış biçimleri hâlâ okunmuyor: diğerlerinin yanında Gemini'nin kısmi fonksiyon çağrısı argümanları ve Anthropic alıntı parçaları.
- Vault yer tutucuları akışın metninde geri yazılır, akan bir araç çağrısının argümanlarında yazılmaz.
- Görsel, ses ve PDF okunmaz.