View a markdown version of this page

Organización de la memoria en AgentCore la memoria - Amazon Bedrock AgentCore

Organización de la memoria en AgentCore la memoria

Puede configurar cómo se organizan los recuerdos a corto y largo plazo en una AgentCore memoria. Esto te permite aislar los recuerdos por sesión y por actor. Para la memoria a largo plazo, también puedes establecer un espacio de nombres para organizar los recuerdos extraídos para una estrategia de memoria.

  • Actor: hace referencia a entidades como los usuarios finales o agent/user las combinaciones. Por ejemplo, en un chatbot de soporte de programación, el actor suele ser el desarrollador que hace las preguntas. El uso del ID de actor ayuda al sistema a saber a qué usuario pertenece la memoria, manteniendo los datos de cada usuario separados y organizados.

  • Sesión: período único de conversación o interacción entre el usuario y el agente de IA. Agrupa todos los mensajes y eventos relacionados que ocurren durante esa conversación.

  • Estrategia (solo Long-term memoria): muestra qué estrategia de memoria a largo plazo se está utilizando. Este identificador de estrategia se genera automáticamente al crear una AgentCore memoria.

Short-term organización de la memoria

Al crear un evento de memoria a corto plazo con CreateEvent, se especifica un identificador de sesión (sessionId) y un identificador de actor (actorId) que identifican de forma exclusiva la sesión y el actor del evento. Más adelante, puede recuperar los eventos de un usuario o una sesión mediante operaciones de memoria a corto plazo.

Para ver un código de ejemplo, consulta el paso 3: capturar el historial de conversaciones.

Long-term organización de la memoria

Al crear o actualizar una AgentCore memoria, si lo desea, puede crear una o más estrategias de memoria. Dentro de una estrategia, usa un espacio de nombres para especificar que AgentCore Memory organiza los recuerdos a largo plazo.

Cada vez que AgentCore Memory extrae una nueva memoria a largo plazo con una estrategia de memoria, la memoria a largo plazo se guarda en el espacio de nombres que haya establecido. Esto significa que todas las memorias de larga duración se limitan a su espacio de nombres específico, lo que las mantiene organizadas y evita cualquier conflicto con otros usuarios o sesiones. Debe utilizar un formato jerárquico separado por barras diagonales y terminar con una barra / diagonal final. La barra diagonal final evita las colisiones de prefijos en aplicaciones con varios usuarios; por ejemplo, utilícela en lugar de. /actors/Alice/ /actors/Alice Según sea necesario, puede utilizar las siguientes variables predefinidas entre corchetes en el espacio de nombres en función de las necesidades organizativas de la aplicación:

  • ActorID: identifica a quién pertenece la memoria a largo plazo.

  • StrategyID: muestra qué estrategia de memoria se está utilizando.

  • SessionID: identifica de qué sesión o conversación proviene la memoria.

Por ejemplo, si define el siguiente espacio de nombres como la entrada de su estrategia al crear una memoria: AgentCore

/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/

Tras la creación de la memoria, este espacio de nombres podría tener este aspecto:

/strategy/summarization-93483043/actor/actor-9830m2w3/session/session-9330sds8/

Un espacio de nombres puede tener distintos niveles de granularidad:

Nivel de organización más detallado

/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/

Granular a nivel de actor en todas las sesiones

/strategy/{memoryStrategyId}/actor/{actorId}/

Granular a nivel de estrategia para todos los actores

/strategy/{memoryStrategyId}/

Global en todas las estrategias

/

Para ver código de ejemplo, consulte Habilitar la memoria a largo plazo.

Restrinja el acceso con IAM

Puede crear políticas de IAM para restringir el acceso a la memoria según los ámbitos que defina, como el actor, la sesión y el espacio de nombres. Utilice los ámbitos como claves de contexto en sus políticas de IAM.

La siguiente política restringe el acceso a la recuperación de memorias a un espacio de nombres o registros específicos dentro de una jerarquía de NamespacePath determinada. En este ejemplo, la política solo permite el acceso a las memorias con espacios de nombres exactos, por ejemplo, o con espacios de nombres que se encuentren en la siguiente jerarquía de summaries/agent1/ NamespacePath con, por ejemplo, o. 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/*" } } } ] }