

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Prácticas recomendadas
<a name="agentic-memory-best-practices"></a>

## Administración del ciclo de vida de memoria
<a name="agentic-memory-bp-lifecycle"></a>
+ **Utilice el TTL para la memoria a corto plazo**: establezca los valores TTL adecuados en las entradas de la memoria para que la información transitoria caduque automáticamente. Para el contexto de la sesión, utilice TTL de 30 minutos a 24 horas. Para las preferencias de usuario a largo plazo, utilice TTL más largos o manténgalos indefinidamente.
+ **Implemente el deterioro de la memoria**: Mem0 proporciona mecanismos de deterioro integrados que, con el tiempo, eliminan la información irrelevante. Configúrelos para evitar que la memoria se sobrecargue a medida que el agente acumule más interacciones.
+ **Deduplicar memorias**: antes de almacenar una memoria nueva, compruebe si ya existe una memoria similar mediante la búsqueda de similitudes vectoriales. Actualice las memorias existentes en lugar de crear duplicadas.

## Configuración de índices vectoriales
<a name="agentic-memory-bp-index"></a>
+ **Elija el tipo de índice correcto**: utilícelo `FLAT` para almacenes de memoria más pequeños (menos de 100 000 entradas) donde sea posible realizar una búsqueda exacta. `HNSW`Utilícelo para tiendas más grandes, donde la búsqueda aproximada del vecino más cercano proporciona un mejor rendimiento a gran escala.
+ **Seleccione las dimensiones adecuadas**: haga coincidir las dimensiones de la incrustación con las del modelo. Amazon Titan Text Embeddings V2 produce vectores de 1024 dimensiones. La herramienta text-embedding-3-small de OpenAI produce vectores de 1536 dimensiones.
+ **Utilice la métrica de distancia COSINE**: para incrustaciones de texto de modelos como Amazon Titan y OpenAI, la distancia COSINE suele ser la métrica más adecuada para medir la similitud semántica.

## Multi-user aislamiento
<a name="agentic-memory-bp-isolation"></a>
+ **Controle las memorias por ID de usuario**: incluya siempre un `user_id` parámetro al almacenar y buscar memorias para evitar que se filtre información entre los usuarios.
+ **Utilice filtros TAG para un aislamiento eficiente**: al consultar el índice vectorial, utilice filtros TAG (por ejemplo`@user_id:{user_123}`) para filtrar previamente los resultados por usuario antes de realizar una búsqueda en KNN. Esto se ejecuta como una sola operación atómica, lo que proporciona aislamiento y rendimiento.

  ```
  # Example: TAG-filtered vector search for user isolation
  results = client.execute_command(
      "FT.SEARCH", "agent_memory",
      f"@user_id:{{{user_id}}}=>[KNN 5 @embedding $query_vec]",
      "PARAMS", "2", "query_vec", query_vec,
      "DIALECT", "2",
  )
  ```

## Administración de memoria a escala
<a name="agentic-memory-bp-scale"></a>
+ **Establezca una política de memoria máxima**: `maxmemory-policy allkeys-lru` configúrela en su ElastiCache clúster para que desaloje automáticamente las entradas de memoria utilizadas menos recientemente cuando el clúster alcance su límite de memoria.
+ **Supervise el uso de la memoria**: utilice CloudWatch las métricas de Amazon para realizar un seguimiento del uso de la memoria, las tasas de aciertos de la memoria caché y la latencia de búsqueda vectorial. Configure alarmas para un uso elevado de la memoria a fin de gestionar la capacidad de forma proactiva.
+ **Planifique la capacidad**: cada entrada de memoria normalmente requiere aproximadamente entre 4 y 6 KB (dimensiones de incrustación × 4 bytes más metadatos). Una ElastiCache instancia de 1 GB puede almacenar aproximadamente entre 170 000 y 250 000 entradas de memoria, según el tamaño de la incrustación y los metadatos.