Criando memórias para agentes de IA
Se você usa IA para programar todos os dias, já sentiu isso: fecha a sessão, abre de novo, e parece que o agente "esqueceu" tudo.
Você precisa repetir contexto, decisões e até erros que já tinham sido resolvidos. Isso cansa, toma tempo e aumenta custo.
Nos últimos meses, testei algumas abordagens e cheguei num modelo simples de entender.
Uma delas foi o ai-memory, do Akita. Não adotei o projeto exatamente como está, mas ele me deu um insight importante: tratar memória de IA como parte do fluxo de trabalho, e não como improviso.
Com isso em mente, cheguei num modelo simples de entender:
- uma memória humana, em Markdown, versionada no Git;
- uma memória operacional, para o agente recuperar contexto rápido.
Hoje uso essas duas camadas juntas.
Camada 1: memória para humanos (Markdown)
A base continua sendo meu vault em Markdown, organizado com zk.
É ali que registro:
- decisões de arquitetura;
- descobertas técnicas;
- logs de sessão.
Essa parte é ótima para leitura humana, revisão por diff e histórico no Git.
Camada 2: memória para o agente (Engram)
Para continuidade entre sessões do agente, adotei o Engram.
Na prática, ele guarda memórias estruturadas (decisões, descobertas, resumos de sessão) e permite recuperar isso com ferramentas simples de busca e contexto.
O ponto que destravou meu uso
Ao validar o setup, apareceu no Pi uma linha com 🧠 unknown no status. Achei que era problema de instalação.
Não era.
Pelos testes e logs, unknown significava projeto ambíguo: eu estava iniciando a sessão em diretório pai com vários repositórios.
A correção foi definir explicitamente o projeto no diretório pai com .engram/config.json.
Exemplo:
~/work/empresa-a/.engram/config.json->empresa-a-platform~/work/empresa-b/.engram/config.json->empresa-b-platform
Depois disso, a recuperação de contexto ficou bem mais estável.
O modelo que ficou bom para mim
Hoje sigo esta regra:
- Engram: memória operacional do agente (curto/médio prazo, retomada de contexto).
- Vault Markdown: memória canônica do time (longo prazo, auditável no Git).
Ou seja: não substituí o vault. Eu complementei.
Resultado prático
Menos repetição de contexto, menos atrito para retomar tarefas e mais clareza sobre o que vai para memória de máquina vs memória de equipe.
Se eu tivesse que resumir em uma frase:
IA com memória funciona melhor quando você separa o que é para o agente lembrar rápido do que é para pessoas manterem como histórico oficial.
Se você trabalha em múltiplos repositórios no mesmo diretório pai, comece por esse detalhe do project_name no Engram. Foi a mudança simples que mais melhorou meu dia a dia.