¿Cómo reiniciar Simple Memory con la misma clave de sesión?
Hola a todos,
Estoy usando n8n Cloud con un AI Agent + Simple Memory para un chatbot de DM de Instagram.
Mi Simple Memory utiliza el “sender_id” de Instagram como clave de sesión, con una Longitud de Ventana de Contexto de 50.
Ayer, probé un mensaje de usuario muchas veces. La IA daba la respuesta incorrecta, así que cambié mi prompt del sistema. Sin embargo, cuando volví a probar con el mismo sender_id, la IA aún parecía estar influenciada por las respuestas incorrectas anteriores.
Esta mañana, volví a probar con el mismo sender_id, y de repente la respuesta fue correcta. Cuando revisé la ejecución, parecía que Simple Memory se había reiniciado/borrado.
Así que tengo dos preguntas:
¿Por qué se reinició Simple Memory durante la noche? ¿Se expira o se borra automáticamente después de un tiempo en n8n Cloud? ¿O hay alguna condición que hace que esto suceda?
¿Hay alguna forma de actualizar/reiniciar manualmente Simple Memory para una clave de sesión específica, manteniendo el mismo “sender_id” como clave?
Quiero poder reiniciar la memoria de conversación de un usuario cuando descubra que la IA dio anteriormente una respuesta incorrecta, sin cambiar la clave de sesión del usuario.
Simple Memory se almacena en la RAM del proceso n8n, indexado por flujo de trabajo e ID de sesión, sin TTL. Se borra cada vez que ese proceso se reinicia, y en Cloud eso sucede automáticamente: actualizaciones de versión, mantenimiento, escalado, además de guardar o reactivar el flujo de trabajo. Ese fue tu reinicio nocturno.
Para borrar un usuario a propósito, añade un nodo Chat Memory Manager en el mismo flujo de trabajo, adjunta el mismo sub-nodo Simple Memory con la expresión idéntica de Session ID ({{ $json.sender_id }}), y establece Operation Mode en Delete Messages, Delete Mode en All Messages. Ejecútalo desde una rama: un IF en una palabra clave «/reset», o un segundo nodo Webhook en este flujo de trabajo que tome un sender_id. Tiene que existir en este flujo de trabajo, otro no puede ver este almacén.
Para una memoria que solo se reinicia cuando lo indiques, cambia a Postgres Chat Memory o Redis Chat Memory; la eliminación de Memory Manager funciona igual allí.