$memory e $context se resume a uma pergunta simples: você precisa desses dados depois que a conversa terminar?
Use $context quando
Use$context quando os dados são necessários apenas durante a conversa atual.
Casos de uso:
- Verificar disponibilidade de produto: O usuário pergunta sobre um produto, você consulta seu inventário e salva o estoque disponível em
$context.stockpara exibi-lo e validar a quantidade que ele deseja comprar nos nós seguintes - Validar um código de desconto: O usuário insere um cupom, você o valida com sua API e salva o percentual em
$context.discountpara aplicá-lo ao calcular o total - Autenticação temporária: Você obtém um token da sua API e o salva em
$context.tokenpara usar em chamadas subsequentes dentro do mesmo fluxo - Cálculos intermediários: O usuário seleciona produtos, você vai acumulando o subtotal em
$context.subtotalpara exibi-lo antes de confirmar a compra
Use $memory quando
Use$memory quando os dados precisam persistir entre conversas. Você pode configurar o tempo de vida (TTL) para cada variável.
Casos de uso:
- Lembrar o nome do usuário para cumprimentá-lo pessoalmente
- Salvar o último endereço de entrega para oferecê-lo como padrão
- Armazenar preferências que melhorem a experiência em interações futuras
- Lembrar que o usuário concluiu uma etapa de verificação
Para detalhes sobre tipos de dados, TTL, arquivos e métodos disponíveis, consulte o guia completo de Memory.
Critérios de decisão rápida
Resumo
| Aspecto | $context | $memory |
|---|---|---|
| Duração | Apenas durante a conversa | Configurável (TTL): até 1 dia (JSON) ou 1 semana (arquivos) |
| Tipos | Qualquer valor JavaScript | Primitivos, JSON (5 KB), Arquivos (10 MB) |
| Uso | Dados temporários da conversa | Melhorar a experiência entre conversas |
| Segurança | Ideal para dados sensíveis temporários | Não usar para dados sensíveis |