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
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 via
UpdateHarness. 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 :DeleteHarnesssupprime en cascade la mémoire gérée par défaut.
-
Stratégies disponibles
| Stratégie | Description |
|---|---|
|
|
Extrait les connaissances factuelles des conversations, accessibles via une recherche sémantique. |
|
|
Crée des résumés courants des conversations, répartis par acteur et par session. |
|
|
Capture les préférences et les paramètres de l'utilisateur exprimés au cours des conversations. |
|
|
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
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.
Rubriques en relation
-
Modèles et instructions- configurer les modèles et les instructions du système
-
Environnement et système de fichiers- environnement, système de fichiers et conteneurs personnalisés
-
Compétences- attachez des compétences depuis Git, S3 ou AWS Skills
-
Sécurité et contrôles d'accès- politiques relatives aux rôles d'exécution pour l'accès à la mémoire