Skip to main content
Elegir entre $memory y $context depende de una pregunta simple: ¿necesitas este dato después de que termine la conversación?

Usa $context cuándo

Usa $context cuando el dato solo es necesario durante la conversación actual. Casos de uso:
  • Consultar disponibilidad de productos: El usuario pregunta por un producto, consultas tu inventario y guardas el stock disponible en $context.stock para mostrarlo y validar la cantidad que quiere comprar en los siguientes nodos
  • Validar código de descuento: El usuario ingresa un cupón, lo validas con tu API y guardas el porcentaje en $context.descuento para aplicarlo al calcular el total
  • Autenticación temporal: Obtienes un token de tu API y lo guardas en $context.token para usarlo en las siguientes llamadas del mismo flujo
  • Cálculos intermedios: El usuario selecciona productos, vas sumando el subtotal en $context.subtotal para mostrarlo antes de confirmar la compra
Ejemplo:
1. Usuario pregunta: "¿Tienen la camisa azul en talla M?"
2. Nodo API → Consulta inventario y guarda en $context.stock = 5
3. Nodo Mensaje → "Tenemos {{$context.stock}} unidades disponibles"
4. Usuario compra → Validas que la cantidad no exceda $context.stock

Usa $memory cuándo

Usa $memory cuando el dato debe persistir entre conversaciones. Puedes configurar el tiempo de vida (TTL) de cada variable. Casos de uso:
  • Recordar el nombre del usuario para saludarlo personalmente
  • Guardar la última dirección de envío para ofrecerla por defecto
  • Almacenar preferencias que mejoran la experiencia en futuras interacciones
  • Recordar que el usuario completó un paso de verificación
Ejemplo:
Conversación 1: Usuario dice "Mi nombre es María"
→ Guardas en $memory.nombre = "María"

Conversación 2 (mismo día):
→ Usas {{$memory.nombre}} para saludar: "Hola María"
Para detalles sobre tipos de datos, TTL, archivos y métodos disponibles, consulta la guía completa de Memory.

Criterios de decisión rápida

1

¿Necesitas el dato en futuras conversaciones?

No → Usa $context → Usa $memory

Resumen

Aspecto$context$memory
DuraciónSolo durante la conversaciónConfigurable (TTL): hasta 1 día (JSON) o 1 semana (archivos)
TiposCualquier valor JavaScriptPrimitivos, JSON (5KB), Archivos (10MB)
UsoDatos temporales de la conversaciónMejorar experiencia entre conversaciones
SeguridadIdeal para datos sensibles temporalesNo usar para datos sensibles