Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Organisation de la mémoire dans AgentCore la mémoire
Vous pouvez définir la façon dont les souvenirs à court et à long terme sont organisés dans une AgentCore mémoire. Cela vous permet d'isoler les souvenirs par session et par acteur. Pour la mémoire à long terme, vous pouvez également définir un espace de noms pour organiser les mémoires extraites en fonction d'une stratégie de mémoire.
-
Acteur : fait référence à des entités telles que les utilisateurs finaux ou les agent/user combinaisons. Par exemple, dans un chatbot d'assistance au codage, l'acteur est généralement le développeur qui pose des questions. L'utilisation de l'identifiant d'acteur permet au système de savoir à quel utilisateur appartient la mémoire, en séparant et en organisant les données de chaque utilisateur.
-
Session : conversation ou période d'interaction unique entre l'utilisateur et l'agent IA. Il regroupe tous les messages et événements connexes qui se produisent au cours de cette conversation.
-
Stratégie (Long-term mémoire uniquement) — Indique quelle stratégie de mémoire à long terme est utilisée. Cet identifiant de stratégie est généré automatiquement lorsque vous créez une AgentCore mémoire.
Short-term organisation de la mémoire
Lorsque vous créez un événement de mémoire à court terme avec CreateEvent, vous spécifiez un ID de session (sessionId) et un ID d'acteur (actorId) qui identifient de manière unique la session et l'acteur de l'événement. Plus tard, vous pourrez récupérer les événements d'un utilisateur ou d'une session en utilisant des opérations de mémoire à court terme.
Pour un exemple de code, voir Étape 3 : Capture de l'historique des conversations.
Long-term organisation de la mémoire
Lorsque vous créez ou mettez à jour une AgentCore mémoire, vous pouvez éventuellement créer une ou plusieurs stratégies de mémoire. Dans le cadre d'une stratégie, utilisez un espace de noms pour spécifier que AgentCore Memory organise les mémoires Long-term mémoire à long terme.
Chaque fois que AgentCore Memory extrait une nouvelle mémoire à long terme avec une stratégie de mémoire, la mémoire à long terme est enregistrée dans l'espace de noms que vous avez défini. Cela signifie que toutes les mémoires à long terme sont limitées à leur espace de noms spécifique, ce qui permet de les organiser et d'éviter tout conflit avec d'autres utilisateurs ou sessions. Vous devez utiliser un format hiérarchique séparé par des barres obliques/, se terminant par une barre oblique finale. La barre oblique finale empêche les collisions de préfixes dans les applications multi-locataires, par exemple, utilisez plutôt que. /actors/Alice/ /actors/Alice Si nécessaire, vous pouvez utiliser les variables prédéfinies suivantes entre crochets dans l'espace de noms en fonction des besoins organisationnels de votre application :
-
ActorID — Identifie à qui appartient la mémoire à long terme.
-
StrategyID : indique la stratégie de mémoire utilisée.
-
SessionID : identifie la session ou la conversation dont provient la mémoire.
Par exemple, si vous définissez l'espace de noms suivant comme entrée de votre stratégie lors de la création d'une AgentCore mémoire :
/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/
Après la création de la mémoire, cet espace de noms peut ressembler à ceci :
/strategy/summarization-93483043/actor/actor-9830m2w3/session/session-9330sds8/
Un espace de noms peut présenter différents niveaux de granularité :
Niveau d'organisation le plus granulaire
/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/
Informations détaillées au niveau de l'acteur au fil des sessions
/strategy/{memoryStrategyId}/actor/{actorId}/
Granulaire au niveau de la stratégie pour tous les acteurs
/strategy/{memoryStrategyId}/
Globale pour toutes les stratégies
/
Pour un exemple de code, voir Activer la mémoire à long terme.
Pour plus d'informations sur l'organisation des mémoires à long terme avec des espaces de noms, y compris les variables d'espace de noms personnalisées et le contrôle d'accès IAM, voir Spécifier l'organisation de la mémoire à long terme avec des espaces de noms.
Restreindre l'accès avec IAM
Vous pouvez créer des politiques IAM pour restreindre l'accès à la mémoire en fonction des étendues que vous définissez, telles que l'acteur, la session et l'espace de noms. Utilisez les étendues comme clés de contexte dans vos politiques IAM.
La politique suivante limite l'accès à la récupération de mémoires vers un espace de noms spécifique ou des enregistrements relevant d'une hiérarchie NamespacePath particulière. Dans cet exemple, la politique autorise l'accès uniquement aux mémoires avec des espaces de noms exacts tels que summaries/agent1/ OR avec des espaces de noms relevant de la hiérarchie NamespacePath suivante avecsummaries/agent1/, par exemple, ou. 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/*" } } } ] }