View a markdown version of this page

Especifique la organización de la memoria a largo plazo con espacios de nombres - Amazon Bedrock AgentCore

Especifique la organización de la memoria a largo plazo con espacios de nombres

Al crear una AgentCore memoria, utilice un espacio de nombres para especificar dónde se agrupan lógicamente las memorias a largo plazo de una estrategia de memoria. Cada vez que se extrae una nueva memoria a largo plazo mediante la estrategia de memoria, se guarda en el espacio de nombres que haya establecido. Esto significa que todas las memorias de larga duración se agrupan en función de su espacio de nombres específico, lo que las mantiene organizadas y evita cualquier confusión con otros usuarios o sesiones. Debe utilizar un formato jerárquico separado por barras diagonales. / Esto ayuda a mantener los recuerdos organizados con claridad. Según sea necesario, puede optar por utilizar las siguientes variables predefinidas entre llaves 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.

    Un actor se refiere a una entidad, 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.

  • StrategyID: muestra qué estrategia de memoria se está utilizando. Este identificador de estrategia se genera automáticamente al crear una AgentCore memoria.

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

    Una sesión suele ser un único período 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.

Por ejemplo, si defines el siguiente espacio de nombres como la base de tu estrategia al crear un AgentCore recuerdo:

/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/*" } } } ] }