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

  1. userAcme'nin fiyat sayfasını özetle.
  2. assistanttool_use · fetch("https://acme.example/pricing")
  3. 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.

STRIPX-Tamga-Stripped-Count: 1
tamga-policy.yaml
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.

Claude Code · shell
export ANTHROPIC_BASE_URL="https://tamga.internal/anthropic"
export ANTHROPIC_CUSTOM_HEADERS="X-Tamga-Key: tk_your_key_here"
Anthropic SDK · Python
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.