Session Pruning
Oturum budama, her LLM çağrısından hemen önce bellek içi bağlamdan eski araç sonuçlarını kırpar. Diskteki oturum geçmişini yeniden yazmaz (*.jsonl).
Ne zaman çalışır
mode: "cache-ttl"etkinleştirildiğinde ve oturum için son Anthropic çağrısıttl’ten daha eskiyse.- Yalnızca o istek için modele gönderilen iletileri etkiler.
- Yalnızca Anthropic API çağrıları (ve OpenRouter Anthropic modelleri) için etkindir.
- En iyi sonuçlar için
ttldeğerini modelinizincacheControlTtldeğeriyle eşleştirin. - Bir budamadan sonra TTL penceresi sıfırlanır; böylece sonraki istekler
ttlyeniden dolana kadar önbelleği korur.
Akıllı varsayılanlar (Anthropic)
- OAuth veya setup-token profilleri:
cache-ttlbudamayı etkinleştirir ve heartbeat’i1holarak ayarlar. - API anahtarı profilleri:
cache-ttlbudamayı etkinleştirir, heartbeat’i30molarak ayarlar ve Anthropic modellerindecacheControlTtliçin varsayılanı1hyapar. - Bu değerlerden herhangi birini açıkça ayarlarsanız, OpenClaw bunları geçersiz kılmaz.
Bunun iyileştirdikleri (maliyet + önbellek davranışı)
- Neden budama: Anthropic istem önbellekleme yalnızca TTL içinde geçerlidir. Bir oturum TTL’i aşacak kadar boşta kalırsa, bir sonraki istek kırpmadan önce tüm istemi yeniden önbelleğe alır.
- Ne ucuzlar: budama, TTL süresi dolduktan sonraki ilk istekte cacheWrite boyutunu azaltır.
- TTL sıfırlamasının önemi: budama çalıştığında önbellek penceresi sıfırlanır; böylece takip eden istekler, tüm geçmişi yeniden önbelleğe almak yerine yeni önbelleğe alınmış istemi yeniden kullanabilir.
- Ne yapmaz: budama belirteç eklemez veya maliyetleri “ikiye katlamaz”; yalnızca TTL sonrası ilk istekte neyin önbelleğe alındığını değiştirir.
Neler budanabilir
- Yalnızca
toolResultiletileri. - Kullanıcı + asistan iletileri asla değiştirilmez.
- Son
keepLastAssistantsasistan iletisi korunur; bu kesitten sonraki araç sonuçları budanmaz. - If there aren’t enough assistant messages to establish the cutoff, pruning is skipped.
- Görüntü blokları içeren araç sonuçları atlanır (asla kırpılmaz/temizlenmez).
Bağlam penceresi tahmini
Budama, tahmini bir bağlam penceresi kullanır (karakter ≈ belirteç × 4). Temel pencere şu sırayla çözülür:models.providers.*.models[].contextWindowgeçersiz kılma.- Model tanımı
contextWindow(model kayıt defterinden). - Varsayılan
200000belirteç.
agents.defaults.contextTokens ayarlanmışsa, çözümlenen pencere için bir üst sınır (min) olarak ele alınır.
Mod
cache-ttl
- Budama yalnızca son Anthropic çağrısı
ttl’ten daha eskiyse çalışır (varsayılan5m). - Çalıştığında: öncekiyle aynı soft-kırpma + hard-temizleme davranışı.
Soft ve hard budama
- Soft-kırpma: yalnızca aşırı büyük araç sonuçları için.
- Baş + sonu korur, araya
...ekler ve özgün boyutu belirten bir not ekler. - Görüntü blokları olan sonuçları atlar.
- Baş + sonu korur, araya
- Hard-temizleme: tüm araç sonucunu
hardClear.placeholderile değiştirir.
Araç seçimi
tools.allow/tools.deny,*joker karakterlerini destekler.- Deny wins.
- Matching is case-insensitive.
- Boş izin listesi => tüm araçlara izin verilir.
Diğer sınırlarla etkileşim
- Yerleşik araçlar kendi çıktılarının bir kısmını zaten kırpar; oturum budama, uzun süreli sohbetlerin model bağlamında çok fazla araç çıktısı biriktirmesini önleyen ek bir katmandır.
- Sıkıştırma (compaction) ayrıdır: sıkıştırma özetler ve kalıcı hale getirir; budama ise istek başına geçicidir. /concepts/compaction.
Varsayılanlar (etkinleştirildiğinde)
ttl:"5m"keepLastAssistants:3softTrimRatio:0.3hardClearRatio:0.5minPrunableToolChars:50000softTrim:{ maxChars: 4000, headChars: 1500, tailChars: 1500 }hardClear:{ enabled: true, placeholder: "[Old tool result content cleared]" }