Sessions and memory

Ikhtisar memori

OpenClaw mengingat berbagai hal dengan menulis file Markdown biasa di workspace agen Anda (bawaan ~/.openclaw/workspace). Model hanya mengingat hal yang disimpan ke disk; tidak ada status tersembunyi.

Cara kerjanya

Agen Anda memiliki tiga file terkait memori:

  • MEMORY.md — memori jangka panjang. Fakta, preferensi, dan keputusan yang bertahan lama. Dimuat pada awal sesi.
  • memory/YYYY-MM-DD.md (atau memory/YYYY-MM-DD-<slug>.md) — catatan harian. Konteks berjalan dan pengamatan. Catatan bertanggal hari ini dan kemarin dimuat secara otomatis pada /new atau /reset tanpa argumen; varian dengan slug, seperti yang ditulis oleh hook memori sesi bawaan, turut dimuat bersama file yang hanya menggunakan tanggal.
  • DREAMS.md (opsional) — Buku Harian Mimpi dan ringkasan penyisiran dreaming untuk ditinjau manusia, termasuk entri pengisian balik historis yang berlandaskan bukti.

Penempatan informasi

MEMORY.md adalah lapisan ringkas yang dikurasi: fakta yang bertahan lama, preferensi, keputusan tetap, dan ringkasan singkat yang harus tersedia pada awal sesi. File ini bukan transkrip mentah, log harian, atau arsip lengkap.

File memory/YYYY-MM-DD.md adalah lapisan kerja: catatan harian terperinci, pengamatan, ringkasan sesi, dan konteks mentah yang mungkin masih berguna nantinya. File-file ini diindeks untuk memory_search dan memory_get, tetapi tidak disisipkan ke prompt bootstrap pada setiap giliran.

Seiring waktu, agen menyaring materi yang berguna dari catatan harian ke dalam MEMORY.md dan menghapus entri jangka panjang yang sudah tidak relevan. Instruksi workspace yang dihasilkan dan alur heartbeat melakukan hal ini secara berkala; Anda tidak perlu mengedit MEMORY.md secara manual untuk setiap detail.

Jika MEMORY.md melampaui anggaran file bootstrap, OpenClaw mempertahankan file di disk secara utuh, tetapi memotong salinan yang disisipkan ke dalam konteks. Anggap hal itu sebagai sinyal untuk memindahkan materi terperinci ke memory/*.md, hanya menyimpan ringkasan yang bertahan lama di MEMORY.md, atau menaikkan batas bootstrap jika Anda ingin menggunakan lebih banyak anggaran prompt. Gunakan /context list, /context detail, atau openclaw doctor untuk melihat ukuran mentah dibandingkan ukuran yang disisipkan serta status pemotongan.

Memori yang sensitif terhadap tindakan

Sebagian besar memori adalah catatan Markdown biasa. Beberapa memengaruhi tindakan yang harus dilakukan agen nantinya; untuk memori tersebut, catat kapan informasi dalam catatan itu aman untuk ditindaklanjuti, bukan hanya faktanya.

Catat batas tindakan tersebut saat sebuah catatan melibatkan:

  • persyaratan persetujuan atau izin,
  • batasan sementara,
  • penyerahan kepada sesi, utas, atau orang lain,
  • kondisi kedaluwarsa,
  • waktu yang aman untuk bertindak,
  • kewenangan sumber atau pemilik,
  • instruksi untuk menghindari tindakan yang tampak menggiurkan.

Memori sensitif tindakan yang berguna menjelaskan:

  • hal yang mengubah perilaku mendatang,
  • kapan atau dalam kondisi apa hal itu berlaku,
  • kapan hal itu kedaluwarsa, atau apa yang mengizinkan tindakan,
  • tindakan yang harus dihindari agen,
  • siapa sumber atau pemiliknya, jika hal itu memengaruhi kepercayaan atau kewenangan.

Memori dapat mempertahankan konteks persetujuan, tetapi tidak memberlakukan kebijakan. Gunakan pengaturan persetujuan OpenClaw, sandboxing, dan tugas terjadwal untuk kontrol operasional yang ketat.

Contoh:

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

Contoh lain:

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

Ini bukan skema wajib untuk setiap memori; fakta sederhana dapat tetap ringkas. Gunakan batas sensitif tindakan ketika hilangnya konteks waktu, kewenangan, kedaluwarsa, atau keamanan untuk bertindak dapat menyebabkan agen melakukan tindakan yang salah nantinya.

Gunakan komitmen untuk tindak lanjut berumur pendek yang disimpulkan. Gunakan tugas terjadwal untuk pengingat tepat waktu, pemeriksaan terjadwal, dan pekerjaan berulang. Memori tetap dapat merangkum konteks yang bertahan lama di sekitar kedua jalur tersebut.

Komitmen yang disimpulkan

Beberapa tindak lanjut mendatang bukanlah fakta yang bertahan lama. Jika Anda menyebutkan wawancara besok, memori yang berguna mungkin berupa "tanyakan kabar setelah wawancara", bukan "simpan ini selamanya di MEMORY.md."

Komitmen adalah memori tindak lanjut opsional dan berumur pendek untuk kasus tersebut. OpenClaw menyimpulkannya melalui proses latar belakang tersembunyi, membatasi cakupannya pada agen dan saluran yang sama, serta mengirimkan tindak lanjut yang jatuh tempo melalui heartbeat. Pengingat eksplisit tetap menggunakan tugas terjadwal.

Alat memori

Agen memiliki dua alat untuk bekerja dengan memori:

  • memory_search — menemukan catatan yang relevan menggunakan pencarian semantik, bahkan ketika susunan katanya berbeda dari aslinya.
  • memory_get — membaca file memori atau rentang baris tertentu.

Kedua alat disediakan oleh Plugin memori aktif (bawaan: memory-core).

Pencarian memori

Saat penyedia embedding dikonfigurasi, memory_search menggunakan pencarian hibrida: kemiripan vektor (makna semantik) yang digabungkan dengan pencocokan kata kunci (istilah persis seperti ID dan simbol kode). Fitur ini langsung berfungsi dengan kunci API untuk penyedia mana pun yang didukung.

Lihat Pencarian memori untuk mengetahui cara kerja pencarian, opsi penyesuaian, dan penyiapan penyedia.

Backend memori

Lapisan wiki pengetahuan

Jika Anda ingin memori yang bertahan lama berfungsi lebih seperti basis pengetahuan yang dipelihara daripada catatan mentah, gunakan Plugin memory-wiki bawaan. Plugin ini mengompilasi pengetahuan yang bertahan lama menjadi vault wiki dengan struktur halaman deterministik, klaim dan bukti terstruktur, pelacakan kontradiksi dan kebaruan, dasbor yang dihasilkan, ringkasan terkompilasi, serta alat bawaan wiki (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint).

memory-wiki tidak menggantikan Plugin memori aktif; Plugin memori aktif tetap mengelola pemanggilan kembali, promosi, dan dreaming. memory-wiki menambahkan lapisan pengetahuan yang kaya akan asal-usul di sampingnya.

Pengosongan memori otomatis

Sebelum Compaction meringkas percakapan Anda, OpenClaw menjalankan giliran senyap yang mengingatkan agen untuk menyimpan konteks penting ke file memori. Fitur ini aktif secara bawaan; atur agents.defaults.compaction.memoryFlush.enabled: false untuk menonaktifkannya.

Untuk mempertahankan giliran pemeliharaan tersebut pada model lokal, tetapkan penggantian persis yang hanya berlaku untuk giliran pengosongan memori (pengaturan ini tidak mewarisi rantai fallback model sesi aktif):

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

Dreaming

Dreaming adalah proses konsolidasi latar belakang opsional untuk memori. Proses ini mengumpulkan sinyal pemanggilan kembali jangka pendek, memberi skor pada kandidat, dan hanya mempromosikan item yang memenuhi syarat ke memori jangka panjang (MEMORY.md):

  • Opsional: dinonaktifkan secara bawaan.
  • Terjadwal: saat diaktifkan, memory-core secara otomatis mengelola satu pekerjaan Cron berulang untuk penyisiran dreaming penuh.
  • Berambang batas: promosi harus melewati gerbang skor, frekuensi pemanggilan kembali, dan keragaman kueri.
  • Dapat ditinjau: ringkasan fase dan entri buku harian ditulis ke DREAMS.md untuk ditinjau manusia.

Lihat Dreaming untuk perilaku fase, sinyal penilaian, dan detail Buku Harian Mimpi.

Pengisian balik berlandaskan bukti dan promosi langsung

Sistem dreaming memiliki dua jalur peninjauan yang berkaitan:

  • Dreaming langsung bekerja dari penyimpanan dreaming jangka pendek di memory/.dreams/ dan digunakan oleh fase mendalam normal untuk menentukan hal yang dipromosikan ke MEMORY.md.
  • Pengisian balik berlandaskan bukti membaca catatan historis memory/YYYY-MM-DD.md sebagai file harian mandiri dan menulis keluaran peninjauan terstruktur ke DREAMS.md.

Pengisian balik berlandaskan bukti berguna untuk memutar ulang catatan lama dan memeriksa hal yang dianggap sistem layak bertahan lama, tanpa mengedit MEMORY.md secara manual.

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

Flag --stage-short-term menempatkan kandidat yang bertahan lama dan berlandaskan bukti ke penyimpanan dreaming jangka pendek yang sama dengan yang telah digunakan oleh fase mendalam normal; flag ini tidak mempromosikannya secara langsung. Dengan demikian:

  • DREAMS.md tetap menjadi permukaan peninjauan manusia.
  • Penyimpanan jangka pendek tetap menjadi permukaan pemeringkatan untuk mesin.
  • MEMORY.md tetap hanya ditulis oleh promosi mendalam.

Untuk membatalkan pemutaran ulang tanpa menyentuh entri buku harian biasa atau status pemanggilan kembali normal:

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

Bacaan lebih lanjut

Was this useful?
On this page

On this page