Topik ini merangkum kuota dan batasan untuk MemoryStore, mencakup wilayah, memory store, operasi penulisan dan pengambilan, Scope, versi SDK, serta plugin agen.
Region
Layanan ini saat ini hanya tersedia di wilayah China (Beijing).
Batasan memory store
Item | Batas |
Karakter nama memory store | Hanya boleh berisi huruf, angka, dan garis bawah (_). |
Panjang nama memory store | Maksimal 32 karakter |
Panjang deskripsi memory store | Maksimal 1.024 karakter |
Setelah Anda membuat memory store, indeks memerlukan waktu sekitar satu menit untuk diinisialisasi. Lakukan operasi penulisan dan pengambilan hanya setelah indeks diinisialisasi.
Batasan AddMemories
Item | Batas |
Jumlah | Maksimal 20 |
Total panjang konten | Maksimal 32.000 karakter |
Panjang | Maksimal 32.000 karakter |
Panjang | Maksimal 256 karakter |
Jumlah kunci dalam | Maksimal 16 |
Panjang kunci dalam | Maksimal 64 karakter |
Panjang nilai dalam | Maksimal 1.024 karakter |
Anda harus menyediakan setidaknya salah satu dari messages atau text. Saat menulis ke memori, Scope tidak mengizinkan karakter wildcard *.
Nilai default SearchMemories
Parameter | Default | Deskripsi |
|
| Jumlah hasil yang dikembalikan. Rentang nilai yang valid adalah |
|
| Menentukan apakah Rerank diaktifkan. |
Untuk mengambil memori jangka panjang, appId dan tenantId wajib disediakan. Anda dapat menggunakan wildcard * untuk agentId dan runId.
Aturan Scope
Aksi | Persyaratan Lingkup | Wildcard ( |
Write memory |
| Tidak |
Retrieve long-term memory |
| Ya, untuk |
Query short-term memory | Keempat level Scope wajib disediakan. | Tidak |
Get a single long-term memory | Keempat level Scope wajib disediakan. | Tidak |
Update a single long-term memory | Keempat level Scope wajib disediakan. | Tidak |
Delete a single long-term memory | Keempat level Scope wajib disediakan. | Tidak |
List long-term memories | Anda dapat menentukan Scope berdasarkan level. | Ya |
Query request audits | Anda dapat menentukan Scope berdasarkan level. | Ya |
Wildcard harus digunakan secara hierarkis. Jika Anda menggunakan wildcard * pada suatu level, semua level berikutnya juga harus menggunakan * atau dibiarkan kosong. Contohnya, app-001/user-001/*/* merupakan Scope yang valid, tetapi app-001/*/agent-001/* tidak valid.
Visibilitas penulisan asinkron
Nilai default AddMemories.sync adalah false, yang menunjukkan penulisan asinkron. Visibilitas penulisan asinkron adalah sebagai berikut:
Pesan mentah ditulis terlebih dahulu dan langsung tersedia untuk kueri memori jangka pendek.
Ekstraksi memori jangka panjang dijalankan di latar belakang.
Setelah operasi penulisan selesai, memori jangka panjang dapat dipanggil melalui
SearchMemoriesdalam waktu sekitar 15 detik.
Jika Anda perlu melihat hasil ekstraksi segera setelah penulisan dalam skenario pengujian, atur sync ke true. Setelah penulisan sinkron selesai, pengambilan memori jangka panjang tetap tunduk pada penundaan refresh indeks singkat.
Kueri memori jangka pendek
Operasi ListMemoryStoreMessages mengkueri pesan sesi asli. Anda harus menentukan keempat level Scope: appId, tenantId, agentId, dan runId. Wildcard tidak didukung.
Kasus penggunaan:
Menampilkan pesan sesi mentah.
Memutar ulang sesi tertentu.
Memecahkan masalah ekstraksi memori jangka panjang.
Perilaku paginasi CLI
Perintah list CLI hanya mengembalikan satu halaman hasil dan tidak melakukan paginasi secara otomatis. Untuk mengambil halaman berikutnya, gunakan nextToken dari respons.
Contoh:
tablestore-agent-cli memory list-units \
--store agent_memory \
--app-id app-001 \
--next-token <token>Pembuatan instans otomatis CLI
Jika ots_endpoint dan ots_instance_name tidak dikonfigurasi, CLI secara otomatis membuat dan menggunakan kembali instans Tablestore terkelola di wilayah China North 2 (Beijing) saat Anda menjalankan perintah doctor atau melakukan operasi lainnya. Pembuatan otomatis memerlukan waktu, dan hasilnya ditulis ke file konfigurasi lokal.
Jika Anda kemudian mengonfigurasi endpoint dan nama instans secara manual, CLI akan menggunakan instans tersebut.
Versi SDK
SDK | Persyaratan versi |
Python SDK |
|
Node.js SDK |
|
CLI |
|
Plugin agen
Secara default, plugin Hermes dan OpenClaw menggunakan cakupan lintas-agen dan lintas-sesi untuk pengambilan dalam penyewa saat ini, yaitu agentId=* dan runId=*. Jika aplikasi Anda tidak mengizinkan berbagi memori lintas-agen atau lintas-sesi, Anda dapat mengontrol cakupan pengambilan dengan menggunakan SDK atau menyesuaikan konfigurasi plugin.