As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Organização da memória na AgentCore memória
Você pode definir como as memórias de curto e longo prazo são organizadas em uma AgentCore memória. Isso permite isolar memórias por sessão e por ator. Para memória de longo prazo, você também pode definir um namespace para organizar as memórias extraídas para uma estratégia de memória.
-
Ator — Refere-se 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. O uso do 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.
-
Sessão — Um único período de conversa ou interação entre o usuário e o agente de IA. Ele agrupa todas as mensagens e eventos relacionados que acontecem durante essa conversa.
-
Estratégia (somente Long-term memória) — Mostra qual estratégia de memória de longo prazo está sendo usada. Esse identificador de estratégia é gerado automaticamente quando você cria uma AgentCore memória.
Short-term organização da memória
Ao criar um evento de memória de curto prazo com CreateEvent, você especifica um ID de sessão (sessionId) e um ID de ator (actorId) que identificam de forma exclusiva a sessão e o ator do evento. Posteriormente, você pode recuperar eventos de um usuário ou sessão usando operações de memória de curto prazo.
Por exemplo, código, consulte Etapa 3: Capturar o histórico da conversa.
Long-term organização da memória
Ao criar ou atualizar uma AgentCore memória, você pode criar opcionalmente uma ou mais estratégias de memória. Dentro de uma estratégia, use um namespace para especificar que a AgentCore memória organiza as memórias de longo prazo.
Toda vez que AgentCore Memory extrai uma nova memória de longo prazo com uma estratégia de memória, a memória de longo prazo é 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 conflitos com outros usuários ou sessões. Você deve usar um formato hierárquico separado por barras/, terminando com uma barra final. A barra final evita colisões de prefixos em aplicativos multilocatários — por exemplo, use em vez de. /actors/Alice/ /actors/Alice Conforme necessário, você pode usar as seguintes variáveis predefinidas entre chaves no namespace com base nas necessidades organizacionais do seu aplicativo:
-
ActorID — Identifica a quem pertence a memória de longo prazo.
-
StrategyID — Mostra qual estratégia de memória está sendo usada.
-
SessionID — Identifica de qual sessão ou conversa a memória é.
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.
Para obter mais informações sobre como organizar memórias de longo prazo com namespaces, incluindo variáveis de namespace personalizadas e controle de acesso do IAM, consulte Especificar organização de memória de longo prazo com namespaces.
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 hierarquia específica do NamespacePath. Neste exemplo, a política permite acesso somente a memórias com namespaces exatos, como summaries/agent1/ OR com namespaces na seguinte hierarquia 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/*" } } } ] }