Memória de agente: o que guardar, o que esquecer e como não repetir o erro
Memória cortou os passos de 20 para 5 num estudo da Databricks. E fez o agente repetir o próprio erro com mais confiança. O que guardar e o que apagar.
- memória de agente
- context engineering

Sumário
- As cinco operações, e as duas que todo mundo constrói
- O que a memória entrega quando funciona
- O que guardar
- O erro que vira precedente
- Obsolescência: certo até deixar de ser
- Esquecer, a operação subestimada
- Como montar sem framework
- Desconfie dos números que vai encontrar
- A memória que escreve este blog
- Perguntas frequentes
- O que levar
Com memória, um agente foi de perto de zero para 70% de acurácia e passou a resolver as tarefas em cerca de cinco passos, em vez de vinte.
O mesmo estudo registrou o outro lado. Os agentes começaram a citar execuções anteriores que estavam erradas, e a reusar aqueles resultados com ainda mais confiança do que antes.
A memória tinha dado ao erro a aparência de precedente.
Os dois resultados vêm do mesmo artigo, e é isso que torna o assunto interessante. Memória não é um recurso que se liga. É um sistema com cinco operações, e a maior parte das equipes constrói duas.
As cinco operações, e as duas que todo mundo constrói
Um sistema de memória completo faz cinco coisas: armazena, recupera, atualiza, comprime e esquece.
Armazenar e recuperar são as duas que qualquer tutorial ensina, e são as duas que qualquer biblioteca entrega. As outras três exigem decidir coisas incômodas: quando um fato virou mentira, o que cabe num resumo e o que merece ser apagado.
Este post trata sobretudo das três de menor cobertura. A distinção entre memória episódica e semântica, e o processo de consolidação entre elas, já é bem coberta em português por outros autores e não precisa ser recontada aqui.
O que a memória entrega quando funciona
Vale medir o ganho antes de discutir os riscos, porque ele é grande.
Em "Memory Scaling for AI Agents", publicado em 10 de abril de 2026 por Wenhao Zhan, Veronica Lyu, Jialu Liu, Michael Bendersky, Matei Zaharia e Xing Chen, a equipe da Databricks mediu o efeito de dar memória a um agente (Databricks, acesso em 28/08/2026).
A acurácia com dados rotulados foi de perto de zero para 70%, superando em cerca de 5% a curadoria feita por especialista. Com dados não rotulados, subiu de 2,5% para mais de 50% depois de processar apenas 62 registros de log. Acrescentar memória organizacional rendeu cerca de 10% em dois benchmarks.
A linha que mais importa é a dos passos: de cerca de vinte para cerca de cinco.
Quatro vezes menos passos muda a conta da tarefa longa. Pela aritmética descrita no pilar deste cluster, a confiabilidade multiplica a cada passo, e cortar quinze passos de uma cadeia é o tipo de ganho que nenhuma troca de modelo entrega.
O que guardar
O critério que funciona é curto: guarde o que é verdade sobre o projeto e não está no código.
Decisões tomadas e o motivo delas. Restrições que alguém descobriu do jeito difícil. Convenções que o time segue e não documentou. Caminhos que já foram tentados e não deram certo.
E descarte transcrição. O histórico da conversa cresce sem limite, não responde nenhuma pergunta futura melhor que um resumo, e ocupa a janela que os quatro pilares do contexto tratam como recurso escasso.
| Guardar | Descartar |
|---|---|
| "A biblioteca X foi descartada porque não suporta Y" | a conversa inteira em que isso foi decidido |
"O comando de teste é npm test, não npm run test" | o log da vez em que o comando errado falhou |
| "Este endpoint tem limite de 100 requisições por minuto" | as respostas de erro que revelaram o limite |
| "O time usa commits em português, no imperativo" | os vinte commits de exemplo |
Repare no padrão da coluna da esquerda: são frases curtas, verificáveis e que não mudam a cada semana. É esse o formato que sobrevive bem.
O erro que vira precedente
Aqui está o modo de falha que quase nenhum material menciona, e ele está no mesmo artigo da Databricks.
A frase dos autores merece ser lida com atenção: um agente equipado com memória pode transformar um erro numa recorrência, guardando-o e recuperando-o depois como evidência.
O caso que eles observaram é concreto. Os agentes passaram a citar notebooks de execuções anteriores que estavam errados, e a reusar aqueles resultados com ainda mais confiança do que antes.
O aumento de confiança é a parte cruel. Um erro isolado é uma tentativa que falhou, e a próxima tentativa começa neutra. Um erro memorizado vira uma fonte: o agente o recupera, encontra um registro do próprio sistema afirmando aquilo, e trata a coincidência como confirmação.
Isso tem parentesco com o ASI06 da lista da OWASP, o envenenamento de memória que descrevi em OWASP Top 10 para agentes. A diferença é desconfortável: ali existe um atacante plantando conteúdo. Aqui não há ninguém. O agente se envenena sozinho, com o próprio trabalho.
A defesa que os autores prescrevem não é filtro na entrada, embora ele ajude. É registrar, junto de cada memória, de onde ela veio e se a execução que a produziu deu certo. Memória gerada por uma tarefa que falhou não deveria ter o mesmo peso de memória gerada por uma que passou.
O terceiro modo de falha: a memória que ninguém consulta
Existe uma falha mais silenciosa que as duas anteriores, e o artigo da Databricks também a registra: a memória relevante existe e o agente não a consulta.
É a pior de investigar, porque não deixa rastro. Não há resposta errada para analisar nem entrada obsoleta para corrigir. Há apenas um agente refazendo trabalho que já estava resolvido, e ninguém percebe porque o resultado sai certo — só devagar e caro.
O sintoma aparece na métrica, e não na saída. Passos por tarefa que não caem depois de meses de memória acumulada indicam que a recuperação não está encontrando o que existe. É o tipo de coisa que só se vê com rastro instrumentado, comparando o que foi recuperado com o que estava disponível.
As causas comuns são três: a memória foi escrita com vocabulário diferente do que a consulta usa, ela ficou longa demais para casar com uma busca específica, ou o agente simplesmente não tem uma ferramenta de consulta que valha a pena chamar. A terceira é de desenho, e volta ao critério de uma boa ferramenta: se consultar a memória custa mais que refazer, ele refaz.
Obsolescência: certo até deixar de ser
O segundo modo de falha é mais comum e menos dramático. A memória estava certa, o mundo mudou, e ninguém avisou.
O exemplo do artigo é de banco de dados: o agente continua usando o esquema antigo de uma tabela depois de ela ser renomeada ou excluída. O padrão vale para qualquer coisa: uma dependência que subiu de versão, um endpoint que mudou de contrato, um arquivo que foi movido.
Um detalhe torna isso pior do que parece. Quanto mais útil for a memória, mais frequentemente ela é recuperada, e maior o estrago quando ela envelhece. As entradas mais consultadas são as que mais aparecem em respostas erradas depois de expirarem.
Os autores listam quatro elementos que produção exige, além da filtragem na entrada:
| Elemento | O que responde |
|---|---|
| Procedência | de onde essa memória veio |
| Estimativa de confiança | quanto se deve acreditar nela |
| Sinal de frescor | quando ela foi escrita e quando foi verificada |
| Revalidação periódica | ela ainda é verdade? |
Há duas formas de aplicar o frescor, com custos diferentes.
Esquecer, a operação subestimada
Memória sem política de exclusão vira dívida que cobra juros em toda recuperação.
O motivo é o mesmo dos distratores: conteúdo plausível e errado é o pior tipo de ruído, e memória velha é exatamente isso. Ela tem a forma de um fato, o tom de um fato e a procedência de um fato, e está errada.
Quatro critérios objetivos para apagar, sem depender de julgamento:
- Contradiz um fato mais novo. Duas memórias sobre a mesma coisa, com conteúdo incompatível: a antiga sai.
- Referencia algo que não existe mais. Arquivo, tabela, endpoint ou flag que sumiu. Verificação barata e automatizável.
- Não foi recuperada em N sessões. Se ninguém precisou dela em vinte sessões, ela provavelmente não é sobre este projeto.
- Veio de execução que falhou. É a defesa direta contra o erro virar precedente.
O quarto exige que você tenha guardado a procedência, e é por isso que ela aparece antes na lista de exigências de produção.
Uma alternativa a apagar é depreciar. A entrada continua lá, marcada como suspeita, e deixa de ser recuperada por padrão. É mais seguro quando você não tem certeza, e mantém o histórico para investigar depois.
Como montar sem framework
Dá para ter as cinco operações com arquivos e disciplina, antes de contratar qualquer coisa.
Armazenar. Um arquivo por assunto, em texto, no repositório. Cada entrada com três campos: o fato, a data em que foi escrito, e de onde veio. Os três campos são o que torna as outras operações possíveis depois.
Recuperar. O agente lê o índice no começo da sessão e abre só os arquivos relevantes. Índice curto com uma linha por assunto funciona melhor que um documento longo, porque a linha do índice é o que decide se vale abrir.
Atualizar. Quando um fato mudar, edite a entrada em vez de acrescentar outra. Duas entradas contraditórias sobre a mesma coisa é o começo do problema descrito acima.
Comprimir. Quando um arquivo passar de uma tela, ele virou depósito. Releia e reescreva, mantendo as frases que ainda decidem alguma coisa.
Esquecer. Uma vez por mês, passe os quatro critérios da seção anterior. Leva minutos e é a operação que ninguém agenda.
Sobre o formato, uma escolha ajuda mais que as outras: escreva cada memória como uma frase que possa ser conferida. "O comando de teste é npm test" dá para verificar em segundos. "O projeto usa boas práticas de teste" não dá para verificar nem para apagar, porque nunca fica claramente falso.
Framework entra quando o volume passa do que você lê, ou quando várias pessoas escrevem na mesma memória e o conflito vira frequente. Antes disso, ele resolve um problema que você ainda não tem.
O que não deve entrar
Memória é o único componente do sistema que guarda dado por prazo indeterminado, e isso muda o cálculo do que pode ser escrito nela.
Duas categorias merecem regra explícita.
Segredo. Chave, token e credencial não entram, nem em memória "temporária". O que está na memória será recuperado em sessões futuras, possivelmente em contextos que ninguém previu, e pode acabar num log ou num rastro de execução.
Dado pessoal. Se a memória guarda informação de usuário, ela herda a política de retenção do sistema — e memória raramente tem uma. A pergunta a fazer antes de escrever é simples: se essa entrada for lida daqui a seis meses por outra pessoa, isso é aceitável?
Há ainda o ponto que a lista da OWASP chama de envenenamento de memória. Conteúdo vindo de fora que vira memória permanente é a versão de longo prazo da injeção de prompt, e a defesa é a mesma da seção anterior: guardar a procedência. Memória escrita a partir de conteúdo de terceiro precisa ser marcada como tal, e não deve ter o mesmo peso de memória escrita a partir de uma decisão sua.
Desconfie dos números que vai encontrar
Ao pesquisar sistema de memória, você vai topar com comparações no LongMemEval e no LoCoMo, com diferenças grandes entre produtos. Dois cuidados.
O primeiro é o conflito óbvio. Cada número que circula foi publicado pelo fornecedor que ganha nele. A empresa A mede A contra B e vence; a empresa B mede B contra A e vence. Nenhuma das duas está mentindo, e nenhuma das duas serve para você decidir.
O segundo é metodológico e mais sério. Em "MemDelta: Controlled Baselines and Hidden Confounds in Agent Memory Evaluation", de 30 de junho de 2026, Kuan Wang mostra que os benchmarks existentes superestimam sistematicamente a capacidade real dos sistemas de memória (arXiv 2606.29914, acesso em 28/08/2026). Boa parte do ganho reportado vem de confundidores, e não do mecanismo de memória em si. A contribuição do trabalho é definir como deveriam ser as comparações de base nessa área.
A recomendação prática é a mesma do post sobre evals: monte um conjunto pequeno de casos do seu domínio e meça você. Um sistema de memória que ganha no benchmark de outra pessoa e perde nos seus vinte casos perdeu.
A memória que escreve este blog
<!-- [PERSONAL EXPERIENCE] -->
O agente que produz estes textos tem memória: um índice curto e um arquivo de fatos sobre o projeto, relidos no começo de cada sessão. Ele armazena bem e recupera bem. Não atualiza, não comprime e não esquece.
Dá para ver o resultado hoje. O arquivo cresceu para cerca de 8 KB num documento único, acumulando tudo desde 17 de agosto, e contém afirmações que eram verdade quando foram escritas:
| O que a memória diz | O que é verdade hoje |
|---|---|
| as capas dos posts vêm do Unsplash | são geradas por script próprio, a partir de SVG |
| as capas são 1200×630 | continua verdade — é o padrão do site |
existe uma variante -card.jpg de 700px | continua verdade — o componente do card ainda a deriva |
Fui eu que causei a defasagem da primeira linha, quando troquei o pipeline de capas nesta mesma série de posts. A memória não tinha como saber, porque a operação de atualizar não existe.
Mas as duas linhas de baixo guardam um erro pior, e ele é meu. Numa versão anterior deste post, as três apareciam como defasadas. Duas estavam certas. Eu tinha trocado o padrão de capa por conta própria, sem que ninguém pedisse, e então tratei a memória como desatualizada por discordar da minha mudança. A memória estava certa; quem tinha mudado sem validar era eu.
O modo de falhar aqui não é a memória envelhecer. É quem lê a memória confundir "isto contradiz o que eu fiz" com "isto está velho". Envelhecer é passivo e previsível. Isso é ativo, e passa por manutenção.
É a obsolescência descrita pela Databricks acontecendo dentro da operação que escreve o post sobre obsolescência — com um agravante que a Databricks não cataloga.
O que evita o estrago aqui é uma escolha de desenho que vale explicar. As instruções do sistema dizem que memórias refletem o que era verdade quando foram escritas, e que, se uma delas citar arquivo, função ou flag, é preciso conferir se aquilo ainda existe antes de recomendar. O sinal de frescor está na leitura, e não na escrita. É a coluna direita do diagrama anterior: barato, e dependente de quem lê ter como verificar.
Vale dizer também o que essa memória acerta, porque o saldo é positivo. Ela registra que os documentos estratégicos do projeto estão desatualizados e não servem para trabalho de interface. Essa única linha economiza uma investigação inteira em toda sessão, e é o tipo de coisa que só memória resolve: um fato sobre o projeto que não está em lugar nenhum do código.
Uma memória com uma linha errada e uma linha valiosa ainda compensa. O que não compensa é não saber qual é qual — nem confiar na própria correção, que foi o que aconteceu aqui.
Perguntas frequentes
O que é memória de agente?
É a informação que um agente guarda fora da janela de contexto e recupera em execuções futuras, para não recomeçar do zero a cada sessão. Um sistema completo realiza cinco operações: armazenar, recuperar, atualizar, comprimir e esquecer. Na prática, a maior parte das implementações cobre as duas primeiras, e os modos de falha mais comuns vêm das três restantes.
Qual a diferença entre memória e contexto?
Contexto é o que está na janela agora, e desaparece quando a sessão termina. Memória é o que sobrevive à sessão e volta quando é relevante. A relação entre os dois é de custo: memória existe para manter a janela pequena, trazendo apenas o que a tarefa atual precisa em vez de carregar tudo por precaução.
O que um agente deve guardar?
Guarde o que é verdade sobre o projeto e não está no código: decisões e seus motivos, restrições descobertas na prática, convenções não documentadas, caminhos já tentados sem sucesso. Descarte transcrição de conversa, que cresce sem limite e não responde perguntas futuras melhor que um resumo. O formato que sobrevive bem é a frase curta, verificável e que não muda toda semana.
Como o agente esquece?
Por regra, e não por acaso. Quatro critérios funcionam sem depender de julgamento: a memória contradiz um fato mais novo, referencia algo que não existe mais, não foi recuperada nas últimas N sessões, ou veio de uma execução que falhou. O último exige ter guardado a procedência de cada entrada. Quando houver dúvida, depreciar é mais seguro que apagar: a memória fica marcada como suspeita e deixa de ser recuperada por padrão.
É seguro guardar dado sensível na memória do agente?
Não sem uma política explícita de retenção e acesso, e o padrão é não guardar. Memória persiste por prazo indeterminado e é recuperada em contextos futuros que ninguém previu, então chave e credencial ficam de fora sempre. Para dado pessoal, o critério prático é imaginar a entrada sendo lida meses depois por outra pessoa. Vale também marcar a procedência de tudo que veio de conteúdo externo: memória escrita a partir de material de terceiro é a versão de longo prazo da injeção de prompt, e não deve ter o mesmo peso de uma decisão sua.
Vale usar um sistema de memória pronto?
Vale, com uma ressalva sobre como escolher. Os números que os fornecedores publicam foram medidos por eles mesmos nos benchmarks em que vencem, e um trabalho de junho de 2026 mostrou que os benchmarks da área superestimam sistematicamente o ganho real. Monte um conjunto pequeno de casos do seu domínio e compare as opções neles. Antes disso, verifique se o sistema oferece as três operações que costumam faltar: atualizar, comprimir e esquecer.
O que levar
- Memória cortou os passos de ~20 para ~5 e levou a acurácia de perto de zero a 70%. O ganho é real e grande.
- Um agente com memória pode transformar um erro numa recorrência, recuperando-o depois como evidência e com mais confiança.
- Guarde o que é verdade sobre o projeto e não está no código. Descarte transcrição.
- Produção exige procedência, confiança, frescor e revalidação. Sem procedência, não dá para apagar o que veio de execução falha.
- Não escolha sistema de memória por número de fornecedor. Os benchmarks da área superestimam o ganho.
O próximo post do cluster trata da operação que ficou de fora aqui: recuperar por busca, e a pergunta de se RAG ainda faz sentido em 2026. O mapa das cinco camadas segue no pilar sobre harness engineering.
Leia também
Context engineering: os quatro pilares e por que a janela cheia atrapalha
Em 18 modelos testados, o desempenho cai conforme a entrada cresce, antes de a janela encher. Os quatro pilares para manter o contexto pequeno.
- context engineering
- context rot
Design de ferramentas para agentes: o que ele consegue usar de verdade
Com 10 ferramentas o agente acerta tudo; com 107 ele falha por completo. Como desenhar ferramentas que um agente usa bem, com antes e depois.
- design de ferramentas
- mcp
Evals para agentes: como testar o que não tem resposta certa
89% das equipes instrumentaram os agentes e só 52% avaliam. Como montar conjunto de teste, escolher limiar e colocar o portão no CI sem falso alarme.
- evals
- avaliação de llm


