Ana içeriğe atla

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ı sıkıştırarak bir özete dönüştürür; böylece sohbet devam edebilir.

Nasıl çalışır

  1. Eski konuşma dönüşleri sıkıştırılmış bir girdide özetlenir.
  2. Özet, oturum dökümüne kaydedilir.
  3. Son mesajlar olduğu gibi korunur.
OpenClaw geçmişi sıkıştırma parçalarına böldüğünde, asistan araç çağrılarını eşleşen toolResult girdileriyle birlikte tutar. Bir bölme noktası bir araç bloğunun içine denk gelirse, OpenClaw sınırı bu eşleşme birlikte kalacak şekilde kaydırır ve mevcut özetlenmemiş son kısmı korur. Konuşmanın tam geçmişi diskte kalır. Sıkıştırma yalnızca modelin bir sonraki dönüşte ne gördüğünü 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). Tipik taşma imzaları arasında request_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.
OpenClaw, sıkıştırmadan önce ajana önemli notları memory dosyalarına kaydetmesini otomatik olarak hatırlatır. Bu, bağlam kaybını önler.

Manuel sıkıştırma

Sıkıştırmayı zorlamak için herhangi bir sohbette /compact yazın. Özeti yönlendirmek için talimat ekleyin:
/compact API tasarım kararlarına odaklan

Farklı bir model kullanma

Varsayılan olarak sıkıştırma, ajanınızın birincil modelini kullanır. Daha iyi özetler için daha yetenekli bir model kullanabilirsiniz:
{
  agents: {
    defaults: {
      compaction: {
        model: "openrouter/anthropic/claude-sonnet-4-6",
      },
    },
  },
}

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çin notifyUser seçeneğini etkinleştirin:
{
  agents: {
    defaults: {
      compaction: {
        notifyUser: true,
      },
    },
  },
}
Etkinleştirildiğinde, kullanıcı her sıkıştırma çalışmasının başında kısa bir mesaj görür (örneğin, “Bağlam sıkıştırılıyor…”).

Sıkıştırma ve budama

SıkıştırmaBudama
Ne yaparEski konuşmayı özetlerEski araç sonuçlarını kırpar
Kaydedilir mi?Evet (oturum dökümünde)Hayır (yalnızca bellekte, istek başına)
KapsamTüm konuşmaYalnızca araç sonuçları
Oturum budama, özetleme yapmadan araç çıktısını kırpan daha hafif bir tamamlayıcıdır.

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. oturum budama özelliğini etkinleştirmeyi deneyin. Sıkıştırmadan sonra bağlam bayat mı geliyor? Özeti yönlendirmek için /compact <konuya> odaklan kullanın veya notların kalıcı olması için memory flush özelliğ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ılan token’lar, tanımlayıcı koruma, özel bağlam motorları, OpenAI sunucu tarafı sıkıştırma), şu belgeye bakın: 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 — ajan dönüşleri için bağlamın nasıl oluşturulduğu
  • Hooks — sıkıştırma yaşam döngüsü kancaları (before_compaction, `after_compaction)