Sıkıştırma
Her modelin bir bağlam penceresi vardır — işleyebileceği en yüksek token sayısı. Bir konuşma bu sınıra yaklaştığında, OpenClaw eski mesajları bir özette sıkıştırır; böylece sohbet devam edebilir.Nasıl çalışır
- Konuşmanın eski bölümleri sıkıştırılmış bir girdide özetlenir.
- Özet, oturum dökümüne kaydedilir.
- Son mesajlar olduğu gibi korunur.
toolResult girdileriyle eşleştirilmiş halde tutar. Bir bölme noktası
bir araç bloğunun içine denk gelirse, OpenClaw sınırı kaydırır; böylece çift bir arada kalır ve
özetlenmemiş mevcut son bölüm korunur.
Konuşma geçmişinin tamamı diskte kalır. Sıkıştırma yalnızca
modelin bir sonraki turda gördüğü şeyi değiştirir.
Otomatik sıkıştırma
Otomatik sıkıştırma varsayılan olarak açıktır. Oturum bağlam sınırına yaklaştığında veya model bir bağlam taşması hatası döndürdüğünde çalışır (bu durumda OpenClaw sıkıştırır ve yeniden dener). Yaygın taşma imzaları arasındarequest_too_large, context length exceeded, input exceeds the maximum number of tokens, input token count exceeds the maximum number of input tokens, input is too long for the model ve ollama error: context length exceeded bulunur.
Sıkıştırmadan önce OpenClaw, önemli
notları memory dosyalarına kaydetmesi için aracıya otomatik olarak hatırlatma yapar. Bu, bağlam kaybını önler.
openclaw.json dosyanızdaki agents.defaults.compaction ayarını kullanın (mod, hedef token sayısı vb.).
Sıkıştırma özetleme, varsayılan olarak opak tanımlayıcıları korur (identifierPolicy: "strict"). Bunu identifierPolicy: "off" ile geçersiz kılabilir veya identifierPolicy: "custom" ve identifierInstructions ile özel metin sağlayabilirsiniz.
İsteğe bağlı olarak, sıkıştırma özetleme için agents.defaults.compaction.model üzerinden farklı bir model belirtebilirsiniz. Bu, birincil modeliniz yerel veya küçük bir model olduğunda ve sıkıştırma özetlerinin daha yetenekli bir model tarafından üretilmesini istediğinizde kullanışlıdır. Geçersiz kılma, herhangi bir provider/model-id dizesini kabul eder:
Takılabilir sıkıştırma sağlayıcıları
Plugins, eklenti API’sindekiregisterCompactionProvider() aracılığıyla özel bir sıkıştırma sağlayıcısı kaydedebilir. Bir sağlayıcı kaydedilip yapılandırıldığında, OpenClaw özetlemeyi yerleşik LLM işlem hattı yerine ona devreder.
Kayıtlı bir sağlayıcıyı kullanmak için yapılandırmanızda sağlayıcı kimliğini ayarlayın:
provider ayarlamak, otomatik olarak mode: "safeguard" kullanımını zorunlu kılar. Sağlayıcılar, yerleşik yolla aynı sıkıştırma yönergelerini ve tanımlayıcı koruma ilkesini alır; ayrıca OpenClaw, sağlayıcı çıktısından sonra da son tur ve bölünmüş tur son ek bağlamını korur. Sağlayıcı başarısız olursa veya boş bir sonuç döndürürse, OpenClaw yerleşik LLM özetlemeye geri döner.
Otomatik sıkıştırma (varsayılan olarak açık)
Bir oturum modelin bağlam penceresine yaklaştığında veya bunu aştığında, OpenClaw otomatik sıkıştırmayı tetikler ve orijinal isteği sıkıştırılmış bağlamı kullanarak yeniden deneyebilir. Şunları görürsünüz:- ayrıntılı modda
🧹 Otomatik sıkıştırma tamamlandı /statusiçinde🧹 Sıkıştırmalar: <count>
El ile sıkıştırma
Sıkıştırmayı zorlamak için herhangi bir sohbette/compact yazın. Özeti
yönlendirmek için yönergeler ekleyin:
Farklı bir model kullanma
Varsayılan olarak, sıkıştırma aracınızın birincil modelini kullanır. Daha iyi özetler için daha yetenekli bir model kullanabilirsiniz:Sıkıştırma başlangıç bildirimi
Varsayılan olarak, sıkıştırma sessizce çalışır. Sıkıştırma başladığında kısa bir bildirim göstermek içinnotifyUser seçeneğini etkinleştirin:
Sıkıştırma ve budama karşılaştırması
| Sıkıştırma | Budama | |
|---|---|---|
| Ne yapar | Eski konuşmayı özetler | Eski araç sonuçlarını kırpar |
| Kaydedilir mi? | Evet (oturum dökümünde) | Hayır (yalnızca bellekte, istek başına) |
| Kapsam | Tüm konuşma | Yalnızca araç sonuçları |
Sorun giderme
Çok sık mı sıkıştırılıyor? Modelin bağlam penceresi küçük olabilir veya araç çıktıları büyük olabilir. Şunu etkinleştirmeyi deneyin: oturum budama. Sıkıştırmadan sonra bağlam eski mi geliyor? Özeti yönlendirmek için/compact Focus on <topic> kullanın veya notların kalıcı olmasını sağlamak için memory flush seçeneğini etkinleştirin.
Temiz bir başlangıca mı ihtiyacınız var? /new, sıkıştırma yapmadan yeni bir oturum başlatır.
Gelişmiş yapılandırma için (ayrılmış token’lar, tanımlayıcı koruma, özel
bağlam motorları, OpenAI sunucu tarafı sıkıştırma), bkz.
Oturum Yönetimi Derinlemesine İnceleme.
İlgili
- Oturum — oturum yönetimi ve yaşam döngüsü
- Oturum Budama — araç sonuçlarını kırpma
- Bağlam — aracı turları için bağlamın nasıl oluşturulduğu
- Kancalar — sıkıştırma yaşam döngüsü kancaları (
before_compaction,after_compaction)