View a markdown version of this page

Memori - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memori

Ketika memori diaktifkan, harness mempertahankan status percakapan di AgentCore Memori. Pada pemanggilan berikutnya dengan ID sesi yang sama, agen memuat riwayat yang disimpan sebelum alasan.

Bagaimana memori bekerja

  • Short-term memori menangkap peristiwa mentah (pesan, panggilan alat) dalam sesi. Inilah yang memberikan kontinuitas agen di seluruh belokan.

  • Long-term memori meng ekstrak 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 pengambilan menggunakan ActoRid sebagai variabel template di jalur namespace (mis./summary/{actorId}/{sessionId}/), memetakan ke strategi memori yang dikonfigurasi.

Memori terkelola

Saat Anda membuat harness secara langsung dengan API layanan dan menghilangkan konfigurasi memori, layanan menyediakan memori terkelola. AgentCore CLI menggunakan default yang berbeda: harness CLI baru memiliki memori yang dinonaktifkan kecuali Anda memilih memori terkelola atau sumber daya memori yang ada.

Biaya memori

Tidak ada biaya tambahan untuk harness itu sendiri. Memori Terkelola dikenakan biaya AgentCore Memori standar untuk peristiwa jangka pendek, catatan memori jangka panjang yang disimpan, dan permintaan pengambilan. Untuk menghindari biaya Memori yang terus-menerus, nonaktifkan Memori saat Anda membuat harness. Untuk informasi lebih lanjut, lihat Memahami biaya harness dan AgentCore harga https://aws.amazon.com/bedrock/agentcore/pricing/ Amazon Bedrock.

Untuk menyesuaikan memori terkelola pada waktu pembuatan:

contoh
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "arn:aws:iam::123456789012:role/MyHarnessRole" \ --memory '{"managedMemoryConfiguration": {"strategies": ["SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE"], "eventExpiryDuration": 60}}'

Untuk memperbarui strategi pada harness yang ada:

aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"managedMemoryConfiguration": {"strategies": ["SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE", "EPISODIC"]}}}'
AgentCore CLI

Buat proyek kosong, lalu tambahkan harness dengan memori terkelola:

agentcore create --project-name MyHarnessProject --no-agent cd MyHarnessProject agentcore add harness \ --name myagent \ --memory-mode managed \ --memory-strategies SEMANTIC,SUMMARIZATION \ --memory-event-expiry-days 30 agentcore deploy

Memori dinonaktifkan secara default. Untuk membuat harness tanpa memori, jalankan perintah berikut alih-alih agentcore add harness perintah sebelumnya:

agentcore add harness --name myagent --no-memory
Interactive

J agentcore alankan di direktori proyek, pilih tambah, lalu pilih Harness. Wizard menyertakan langkah memori.

  1. Pada langkah Memori, pilih Tidak ada memori persist en atau Diaktifkan untuk membuat memori persisten untuk harness.

    Langkah memori: Tidak ada memori persisten atau Diaktifkan
  2. Saat memori di aktifkan, opsi penyetelan memori tambahan muncul di Pengaturan lanjutan. Aktifkan dengan Sp asi dan tekan Enter untuk menyetel pengambilan.

    Pengaturan lanjutan: Opsi penyetelan memori
  3. Secara opsional mengatur jumlah pesan, pengambilan K teratas, dan skor relevansi (masing-masing dapat dilewati).

    Penyetelan memori: jumlah pesan, K teratas, skor relevansi

Konfirmasikan wizard, lalu jalankan agentcore deploy untuk menerapkan.

Memori yang dikelola sepenuhnya dikelola oleh harness:

  • Konfigurasi strategi dikendalikan melaluiUpdateHarness. Anda masih dapat melakukan read/write peristiwa dan kueri rekaman secara 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 UpdateHarness untuk beralih ke BYO (agentCoreMemoryConfiguration) atau dinonaktifkan.

    • Berikan deleteManagedMemory=false penghapusan untuk memutuskan hubungan sebagai gantinya - menghapus secara DeleteHarness cascade-menghapus memori yang dikelola secara default.

Strategi yang tersedia

Strategi Deskripsi

SEMANTIC

Mengekstrak pengetahuan faktual dari percakapan, dapat diambil melalui pencarian semantik.

SUMMARIZATION

Membuat ringkasan percakapan yang berjalan, dicakup oleh aktor dan sesi.

USER_PREFERENCE

Menangkap preferensi dan pengaturan pengguna yang diekspresikan selama percakapan.

EPISODIC

Merekam peristiwa dan pengalaman penting sebagai episode terpisah.

Tambahkan memori yang ada (BYO)

Jika Anda memerlukan konfigurasi lanjutan di luar apa yang disediakan memori terkelola - templat namespace khusus, enkripsi KMS, atau memori bersama di beberapa harness - lampirkan instance Memori yang ada sebagai gantinya AgentCore .

contoh
AWS CLI/boto3

Buat instance memori:

aws bedrock-agentcore-control create-memory \ --name "MyMemory" \ --event-expiry-duration 30 \ --description "Memory for my harness"

Pasang ke harness:

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"}}}'
AgentCore CLI
agentcore create --project-name MyHarnessProject --no-agent cd MyHarnessProject agentcore add harness --name myagent \ --memory-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:memory/MyMemory-abc123" agentcore deploy

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

Lewati actorId pada waktu pemanggilan untuk ruang lingkup memori 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 pemanggilan, agen menanyakan ingatan jangka panjang yang relevan dan menyuntikkannya ke dalam konteks percakapan sebelum bernalar.

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 akan 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 Memori BYO Anda (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 melampaui jendela konteks model, harness menerapkan strategi pemotongan. Konfigurasikan ini pada harness atau ganti per pemanggilan.

  • sliding_window(default) - menyimpan pesan N terbaru. Sederhana dan dapat diprediksi.

  • summarization- memampatkan pesan lama menjadi 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 Mem ori, membuat penyimpanan memori, strategi memori jangka panjang.