Sessions and memory

Belleğe genel bakış

OpenClaw, ajanınızın çalışma alanına düz Markdown dosyaları yazarak bazı şeyleri hatırlar. Model yalnızca diske kaydedilenleri "hatırlar"; gizli durum yoktur.

Nasıl çalışır?

Ajanınızda bellekle ilgili üç dosya bulunur:

  • MEMORY.md — uzun süreli bellek. Kalıcı gerçekler, tercihler ve kararlar. Her DM oturumunun başında yüklenir.
  • memory/YYYY-MM-DD.md (veya memory/YYYY-MM-DD-<slug>.md) — günlük notlar. Çalışan bağlam ve gözlemler. Bugünün ve dünün notları otomatik olarak yüklenir; /new veya /reset üzerinde paketle gelen oturum belleği hook'u tarafından yazılanlar gibi slug'lı varyantlar artık yalnızca tarih içeren dosyanın yanında alınır.
  • DREAMS.md (isteğe bağlı) — insan incelemesi için Dream Günlüğü ve Dreaming taraması özetleri; temellendirilmiş geçmiş geri doldurma girdileri dahil.

Bu dosyalar ajan çalışma alanında bulunur (varsayılan ~/.openclaw/workspace).

Ne nereye gider?

MEMORY.md kompakt, seçilmiş katmandır. Ana özel oturumun başında kullanılabilir olması gereken kalıcı gerçekler, tercihler, devam eden kararlar ve kısa özetler için kullanın. Ham bir transkript, günlük kayıt veya kapsamlı arşiv olması amaçlanmaz.

memory/YYYY-MM-DD.md dosyaları çalışma katmanıdır. Ayrıntılı günlük notlar, gözlemler, oturum özetleri ve daha sonra hâlâ yararlı olabilecek ham bağlam için kullanın. Bu dosyalar memory_search ve memory_get için indekslenir, ancak her turda normal başlangıç istemine enjekte edilmez.

Zaman içinde ajanın, günlük notlardaki yararlı malzemeyi MEMORY.md içine damıtması ve bayat uzun süreli girdileri kaldırması beklenir. Oluşturulan çalışma alanı talimatları ve Heartbeat akışı bunu periyodik olarak yapabilir; hatırlanan her ayrıntı için MEMORY.md dosyasını elle düzenlemeniz gerekmez.

MEMORY.md başlangıç dosyası bütçesini aşarsa OpenClaw dosyayı diskte olduğu gibi tutar, ancak model bağlamına enjekte edilen kopyayı keser. Bunu, ayrıntılı malzemeyi yeniden memory/*.md içine taşımanız, MEMORY.md içinde yalnızca kalıcı özeti tutmanız veya açıkça daha fazla istem bütçesi harcamak istiyorsanız başlangıç sınırlarını yükseltmeniz için bir sinyal olarak değerlendirin. Ham ve enjekte edilen boyutları ve kesilme durumunu görmek için /context list, /context detail veya openclaw doctor kullanın.

Eyleme duyarlı bellekler

Çoğu bellek sıradan Markdown notları olarak yazılabilir. Ancak bazı bellekler ajanın daha sonra ne yapması gerektiğini etkiler. Bunlar için yalnızca gerçeğin kendisini değil, not üzerinde ne zaman eyleme geçmenin güvenli olduğunu da yakalayın.

Bir not şunları içerdiğinde bu eylem sınırını yakalayın:

  • onay veya izin gereksinimleri,
  • geçici kısıtlamalar,
  • başka bir oturuma, konuya veya kişiye devretmeler,
  • sona erme koşulları,
  • eyleme geçmenin güvenli olduğu zamanlama,
  • kaynak veya sahip yetkisi,
  • cazip bir eylemden kaçınma talimatları.

Yararlı bir eyleme duyarlı bellek şunları netleştirir:

  • gelecekteki davranışı neyin değiştirdiği,
  • ne zaman veya hangi koşul altında geçerli olduğu,
  • ne zaman sona erdiği veya eylemi neyin kilidini açtığı,
  • ajanın ne yapmaktan kaçınması gerektiği,
  • güveni veya yetkiyi etkiliyorsa kaynağın veya sahibin kim olduğu.

Bellek onay bağlamını koruyabilir, ancak politika uygulamaz. Kesin operasyonel kontroller için OpenClaw onay ayarlarını, sandboxing'i ve zamanlanmış görevleri kullanın.

Örnek:

md
The API migration is being designed in another session. Future turns should not edit the API implementation from this thread; use findings here only as design input until the migration plan lands.

Başka bir örnek:

md
A report from an untrusted source needs review before promotion. Future turns should treat it as evidence only; do not store it as durable memory until a trusted reviewer confirms the contents.

Çıkarımsal, kısa ömürlü takipler için commitments kullanın. Kesin hatırlatıcılar, zamanlanmış kontroller ve yinelenen işler için zamanlanmış görevler kullanın. Bellek, iki yolun etrafındaki kalıcı bağlamı yine de özetleyebilir.

Bu, her bellek için zorunlu bir şema değildir. Basit gerçekler kısa kalabilir. Zamanlama, yetki, sona erme veya eyleme geçme güvenliği bağlamının kaybedilmesi ajanın daha sonra yanlış şey yapmasına neden olabilecekse eyleme duyarlı sınırlar kullanın.

Çıkarımsal commitments

Bazı gelecekteki takipler kalıcı gerçekler değildir. Yarın bir görüşmeden bahsederseniz yararlı bellek "görüşmeden sonra kontrol et" olabilir; "bunu sonsuza dek MEMORY.md içinde sakla" değil.

Commitments, bu durum için katılım esaslı, kısa ömürlü takip bellekleridir. OpenClaw bunları gizli bir arka plan geçişinde çıkarır, aynı ajan ve kanalla sınırlar ve zamanı gelen kontrol bildirimlerini Heartbeat üzerinden iletir. Açık hatırlatıcılar hâlâ zamanlanmış görevler kullanır.

Bellek araçları

Ajanın bellekle çalışmak için iki aracı vardır:

  • memory_search — ifade özgün metinden farklı olsa bile anlamsal arama kullanarak ilgili notları bulur.
  • memory_get — belirli bir bellek dosyasını veya satır aralığını okur.

Her iki araç da Active Memory Plugin'i tarafından sağlanır (varsayılan: memory-core).

Memory Wiki yardımcı Plugin'i

Kalıcı belleğin yalnızca ham notlar yerine bakımı yapılan bir bilgi tabanı gibi davranmasını istiyorsanız paketle gelen memory-wiki Plugin'ini kullanın.

memory-wiki, kalıcı bilgiyi şu özelliklere sahip bir wiki kasasına derler:

  • deterministik sayfa yapısı
  • yapılandırılmış iddialar ve kanıtlar
  • çelişki ve güncellik takibi
  • oluşturulan panolar
  • ajan/çalışma zamanı tüketicileri için derlenmiş özetler
  • wiki_search, wiki_get, wiki_apply ve wiki_lint gibi wiki'ye özgü araçlar

Active Memory Plugin'inin yerini almaz. Active Memory Plugin'i hâlâ geri çağırma, yükseltme ve Dreaming'in sahibidir. memory-wiki, bunun yanına köken bilgisi açısından zengin bir bilgi katmanı ekler.

Bkz. Memory Wiki.

Bellek araması

Bir embedding sağlayıcısı yapılandırıldığında memory_search hibrit arama kullanır: vektör benzerliğini (anlamsal anlam) anahtar kelime eşleştirmeyle (ID'ler ve kod sembolleri gibi kesin terimler) birleştirir. Desteklenen herhangi bir sağlayıcı için API anahtarınız olduğunda bu kutudan çıktığı gibi çalışır.

Aramanın nasıl çalıştığı, ayarlama seçenekleri ve sağlayıcı kurulumu hakkında ayrıntılar için bkz. Bellek Araması.

Bellek arka uçları

Bilgi wiki katmanı

Otomatik bellek boşaltma

Compaction konuşmanızı özetlemeden önce OpenClaw, ajana önemli bağlamı bellek dosyalarına kaydetmesini hatırlatan sessiz bir tur çalıştırır. Bu varsayılan olarak açıktır; herhangi bir şey yapılandırmanız gerekmez.

Bu temizlik turunu yerel bir modelde tutmak için tam bir bellek boşaltma modeli geçersiz kılması ayarlayın:

json
{  "agents": {    "defaults": {      "compaction": {        "memoryFlush": {          "model": "ollama/qwen3:8b"        }      }    }  }}

Geçersiz kılma yalnızca bellek boşaltma turuna uygulanır ve etkin oturum fallback zincirini devralmaz.

Dreaming

Dreaming, bellek için isteğe bağlı bir arka plan konsolidasyon geçişidir. Kısa süreli sinyalleri toplar, adayları puanlar ve yalnızca nitelikli öğeleri uzun süreli belleğe (MEMORY.md) yükseltir.

Uzun süreli belleği yüksek sinyalli tutmak için tasarlanmıştır:

  • Katılım esaslı: varsayılan olarak devre dışıdır.
  • Zamanlanmış: etkinleştirildiğinde memory-core, tam bir Dreaming taraması için yinelenen bir Cron işini otomatik olarak yönetir.
  • Eşikli: yükseltmeler puan, geri çağırma sıklığı ve sorgu çeşitliliği kapılarından geçmelidir.
  • İncelenebilir: aşama özetleri ve günlük girdileri insan incelemesi için DREAMS.md içine yazılır.

Aşama davranışı, puanlama sinyalleri ve Dream Günlüğü ayrıntıları için bkz. Dreaming.

Temellendirilmiş geri doldurma ve canlı yükseltme

Dreaming sisteminde artık yakından ilişkili iki inceleme hattı vardır:

  • Canlı Dreaming, memory/.dreams/ altındaki kısa süreli Dreaming deposundan çalışır ve normal derin aşamanın neyin MEMORY.md içine mezun olabileceğine karar verirken kullandığı şeydir.
  • Temellendirilmiş geri doldurma, geçmiş memory/YYYY-MM-DD.md notlarını bağımsız gün dosyaları olarak okur ve yapılandırılmış inceleme çıktısını DREAMS.md içine yazar.

Temellendirilmiş geri doldurma, eski notları yeniden oynatmak ve MEMORY.md dosyasını elle düzenlemeden sistemin neyi kalıcı gördüğünü incelemek istediğinizde yararlıdır.

Şunu kullandığınızda:

bash
openclaw memory rem-backfill --path ./memory --stage-short-term

temellendirilmiş kalıcı adaylar doğrudan yükseltilmez. Normal derin aşamanın zaten kullandığı aynı kısa süreli Dreaming deposuna aşamalandırılır. Bunun anlamı:

  • DREAMS.md insan inceleme yüzeyi olarak kalır.
  • kısa süreli depo makineye dönük sıralama yüzeyi olarak kalır.
  • MEMORY.md hâlâ yalnızca derin yükseltme tarafından yazılır.

Yeniden oynatmanın yararlı olmadığına karar verirseniz, sıradan günlük girdilerine veya normal geri çağırma durumuna dokunmadan aşamalandırılmış artifaktları kaldırabilirsiniz:

bash
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-term

CLI

bash
openclaw memory status          # Check index status and provideropenclaw memory search "query"  # Search from the command lineopenclaw memory index --force   # Rebuild the index

Daha fazla okuma

İlgili

Was this useful?
On this page

On this page