Tentukan organisasi memori jangka panjang dengan ruang nama
Saat Anda membuat AgentCore Memori, gunakan namespace untuk menentukan di mana memori jangka panjang untuk strategi memori dikelompokkan secara logis. Setiap kali memori jangka panjang baru diekstraksi menggunakan strategi memori, itu disimpan di bawah namespace yang Anda atur. Ini berarti bahwa semua memori jangka panjang dicakup ke namespace spesifiknya, menjaganya tetap teratur dan mencegah campur aduk dengan pengguna atau sesi lain. Anda harus menggunakan format hierarkis yang dipisahkan oleh garis miring / maju. Ini membantu menjaga ingatan tetap terorganisir dengan jelas. Jika diperlukan, Anda dapat memilih untuk menggunakan variabel yang telah ditentukan sebelumnya berikut dalam tanda kurung di namespace berdasarkan kebutuhan organisasi aplikasi Anda:
-
ActoRid — Mengidentifikasi siapa memori jangka panjang milik.
Aktor mengacu pada entitas seperti pengguna akhir atau agent/user kombinasi. Misalnya, dalam chatbot dukungan pengkodean, aktor biasanya pengembang mengajukan pertanyaan. Menggunakan ID aktor membantu sistem mengetahui pengguna mana memori itu dimiliki, menjaga data setiap pengguna terpisah dan terorganisir.
-
StrategyId — Menunjukkan strategi memori mana yang digunakan. Pengidentifikasi strategi ini dibuat secara otomatis saat Anda membuat AgentCore Memori.
-
SessionID - Mengidentifikasi sesi atau percakapan mana memori berasal.
Sesi biasanya merupakan percakapan tunggal atau periode interaksi antara pengguna dan agen AI. Ini mengelompokkan semua pesan dan peristiwa terkait yang terjadi selama percakapan itu.
Misalnya, jika Anda mendefinisikan namespace berikut sebagai masukan ke strategi Anda saat membuat AgentCore Memori:
/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/
Setelah pembuatan memori, namespace ini mungkin terlihat seperti:
/strategy/summarization-93483043//actor/actor-9830m2w3/session/session-9330sds8
Namespace dapat memiliki tingkat granularitas yang berbeda:
Tingkat organisasi yang paling terperinci
/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/
Granular di Level aktor di seluruh sesi
/strategy/{memoryStrategyId}/actor/{actorId}/
Granular pada Level strategi lintas aktor
/strategy/{memoryStrategyId}/
Global di semua strategi
/
Misalnya kode, lihat Mengaktifkan memori jangka panjang.
Batasi akses dengan IAM
Anda dapat membuat kebijakan IAM untuk membatasi akses memori berdasarkan cakupan yang Anda tentukan, seperti aktor, sesi, dan namespace. Gunakan cakupan sebagai kunci konteks dalam kebijakan IAM Anda.
Kebijakan berikut membatasi akses untuk mengambil memori ke namespace atau catatan tertentu di bawah hierarki NamespacePath tertentu. Dalam contoh ini, kebijakan hanya mengizinkan akses ke memori dengan ruang nama yang tepat seperti summaries/agent1/ OR dengan ruang nama di bawah hierarki NamespacePath berikut dengan, seperti atau. summaries/agent1/ summaries/agent1/session1/ summaries/agent1/session2/
{ "Version":"2012-10-17", "Statement": [ { "Sid": "SpecificNamespaceAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/memory_id", "Condition": { "StringEquals": { "bedrock-agentcore:namespace": "summaries/agent1/" } } }, { "Sid": "SpecificNamespacePathAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/memory_id", "Condition": { "StringLike": { "bedrock-agentcore:namespacePath": "summaries/agent1/*" } } } ] }