Skip to main content

Dreaming (eksperimental)

Dreaming adalah proses konsolidasi memori latar belakang di memory-core. Disebut “dreaming” karena sistem meninjau kembali apa yang muncul sepanjang hari dan memutuskan apa yang layak disimpan sebagai konteks yang tahan lama. Dreaming bersifat eksperimental, opt-in, dan nonaktif secara default.

Apa yang dilakukan dreaming

  1. Melacak peristiwa recall jangka pendek dari hasil memory_search di memory/YYYY-MM-DD.md.
  2. Memberi skor pada kandidat recall tersebut dengan sinyal berbobot.
  3. Mempromosikan hanya kandidat yang memenuhi syarat ke MEMORY.md.
Ini menjaga agar memori jangka panjang tetap berfokus pada konteks yang tahan lama dan berulang, bukan detail sekali pakai.

Sinyal promosi

Dreaming menggabungkan empat sinyal:
  • Frekuensi: seberapa sering kandidat yang sama dipanggil kembali.
  • Relevansi: seberapa kuat skor recall saat diambil.
  • Keberagaman kueri: berapa banyak intent kueri berbeda yang memunculkannya.
  • Keterkinian: pembobotan temporal atas recall terbaru.
Promosi mengharuskan semua gerbang ambang yang dikonfigurasi lolos, bukan hanya satu sinyal.

Bobot sinyal

SinyalBobotDeskripsi
Frekuensi0.35Seberapa sering entri yang sama dipanggil ulang
Relevansi0.35Rata-rata skor recall saat diambil
Keberagaman0.15Jumlah intent kueri berbeda yang memunculkannya
Keterkinian0.15Peluruhan temporal (paruh waktu 14 hari)

Cara kerjanya

  1. Pelacakan recall — Setiap hasil memory_search dicatat ke memory/.dreams/short-term-recall.json dengan jumlah recall, skor, dan hash kueri.
  2. Penskoran terjadwal — Pada irama yang dikonfigurasi, kandidat diperingkat menggunakan sinyal berbobot. Semua gerbang ambang harus lolos secara bersamaan.
  3. Promosi — Entri yang memenuhi syarat ditambahkan ke MEMORY.md dengan stempel waktu promosi.
  4. Pembersihan — Entri yang sudah dipromosikan difilter dari siklus berikutnya. Kunci file mencegah eksekusi bersamaan.

Mode

dreaming.mode mengontrol irama dan ambang default:
ModeIramaminScoreminRecallCountminUniqueQueries
offDinonaktifkan
coreSetiap hari 3 pagi0.7532
remSetiap 6 jam0.8543
deepSetiap 12 jam0.8033

Model penjadwalan

Saat dreaming diaktifkan, memory-core mengelola jadwal berulang secara otomatis. Anda tidak perlu membuat pekerjaan cron secara manual untuk fitur ini. Anda tetap dapat menyetel perilaku dengan override eksplisit seperti:
  • dreaming.frequency (ekspresi cron)
  • dreaming.timezone
  • dreaming.limit
  • dreaming.minScore
  • dreaming.minRecallCount
  • dreaming.minUniqueQueries

Konfigurasi

{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "mode": "core"
          }
        }
      }
    }
  }
}

Perintah chat

Ganti mode dan periksa status dari chat:
/dreaming core          # Beralih ke mode core (setiap malam)
/dreaming rem           # Beralih ke mode rem (setiap 6 jam)
/dreaming deep          # Beralih ke mode deep (setiap 12 jam)
/dreaming off           # Nonaktifkan dreaming
/dreaming status        # Tampilkan konfigurasi dan irama saat ini
/dreaming help          # Tampilkan panduan mode

Perintah CLI

Pratinjau dan terapkan promosi dari baris perintah:
# Pratinjau kandidat promosi
openclaw memory promote

# Terapkan promosi ke MEMORY.md
openclaw memory promote --apply

# Batasi jumlah pratinjau
openclaw memory promote --limit 5

# Sertakan entri yang sudah dipromosikan
openclaw memory promote --include-promoted

# Periksa status dreaming
openclaw memory status --deep
Lihat CLI memori untuk referensi flag lengkap.

UI Dreams

Saat dreaming diaktifkan, sidebar Gateway menampilkan tab Dreams dengan statistik memori (jumlah jangka pendek, jumlah jangka panjang, jumlah yang dipromosikan) dan waktu siklus terjadwal berikutnya.

Bacaan lanjutan