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.
- 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]" }
Örnekler¶
Varsayılan (kapalı):
{
agent: {
contextPruning: { mode: "off" },
},
}
TTL farkındalıklı budamayı etkinleştir:
{
agent: {
contextPruning: { mode: "cache-ttl", ttl: "5m" },
},
}
Budamayı belirli araçlarla sınırla:
{
agent: {
contextPruning: {
mode: "cache-ttl",
tools: { allow: ["exec", "read"], deny: ["*image*"] },
},
},
}
Yapılandırma başvurusuna bakın: Gateway Yapılandırması