View a markdown version of this page

Memoria - Amazon Bedrock AgentCore

Memoria

El arnés mantiene automáticamente el estado de conversación en AgentCore la memoria. Cada vez que se invoca, se guarda la conversación, determinada por el identificador de sesión (y, además, por el identificador del actor, si se proporciona). En las siguientes invocaciones con el mismo identificador de sesión, el historial del agente se carga desde la memoria antes de que se razone: recuerda lo que ocurrió en turnos anteriores, incluso después de que la sesión de microVM subyacente haya expirado. No es necesario que pase usted mismo los mensajes anteriores; simplemente envíe el mensaje nuevo.

Cómo funciona la memoria

  • Short-term la memoria captura eventos sin procesar (mensajes, llamadas a herramientas) dentro de una sesión. Esto es lo que da continuidad al agente a lo largo de los turnos.

  • Long-term la memoria extrae conocimientos duraderos mediante estrategias configurables (semánticas, de resumen, de preferencias del usuario, episódicas o personalizadas) y permite recuperarlos mediante búsquedas semánticas en sesiones posteriores.

  • El ID de actor identifica la entidad que interactúa con el agente (un usuario, otro agente o un sistema). Los eventos de memoria están delimitados por ActorID + SessionID, por lo que cada actor tiene una memoria aislada. Long-term La recuperación utiliza ActorID como variable de plantilla en las rutas de los espacios de nombres (p. ej.), y se asigna a las estrategias de memoria configuradas. /summary/{actorId}/{sessionId}/

Memoria gestionada (predeterminada)

De forma predeterminada, el arnés aprovisiona una instancia de AgentCore memoria automáticamente con valores predeterminados razonables (estrategias semánticas y de resumen, caducidad del evento en 30 días). No necesitas crear ni configurar nada, la memoria simplemente funciona.

Para personalizar la memoria gestionada en el momento de la creación:

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

Para actualizar las estrategias de un arnés existente:

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

La memoria está habilitada de forma predeterminada al crear un arnés:

agentcore create --name myagent agentcore deploy

Para omitir la memoria gestionada:

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

Ejecute agentcore en un directorio de proyectos, seleccione agregar y, a continuación, elija Harness. El asistente incluye un paso de memoria.

  1. En el paso Memoria, seleccione Sin memoria persistente o Activado para crear memoria persistente para el arnés.

    Paso de memoria: sin memoria persistente o activado
  2. Cuando la memoria está habilitada, aparece una opción de ajuste de memoria adicional en la configuración avanzada. Actívela con la barra espaciadora y pulse Entrar para recuperar la melodía.

    Configuración avanzada: opción de ajuste de memoria
  3. Si lo desea, puede configurar el recuento de mensajes, el máximo K de recuperación y la puntuación de relevancia (se puede omitir cada uno de ellos).

    Ajuste de memoria: número de mensajes, K más alto, puntuación de relevancia

Confirme el asistente y, a continuación, ejecútelo agentcore deploy para aplicarlo.

La memoria gestionada se gestiona completamente mediante el arnés:

  • La configuración de la estrategia se controla medianteUpdateHarness. Aún puede realizar read/write eventos y consultar registros directamente a través de las API de memoria.

  • La memoria gestionada no se puede eliminar directamente a través de las API de memoria. Para convertir la memoria gestionada en un recurso de AgentCore memoria normal, puede disociarla del arnés de dos maneras:

    • Se usa UpdateHarness para cambiar a BYO (agentCoreMemoryConfiguration) o deshabilitarlo.

    • deleteManagedMemory=falseEn su lugar, permite eliminar la memoria para desasociarla: DeleteHarness elimina en cascada la memoria gestionada de forma predeterminada.

Estrategias disponibles

Strategy (Estrategia) Description (Descripción)

SEMANTIC

Extrae el conocimiento fáctico de las conversaciones, que se puede recuperar mediante una búsqueda semántica.

SUMMARIZATION

Crea resúmenes continuos de las conversaciones, desglosados por actor y sesión.

USER_PREFERENCE

Captura las preferencias y los ajustes del usuario expresados durante las conversaciones.

EPISODIC

Registra eventos y experiencias importantes como episodios discretos.

Añade memoria existente (BYO)

Si necesita una configuración avanzada que vaya más allá de lo que ofrece la memoria gestionada (plantillas de espacio de nombres personalizadas, cifrado KMS o memoria compartida en varios arneses), adjunte una instancia de memoria existente AgentCore en su lugar.

ejemplo
AWS CLI/boto3

Crea una instancia de memoria:

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

Colóquelo al arnés:

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

Desactivar la memoria

Para deshabilitar la memoria por completo:

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

Per-user determinación del alcance de la memoria con el ID del actor

actorIdTransfiera en el momento de la invocación para asignar memoria a un usuario específico. Cada actor obtiene una memoria aislada a corto y largo plazo:

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 recuperación de memoria

Cuando un arnés tiene estrategias de memoria activas (gestionadas o BYO), la recuperación funciona automáticamente: el arnés deriva una configuración de recuperación a partir de las estrategias activas de la instancia de memoria. En cada invocación, el agente consulta los recuerdos relevantes a largo plazo y los introduce en el contexto de la conversación antes de razonar.

Comportamiento predeterminado:

  • La recuperación se configura automáticamente con los parámetros predeterminados (topK=10,relevanceScore=0.2) para el espacio de nombres de cada estrategia activa.

  • No es necesaria una configuración manual para la memoria gestionada ni para la memoria BYO.

Anule los valores predeterminados: si proporciona explícitamente una retrievalConfig en la configuración de memoria BYO, sus valores tienen prioridad y no se produce ninguna derivación automática. Esto le permite personalizar los espacios de nombres que se consultan, ajustar topK o relevanceScore deshabilitar la recuperación para estrategias específicas.

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

Si actualizas las estrategias de tu instancia de memoria BYO (añadirla o quitarla) después de conectarla a un arnés, llama UpdateHarness para actualizar la configuración de recuperación. En el caso de la memoria gestionada, la estrategia cambia mediante la UpdateHarness actualización automática de la configuración.

Truncamiento del contexto

Cuando el historial de conversaciones va más allá de la ventana de contexto del modelo, el arnés aplica una estrategia de truncamiento. Configúrelo en el arnés o anólelo por invocación.

  • sliding_window(predeterminado): conserva los N mensajes más recientes. Simple y predecible.

  • summarization- comprime los mensajes antiguos en un resumen, preservando más contexto en menos fichas.

  • none- sin truncamiento. Úselo solo si gestiona usted mismo el tamaño del contexto.

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

Más información: AgentCore memoria, creación de un almacén de memoria, estrategias de memoria a largo plazo.