Memori
Harness secara otomatis mempertahankan status percakapan di AgentCore Memori. Pada setiap pemanggilan, percakapan disimpan, dicakup oleh ID sesi (dan juga oleh ID aktor, jika disediakan). Pada pemanggilan berikutnya dengan ID sesi yang sama, riwayat agen dimuat dari Memori sebelum alasan - ia mengingat apa yang terjadi pada giliran sebelumnya, bahkan setelah sesi microVM yang mendasarinya telah kedaluwarsa. Anda tidak perlu menyampaikan pesan sebelumnya sendiri, cukup kirim pesan baru.
Bagaimana memori bekerja
-
Short-term memori menangkap peristiwa mentah (pesan, panggilan alat) dalam sesi. Inilah yang memberikan kontinuitas agen secara bergantian.
-
Long-term memori mengekstrak pengetahuan yang tahan lama melalui strategi yang dapat dikonfigurasi (semantik, ringkasan, preferensi pengguna, episodik, atau kustom) dan membuatnya dapat diambil melalui pencarian semantik di sesi selanjutnya.
-
Actor ID mengidentifikasi entitas yang berinteraksi dengan agen (pengguna, agen lain, atau sistem). Peristiwa memori dicakup oleh ActorId+SessionID, sehingga setiap aktor memiliki memori yang terisolasi. Long-term retrieval menggunakan ActorID sebagai variabel template di jalur namespace (misalnya
/summary/{actorId}/{sessionId}/), pemetaan ke strategi memori yang dikonfigurasi.
Memori terkelola (default)
Secara default, harness menyediakan instance AgentCore Memori secara otomatis dengan default yang masuk akal (strategi ringkasan semantik +, kedaluwarsa acara 30 hari). Anda tidak perlu membuat atau mengonfigurasi apa pun - memori hanya berfungsi.
Untuk menyesuaikan memori terkelola pada waktu pembuatan:
contoh
Memori yang dikelola sepenuhnya dikelola oleh harness:
-
Konfigurasi strategi dikendalikan melalui
UpdateHarness. Anda masih dapat read/write peristiwa dan catatan kueri langsung melalui API Memori. -
Memori terkelola tidak dapat dihapus secara langsung melalui API Memori. Untuk mengubah memori terkelola menjadi sumber daya AgentCore memori biasa, Anda dapat memisahkannya dari harness dengan dua cara:
-
Gunakan
UpdateHarnessuntuk beralih ke BYO (agentCoreMemoryConfiguration) atau dinonaktifkan. -
deleteManagedMemory=falseTeruskan penghapusan untuk memisahkan sebagai gantinya -DeleteHarnesscascade-menghapus memori yang dikelola secara default.
-
Strategi yang tersedia
| Strategi | Deskripsi |
|---|---|
|
|
Mengekstrak pengetahuan faktual dari percakapan, dapat diambil melalui pencarian semantik. |
|
|
Membuat ringkasan percakapan yang berjalan, dicakup oleh aktor dan sesi. |
|
|
Menangkap preferensi dan pengaturan pengguna yang diungkapkan selama percakapan. |
|
|
Merekam peristiwa dan pengalaman penting sebagai episode terpisah. |
Tambahkan memori yang ada (BYO)
contoh
Nonaktifkan memori
Untuk menonaktifkan memori sepenuhnya:
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"disabled": {}}}'
Per-user pelingkupan memori dengan ID aktor
Lulus actorId pada waktu pemanggilan ke memori cakupan ke pengguna tertentu. Setiap aktor mendapatkan memori jangka pendek dan jangka panjang yang terisolasi:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, actorId="user-123", messages=[{"role": "user", "content": [{"text": "What do you remember about my preferences?"}]}], )
Long-term pengambilan memori
Ketika harness memiliki strategi memori aktif (dikelola atau BYO), pengambilan bekerja secara otomatis - harness memperoleh konfigurasi pengambilan dari strategi aktif instance Memori. Pada setiap doa, agen menanyakan ingatan jangka panjang yang relevan dan menyuntikkannya ke dalam konteks percakapan sebelum beralasan.
Perilaku default:
-
Pengambilan dikonfigurasi secara otomatis dengan parameter default (
topK=10,relevanceScore=0.2) untuk setiap namespace strategi aktif. -
Tidak diperlukan konfigurasi manual untuk memori terkelola atau BYO.
Ganti default: Jika Anda secara eksplisit memberikan a retrievalConfig dalam konfigurasi memori BYO, nilai Anda diprioritaskan dan tidak ada derivasi otomatis yang terjadi. Ini memungkinkan Anda menyesuaikan ruang nama mana yang ditanyakan, menyesuaikan topK ataurelevanceScore, atau menonaktifkan pengambilan untuk strategi tertentu.
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"agentCoreMemoryConfiguration": {"arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:memory/MyMemory-abc123", "retrievalConfig": {"/facts/{actorId}/": {"topK": 5, "relevanceScore": 0.5, "strategyId": "FactExtractor-abc123"}}}}}'
penting
Jika Anda memperbarui strategi instans BYO Memory (menambah atau menghapus) setelah melampirkannya ke harness, panggil UpdateHarness untuk menyegarkan konfigurasi pengambilan. Untuk memori terkelola, strategi berubah melalui UpdateHarness penyegaran konfigurasi secara otomatis.
Pemotongan konteks
Ketika riwayat percakapan tumbuh di luar jendela konteks model, harness menerapkan strategi pemotongan. Konfigurasikan ini pada harness atau override per pemanggilan.
-
sliding_window(default) - menyimpan pesan N terbaru. Sederhana dan dapat diprediksi. -
summarization- mengompres pesan lama ke dalam ringkasan, mempertahankan lebih banyak konteks dalam token yang lebih sedikit. -
none- tidak ada pemotongan. Gunakan hanya jika Anda mengelola ukuran konteks sendiri.
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --truncation '{"strategy": "sliding_window", "slidingWindowConfig": {"numMessages": 30}}'
Pelajari lebih lanjut: AgentCore Memori, membuat penyimpanan memori, strategi memori jangka panjang.
Topik terkait
-
Model dan instruksi- Konfigurasikan model dan prompt sistem
-
Lingkungan dan sistem file- lingkungan, sistem file, dan wadah khusus
-
Keterampilan- melampirkan keterampilan dari Git, S3, atau AWS Keterampilan
-
Kontrol keamanan dan akses- kebijakan peran eksekusi untuk akses memori