Especifique a organização da memória de longo prazo com namespaces
Ao criar uma AgentCore memória, use um namespace para especificar onde as memórias de longo prazo de uma estratégia de memória são agrupadas logicamente. Sempre que uma nova memória de longo prazo é extraída usando a estratégia de memória, ela é salva no namespace que você definiu. Isso significa que todas as memórias de longo prazo têm como escopo seu namespace específico, mantendo-as organizadas e evitando qualquer confusão com outros usuários ou sessões. Você deve usar um formato hierárquico separado por barras. / Isso ajuda a manter as memórias organizadas de forma clara. Conforme necessário, você pode optar por usar as seguintes variáveis predefinidas entre chaves no namespace com base nas necessidades da organização do seu aplicativo:
-
ActorID — Identifica a quem pertence a memória de longo prazo.
Um ator se refere a entidades como usuários finais ou agent/user combinações. Por exemplo, em um chatbot de suporte à codificação, o ator geralmente é o desenvolvedor fazendo perguntas. Usar o ID do ator ajuda o sistema a saber a qual usuário a memória pertence, mantendo os dados de cada usuário separados e organizados.
-
StrategyID — Mostra qual estratégia de memória está sendo usada. Esse identificador de estratégia é gerado automaticamente quando você cria uma AgentCore memória.
-
sessionID — Identifica de qual sessão ou conversa a memória vem.
Uma sessão geralmente é uma única conversa ou período de interação entre o usuário e o agente de IA. Ele agrupa todas as mensagens e eventos relacionados que acontecem durante a conversa.
Por exemplo, se você definir o namespace a seguir como entrada para sua estratégia ao criar uma AgentCore memória:
/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/
Após a criação da memória, esse namespace pode ter a seguinte aparência:
/strategy/summarization-93483043//actor/actor-9830m2w3/session/session-9330sds8
Um namespace pode ter diferentes níveis de granularidade:
Nível de organização mais granular
/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/
Granular no nível do ator em todas as sessões
/strategy/{memoryStrategyId}/actor/{actorId}/
Granular no nível da estratégia entre os atores
/strategy/{memoryStrategyId}/
Global em todas as estratégias
/
Por exemplo, código, consulte Habilitar memória de longo prazo.
Restrinja o acesso com o IAM
Você pode criar políticas do IAM para restringir o acesso à memória pelos escopos definidos, como ator, sessão e namespace. Use os escopos como chaves de contexto em suas políticas do IAM.
A política a seguir restringe o acesso à recuperação de memórias em um namespace ou registros específicos em uma determinada hierarquia de NamespacePath. Neste exemplo, a política permite acesso somente a memórias com namespaces exatos, como summaries/agent1/ OR, com namespaces na seguinte hierarquia de namespacePath com, como ou. 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/*" } } } ] }