# Model Memori SUMMARY: Bagaimana memori terstruktur — kategori, key, tag, prioritas, sumber, verifikasi. Model Memori Model memori Synapse dirancang untuk agen LLM — cukup terstruktur untuk recall yang andal, cukup fleksibel untuk domain apa pun. Anatomi Memori [CODE BLOCK] Field | Field | Tipe | Wajib | Deskripsi | |-------|------|----------|-------------| | | string | otomatis | ID unik (memxxx) | | | enum | ✅ | Salah satu dari 8 kategori | | | string | ✅ | Identifier stabil (digunakan untuk pembaruan) | | | string | ✅ | Konten memori (teks apa pun) | | | string[] | – | Untuk pencarian dan pemfilteran | | | enum | – | low, normal, high, critical (default: normal) | | | enum | otomatis | user, agent (siapa yang menyimpan) | | | bool | otomatis | Apakah manusia telah memverifikasi ini? | | | float | – | 0.0 hingga 1.0 (default: 1.0 untuk user, 0.7 untuk agent) | | | timestamp | – | Kapan harus melupakan memori ini | | | string | otomatis | Mind mana yang memilikinya | | | timestamp | otomatis | Pertama disimpan | | | timestamp | otomatis | Terakhir dimodifikasi | Kategori Delapan kategori mencakup kasus penggunaan agen LLM umum: | Kategori | Tujuan | Contoh Konten | |----------|---------|-----------------| | | Siapa pengguna | "User is Michael Schäfer, software engineer in Berlin" | | | Preferensi pengguna | "Prefers concise technical responses" | | | Fakta yang dapat diverifikasi | "Office is in Berlin, timezone Europe/Berlin" | | | Status proyek | "Synapse v1.5.0 deployed, working on v1.6.0 docs" | | | Keahlian pengguna | "Advanced Python, 10+ years" | | | Error masa lalu | "Forgot to bump npm version — CI failed" | | | Konteks sesi | "Currently reviewing PR #42" | | | Catatan lain-lain | "Try Redis for caching next sprint" | Key: Identifier Stabil Field sangat penting — ini adalah cara Anda memperbarui memori tanpa membuat duplikat. [CODE BLOCK] Aturan key: - Harus unik dalam (category, mind) - Gunakan - Awali dengan kategori untuk kejelasan: , - Tetap stabil — jangan mengubah key setelah dibuat Tag: Untuk Pencarian Tag memungkinkan pemfilteran dan pencarian cepat: [CODE BLOCK] Praktik terbaik tag: - 2-5 tag per memori (jangan terlalu banyak tag) - Huruf kecil untuk konsistensi - Gunakan nama proyek, topik, teknologi - Tag tidak case-sensitive Level Prioritas | Prioritas | Kapan Menggunakan | Perilaku Recall | |----------|-------------|-----------------| | | Identitas, hukum, ireversibel | Selalu di atas recall | | | Proyek aktif, preferensi utama | Menonjol dalam recall | | | Sebagian besar memori (default) | Urutan recall standar | | | Efemeral, bagus untuk diketahui | Mungkin diringkas | mengurutkan berdasarkan prioritas (critical pertama), lalu berdasarkan kebaruan. Source: User vs Agent Memori ditandai dengan : - — disimpan oleh manusia (melalui JWT atau UI manusia) - — disimpan oleh agen LLM (melalui Mind Key) Ini memengaruhi: - Verifikasi: memori otomatis terverifikasi, memori tidak - Confidence: default 1.0, 0.7 - Recall: menandai memori yang belum terverifikasi dengan "(unverified)" > [!NOTE] > Perlakukan memori sumber dengan skeptisisme yang sesuai. Mereka mungkin > disimpulkan atau diasumsikan daripada dinyatakan langsung oleh pengguna. Verifikasi Flag menunjukkan manusia telah mengonfirmasi memori: - Memori : otomatis terverifikasi () - Memori : default belum terverifikasi () Verifikasi memori melalui: [CODE BLOCK] > [!NOTE] > Verifikasi memerlukan JWT (autentikasi manusia), bukan Mind Key (autentikasi > agen). Ini memastikan hanya manusia yang dapat menandai memori sebagai terverifikasi. Confidence Field (0.0 hingga 1.0) menunjukkan seberapa andal memori tersebut: - 1.0 — dinyatakan langsung oleh pengguna - 0.7 — disimpulkan oleh agen - 0.5 — tidak pasti, perlu verifikasi - 0.0 — secara eksplisit diragukan Tetapkan confidence saat menyimpan: [CODE BLOCK] Kedaluwarsa Tetapkan untuk memori yang sensitif terhadap waktu: [CODE BLOCK] Memori kedaluwarsa tidak dikembalikan oleh (tetapi masih ada di DB). Gunakan untuk melihat memori yang akan segera kedaluwarsa. Siklus Hidup Memori [CODE BLOCK] Perilaku Recall mengembalikan ringkasan teks polos yang dioptimalkan untuk konteks LLM: [CODE BLOCK] - Diurutkan berdasarkan prioritas (critical → low), lalu berdasarkan kebaruan - Memori yang belum terverifikasi ditandai dengan - Tag disertakan untuk konteks - Teks polos (tidak perlu parsing JSON) Langkah Berikutnya - Memory API - Praktik Terbaik Memori - Pencarian FTS5