$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.stockpara 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.descuentopara aplicarlo al calcular el total - Autenticación temporal: Obtienes un token de tu API y lo guardas en
$context.tokenpara usarlo en las siguientes llamadas del mismo flujo - Cálculos intermedios: El usuario selecciona productos, vas sumando el subtotal en
$context.subtotalpara mostrarlo antes de confirmar la compra
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
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
Resumen
| Aspecto | $context | $memory |
|---|---|---|
| Duración | Solo durante la conversación | Configurable (TTL): hasta 1 día (JSON) o 1 semana (archivos) |
| Tipos | Cualquier valor JavaScript | Primitivos, JSON (5KB), Archivos (10MB) |
| Uso | Datos temporales de la conversación | Mejorar experiencia entre conversaciones |
| Seguridad | Ideal para datos sensibles temporales | No usar para datos sensibles |