Map out the four working memory types — short-term, episodic, semantic, and procedural — and learn which to reach for based on real production tradeoffs from the support-automation system.
A primeira coisa que percebi: "memória" não é uma coisa só. O sistema de suporte precisava lembrar o que aconteceu nesta conversa (curto prazo), o que aconteceu em conversas passadas com este cliente (episódica), o que o sistema de cobrança realmente faz (semântica) e como executar um processo de reembolso (procedural). São quatro problemas distintos com quatro estratégias de armazenamento distintas.
graph TD
A[Memória do Agente] --> B[Curto Prazo\nJanela de Contexto]
A --> C[Episódica\nHistórico de Sessão]
A --> D[Semântica\nFatos e Conhecimento]
A --> E[Procedural\nHabilidades e Como Fazer]
B --> F[Em memória, expira]
C --> G[Armazenamento persistente, com timestamp]
D --> H[Armazenamento persistente, indexado]
E --> I[Config / definições de ferramentas]Aqui está a taxonomia de trabalho em que cheguei:
Analogia: Pense em um engenheiro de suporte sênior no primeiro dia de volta das férias. A memória de curto prazo são as notas na mesa de hoje. A memória episódica é o caderno de casos passados. A memória semântica é o conhecimento do produto na cabeça. A memória procedural é o hábito de executar a ferramenta de reembolso.
Cada tipo mapeia para um mecanismo de armazenamento e padrão de recuperação diferente. Acertar a taxonomia antes de escrever qualquer código me poupou de construir uma "tabela de memória" monolítica que seria impossível de consultar efetivamente.
A memória de curto prazo é a janela de contexto — as mensagens que o modelo vê agora. É rápida, sem latência, e inerentemente sem estado: quando a chamada de API termina, o contexto desaparece.
O problema prático com a memória de curto prazo é capacidade. Uma conversa de suporte longa pode facilmente atingir 50.000+ tokens em múltiplas chamadas de ferramentas. A maioria dos modelos tem limites de contexto, e mesmo modelos com janelas grandes ficam mais lentos e caros à medida que o contexto cresce.
Os dois padrões comuns para gerenciar o tamanho da janela de contexto:
Janela deslizante — manter apenas as últimas N conversas. Simples de implementar, mas o agente "esquece" as conversas anteriores abruptamente.
Sumarização — usar o modelo para compactar conversas antigas em um resumo, depois substituí-las. Preserva a intenção mas perde detalhes. Custa uma chamada de modelo.
Trade-off da sumarização: Resumos perdem especificidades. Se o agente sumarizou "o cliente já tentou redefinir a senha duas vezes", pode sugerir a mesma correção novamente. Para casos de suporte, mantenho passos de falha exatos na memória episódica em vez de confiar que o resumo os preserve.
A memória episódica é um registro com timestamp de sessões passadas e seus resultados. Ela responde à pergunta: "O que aconteceu antes, com este usuário, neste contexto?"
No sistema de automação de suporte, a ausência de memória episódica causou uma falha específica e frustrante: um cliente abria uma nova sessão sobre um problema de cobrança, e o agente percorria os mesmos passos de diagnóstico que já havia executado com eles duas vezes antes. O cliente sabia disso; o agente não. A sessão começava do zero toda vez.
A correção era simples em conceito: persistir um registro de cada sessão — o que foi tentado, qual foi o resultado, quando aconteceu — e recuperá-lo no início de qualquer nova sessão com o mesmo cliente.
Recuperar esses dados no início da sessão permite que o agente comece com: "Vejo que analisamos este problema de cobrança duas vezes antes — em ambas as vezes o processador de cartão retornou um timeout. Desta vez vou verificar o status do processador primeiro."
Analogia: A memória episódica é como as anotações de caso de um clínico. Cada sessão é registrada; o próximo clínico que pegar o caso pode ver o que já foi tentado. Sem isso, cada sessão começa do formulário de admissão.
A memória semântica armazena fatos que são verdadeiros sobre o mundo — documentação de produtos, regras do sistema de cobrança, políticas de escalonamento, bugs conhecidos. Ela não é específica para nenhuma sessão ou cliente; é conhecimento compartilhado que o agente precisa para raciocinar corretamente.
A distinção principal da memória episódica: a memória semântica responde "o que é verdade?" enquanto a memória episódica responde "o que aconteceu?"
No sistema de suporte, a memória semântica incluía coisas como:
Armazenar a memória semântica separadamente do histórico de sessão significa que ela pode ser atualizada uma vez (quando uma política muda) e imediatamente afeta todas as consultas futuras, sem re-treinar nada.
Prévia: A recuperação da memória semântica é onde embeddings se tornam essenciais. A busca por palavras-chave ("encontrar documentos contendo 'cobrança'") falha quando a consulta é "o erro que parece um problema de login mas é na verdade um problema de método de pagamento." O Módulo 03 cobre embeddings em profundidade — por ora, o ponto principal é que a memória semântica precisa de uma camada de recuperação mais inteligente do que um índice de palavras-chave.
A memória semântica viável mais simples é uma tabela de fatos com uma descrição de texto, consultada com busca por palavras-chave para começar e atualizada para busca vetorial quando a busca por palavras-chave falha:
Cada tipo de memória tem um encaixe natural. O erro que cometi cedo foi alcançar a memória episódica quando eu na verdade precisava de memória semântica, e vice-versa. Aqui está o guia de decisão que uso:
| Pergunta | Tipo de memória |
|---|---|
| Sobre o que estamos falando agora? | Curto prazo (janela de contexto) |
| O que tentamos na última vez com este cliente? | Episódica |
| O que o sistema de cobrança faz? | Semântica |
| Como executo um reembolso? | Procedural |
Comece com curto prazo. A janela de contexto é gratuita e instantânea. Só mova informações para memória persistente quando atingir um limite real: a sessão termina e você precisa dela novamente (→ episódica), o agente não tem conhecimento de domínio que não consegue inferir (→ semântica), ou um fluxo de trabalho é complexo demais para manter no contexto (→ procedural).
A confusão episódica vs. semântica é o erro mais comum. A regra: se a informação é sobre um evento passado específico ("o cartão deste cliente foi recusado às 14h na terça-feira"), é episódica. Se é um fato geral que seria verdadeiro para qualquer cliente ("nosso processador de cobrança tenta novamente cobranças com falha após 24 horas"), é semântica.
Não exagere na engenharia de memória procedural. Na maioria dos sistemas que construí, a memória procedural são apenas schemas de ferramentas e YAML de runbook, não um banco de dados separado. O agente lê a definição da ferramenta e sabe como usá-la. Só construa um armazenamento dinâmico de memória procedural se o conjunto de ferramentas mudar frequentemente em tempo de execução.
Prompt reflexivo: Para o seu próprio caso de uso de agente, quais tipos de memória são fundamentais? Qual deles, se você removesse, causaria falha imediata no agente? Esse é o que você deve construir primeiro.
1. Um cliente abre uma nova sessão de suporte sobre um problema de cobrança com o qual já entrou em contato com o suporte duas vezes antes. Qual tipo de memória permite ao agente evitar sugerir passos que já falharam?
Correct Answer: B
A memória episódica armazena o que aconteceu em sessões passadas (passos tentados, resultados). A memória semântica armazena fatos gerais sobre o sistema de cobrança — não te dirá o que foi tentado com este cliente específico.
2. O agente de suporte precisa saber que 'código de erro 4003 significa que o filtro antifraude do processador de cartão bloqueou a cobrança.' Onde este fato pertence?
Correct Answer: C
A memória semântica armazena fatos sobre o mundo que são verdadeiros independentemente da sessão ou do cliente. Mapeamentos de código de erro são fatos — eles não mudam por cliente e não estão vinculados a um evento passado específico.
3. Qual é o principal risco de usar uma janela deslizante simples para gerenciamento de memória de curto prazo?
Correct Answer: C
Uma janela deslizante mantém apenas as últimas N conversas. Se o cliente mencionou um detalhe chave na conversa 3 e a janela mantém apenas as conversas 8-18, o agente perde esse contexto completamente — sem aviso.
4. Você está construindo um agente que executa um processo de reembolso de múltiplos passos. Os passos são fixos e não mudam por cliente. Qual tipo de memória se encaixa melhor?
Correct Answer: C
Um processo fixo de múltiplos passos é conhecimento procedural — é uma habilidade ou como-fazer, não um fato sobre o mundo e não um evento passado. Schemas de ferramentas e YAML de runbook são o encaixe natural. Curto prazo funciona para casos simples, mas a memória procedural escala melhor quando o processo é complexo ou compartilhado entre agentes.
5. Um colega sugere armazenar toda a memória em uma tabela 'memória' para manter as coisas simples. Qual é o modo de falha mais provável dessa abordagem?
Correct Answer: B
O problema central com uma tabela de memória única é a recuperação: 'dar-me memória relevante para esta consulta' retorna uma mistura de episódios passados, fatos gerais e contexto desatualizado. Cada tipo precisa de uma estratégia de recuperação diferente. Separá-los por tipo torna cada consulta respondível com a estratégia certa.
6. Qual situação corretamente indica a necessidade de atualizar de busca por palavras-chave para recuperação baseada em embeddings na memória semântica?
Correct Answer: B
A busca por palavras-chave falha quando a consulta e o fato correspondente usam palavras diferentes para o mesmo conceito. 'Erro de cobrança que parece problema de login' não corresponderá a um fato intitulado 'falha na validação do método de pagamento' mesmo que descrevam a mesma coisa. Esse é o sinal para adicionar embeddings — o módulo 03 cobre a implementação.
7. A memória episódica está para a memória semântica assim como _______ está para _______.
Correct Answer: A
Um arquivo de caso registra o que aconteceu em uma interação passada específica — como a memória episódica. Um livro didático contém fatos gerais verdadeiros em muitas situações — como a memória semântica. A distinção é evento-específico vs. conhecimento-geral.