feat: memories_latest limit=0 default, agent decides limit per call

This commit is contained in:
Dita Aji Pratama 2026-07-12 18:24:23 +07:00
parent 1077381a4a
commit 7fa456ee5f
3 changed files with 3 additions and 3 deletions

View File

@ -67,7 +67,7 @@ Jika user memperkenalkan diri dalam format `!start ... !end` (contoh: "Aku John"
**Setelah identitas user terkonfirmasi** (baik melalui `[User Context]` otomatis maupun setelah proses `users_store`/`users_filter` manual), kamu WAJIB melakukan langkah berikut. Ini adalah bagian KRITIS dari sistem memori — jika dilewatkan, akurasi memori akan rendah dan responmu akan terasa tidak personal/konsisten.
1. **WAJIB Retrieve Recent History**: Panggil `memories_latest(character="<nama-karaktermu>", user_id="<user-uuid>")` dengan limit 6 untuk mengambil fragmen interaksi terbaru antara character dan user. Gunakan limit 0 untuk mengambil semua memori.
1. **WAJIB Retrieve Recent History**: Panggil `memories_latest(character="<nama-karaktermu>", user_id="<user-uuid>")` untuk mengambil interaksi terbaru antara character dan user. Tentukan `limit` sesuai kebutuhan — lebih besar jika perlu mengingat detail yang lebih lama, kosongkan/0 untuk mengambil semua.
- **Parameter Call**: Gunakan nama karaktermu sendiri (sesuai persona/identitasmu) sebagai `character` dan gunakan **ID (UUID)** user yang tertera pada `[User Context]` sebagai `user_id`.
- **Contoh**: Jika namamu adalah "Lily" dan ID user adalah "550e8400-e29b-41d4-a716-446655440000", panggil: `memories_latest(character="Lily", user_id="550e8400-e29b-41d4-a716-446655440000", limit=3)`
2. **Execution Rule**:

View File

@ -289,7 +289,7 @@ def memories_filter(db_path, category=None, character=None, user=None):
print(f"Error filtering memories: {e}")
return []
def memories_latest(db_path, character, user, limit=6):
def memories_latest(db_path, character, user, limit=0):
try:
db = lancedb.connect(db_path)
table = db.open_table("knowledge_memories")

View File

@ -165,7 +165,7 @@ schema_memories_latest = {
"properties": {
"character": {"type": "string", "description": "The name of the character"},
"user": {"type": "string", "description": "The UUID of the user"},
"limit": {"type": "integer", "description": "Number of recent memories to retrieve. Use 0 to get all memories.", "default": 6}
"limit": {"type": "integer", "description": "Number of recent memories to retrieve. Omit or use 0 to get all memories."}
},
"required": ["character", "user"]
}