View a markdown version of this page

Mémoire - Amazon Bedrock AgentCore

Mémoire

Le harnais conserve automatiquement l'état de conversation dans AgentCore la mémoire. À chaque invocation, la conversation est enregistrée, délimitée par identifiant de session (et également par identifiant d'acteur, s'il est fourni). Lors des appels suivants avec le même identifiant de session, l'historique de l'agent est chargé depuis la mémoire avant qu'il ne raisonne. Il se souvient de ce qui s'est passé lors des tours précédents, même après l'expiration de la session microVM sous-jacente. Vous n'avez pas besoin de transmettre vous-même les messages précédents ; il vous suffit d'envoyer le nouveau message.

Comment fonctionne la mémoire

  • Short-term la mémoire capture les événements bruts (messages, appels d'outils) au cours d'une session. C'est ce qui assure à l'agent une continuité d'un tour à l'autre.

  • Long-term la mémoire extrait des connaissances durables via des stratégies configurables (sémantique, synthèse, préférence de l'utilisateur, épisodique ou personnalisée) et les rend accessibles via une recherche sémantique lors de sessions ultérieures.

  • L'identifiant de l'acteur identifie l'entité interagissant avec l'agent (un utilisateur, un autre agent ou un système). Les événements de mémoire sont définis par ActorID + SessionId, de sorte que chaque acteur dispose d'une mémoire isolée. Long-term retrieval utilise ActorID comme variable de modèle dans les chemins d'espace de noms (par exemple/summary/{actorId}/{sessionId}/), en mappant les stratégies de mémoire configurées.

Mémoire gérée (par défaut)

Par défaut, le harnais provisionne automatiquement une instance AgentCore Memory avec des valeurs par défaut raisonnables (sémantique et stratégies de synthèse, expiration des événements sous 30 jours). Vous n'avez pas besoin de créer ou de configurer quoi que ce soit, la mémoire fonctionne tout simplement.

Pour personnaliser la mémoire gérée au moment de la création :

Exemple
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}}'

Pour mettre à jour les stratégies d'un harnais existant :

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

La mémoire est activée par défaut lorsque vous créez un harnais :

agentcore create --name myagent agentcore deploy

Pour ignorer la mémoire gérée :

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

Exécutez agentcore dans un répertoire de projet, sélectionnez Ajouter, puis choisissez Harness. L'assistant inclut une étape de mémorisation.

  1. À l'étape Mémoire, choisissez Aucune mémoire persistante ou Activé pour créer de la mémoire persistante pour le harnais.

    Étape de mémoire : pas de mémoire persistante ou activée
  2. Lorsque la mémoire est activée, une option supplémentaire de réglage de la mémoire apparaît dans les paramètres avancés. Activez-le avec l'espace et appuyez sur Entrée pour régler la récupération.

    Paramètres avancés : option de réglage de la mémoire
  3. Définissez éventuellement le nombre de messages, le top K de récupération et le score de pertinence (chacun peut être ignoré).

    Réglage de la mémoire : nombre de messages, K supérieur, score de pertinence

Confirmez l'assistant, puis exécutez agentcore deploy pour appliquer.

La mémoire gérée est entièrement gérée par le harnais :

  • La configuration de la stratégie est contrôlée viaUpdateHarness. Vous pouvez toujours consulter read/write des événements et des enregistrements directement via les API de mémoire.

  • La mémoire gérée ne peut pas être supprimée directement via les API de mémoire. Pour transformer la mémoire gérée en une ressource AgentCore mémoire normale, vous pouvez la dissocier du harnais de deux manières :

    • UpdateHarnessÀ utiliser pour passer en mode BYO (agentCoreMemoryConfiguration) ou pour le désactiver.

    • deleteManagedMemory=falseTransférez plutôt la suppression pour dissocier : DeleteHarness supprime en cascade la mémoire gérée par défaut.

Stratégies disponibles

Stratégie Description

SEMANTIC

Extrait les connaissances factuelles des conversations, accessibles via une recherche sémantique.

SUMMARIZATION

Crée des résumés courants des conversations, répartis par acteur et par session.

USER_PREFERENCE

Capture les préférences et les paramètres de l'utilisateur exprimés au cours des conversations.

EPISODIC

Enregistre les événements et expériences importants sous forme d'épisodes distincts.

Ajouter de la mémoire existante (BYO)

Si vous avez besoin d'une configuration avancée allant au-delà de ce que propose la mémoire gérée (modèles d'espaces de noms personnalisés, chiffrement KMS ou mémoire partagée sur plusieurs harnais), associez plutôt une instance de AgentCore mémoire existante.

Exemple
AWS CLI/boto3

Créez une instance de mémoire :

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

Attachez-le au harnais :

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 --name myagent --memory-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:memory/MyMemory-abc123" agentcore deploy

Désactiver la mémoire

Pour désactiver complètement la mémoire, procédez comme suit :

aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"disabled": {}}}'

Per-user scopage de la mémoire avec identifiant d'acteur

Passez actorId au moment de l'appel pour étendre la mémoire à un utilisateur spécifique. Chaque acteur dispose d'une mémoire isolée à court et à long terme :

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 récupération de mémoire

Lorsqu'un harnais possède des stratégies de mémoire actives (gérées ou BYO), la récupération fonctionne automatiquement : le harnais déduit une configuration de récupération à partir des stratégies actives de l'instance Memory. À chaque invocation, l'agent interroge les souvenirs à long terme pertinents et les injecte dans le contexte de la conversation avant de raisonner.

Comportement par défaut :

  • La récupération est configurée automatiquement avec les paramètres par défaut (topK=10,relevanceScore=0.2) pour l'espace de noms de chaque stratégie active.

  • Aucune configuration manuelle n'est nécessaire pour la mémoire gérée ou la mémoire BYO.

Remplacer les valeurs par défaut : si vous fournissez explicitement un retrievalConfig dans la configuration de la mémoire BYO, vos valeurs sont prioritaires et aucune dérivation automatique n'est effectuée. Cela vous permet de personnaliser les espaces de noms interrogés, d'ajuster topK ou relevanceScore de désactiver la récupération pour des stratégies spécifiques.

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"}}}}}'
Important

Si vous mettez à jour les stratégies de votre instance BYO Memory (ajout ou suppression) après l'avoir attachée à un harnais, appelez UpdateHarness pour actualiser la configuration de récupération. Pour la mémoire gérée, la stratégie change en UpdateHarness actualisant automatiquement la configuration.

Troncature du contexte

Lorsque l'historique des conversations dépasse la fenêtre contextuelle du modèle, le harnais applique une stratégie de troncature. Configurez-le sur le harnais ou remplacez-le par appel.

  • sliding_window(par défaut) - conserve les N messages les plus récents. Simple et prévisible.

  • summarization- compresse les anciens messages dans un résumé, préservant ainsi plus de contexte avec moins de jetons.

  • none- pas de troncature. À utiliser uniquement si vous gérez vous-même la taille du contexte.

aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --truncation '{"strategy": "sliding_window", "slidingWindowConfig": {"numMessages": 30}}'

En savoir plus : AgentCore Mémoire, création d'une réserve de mémoire, stratégies de mémoire à long terme.