> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory vs Context

> Aprenda a gerenciar o estado da conversa combinando Memory e Context para cada caso de uso.

Escolher entre `$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.stock` para 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.discount` para aplicá-lo ao calcular o total
* **Autenticação temporária:** Você obtém um token da sua API e o salva em `$context.token` para usar em chamadas subsequentes dentro do mesmo fluxo
* **Cálculos intermediários:** O usuário seleciona produtos, você vai acumulando o subtotal em `$context.subtotal` para exibi-lo antes de confirmar a compra

**Exemplo:**

```txt theme={null}
1. Usuário pergunta: "Você tem a camiseta azul no tamanho M?"
2. Nó API → Consulta o inventário e salva $context.stock = 5
3. Nó de mensagem → "Temos {{$context.stock}} unidades disponíveis"
4. Usuário compra → Você valida que a quantidade não excede $context.stock
```

## 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

**Exemplo:**

```txt theme={null}
Conversa 1: Usuário diz "Meu nome é Maria"
→ Você salva $memory.name = "Maria"

Conversa 2 (mesmo dia):
→ Você usa {{$memory.name}} para cumprimentar: "Olá, Maria"
```

<Note>
  Para detalhes sobre tipos de dados, TTL, arquivos e métodos disponíveis, consulte o [guia completo de Memory](/pt/guias/variaveis/memory).
</Note>

## Critérios de decisão rápida

<Steps>
  <Step title="Você precisa dos dados em conversas futuras?">
    **Não** → Use `$context`

    **Sim** → Use `$memory`
  </Step>
</Steps>

## 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 (15 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                               |
