Dando memória para o agente de IA
No post anterior falei sobre como comecei a usar agentes de IA para programar. Desde então não parei, e um problema ficou cada vez mais evidente: o agente esquece tudo toda vez que você fecha o terminal.
Toda nova sessão começa do zero. Você re-explica o projeto, re-conta as decisões que tomou na semana passada, re-orienta o agente sobre o que estava fazendo. É frustrante — e caro, porque IA cobra por quantidade de texto processado.
O problema dos tokens
Quando você abre o OpenCode (ou qualquer agente de IA) num projeto, ele precisa ler os arquivos do seu código para entender o que está acontecendo. Um projeto médio, com uns 40 arquivos, pode gastar cerca de 20.000 tokens só pra o agente se orientar — antes de você fazer qualquer pergunta.
Se você trabalha num projeto assim e abre 10 sessões por dia, são 200.000 tokens desperdiçados com o agente "reaprendendo" algo que já sabia ontem.
Além disso, tem a amnésia entre sessões. Você gastou meia hora explicando a arquitetura do projeto, as regras de negócio, o que estava tentando resolver. Fechou o terminal. No dia seguinte: zero. Começa de novo.
A solução que encontrei
Encontrei um projeto do @lucasrosati chamado claude-code-memory-setup que resolve exatamente isso. A ideia central é simples: usar o Obsidian como a "memória de longo prazo" do agente.
O Obsidian é um aplicativo gratuito de anotações em Markdown. Mas o que importa aqui não é a interface bonita — é que ele funciona com arquivos locais, pode ser versionado no git, e tem um protocolo chamado MCP que permite que o agente leia e escreva notas diretamente nele.
A outra parte da solução é o Graphify, uma ferramenta que transforma o seu código-fonte num mapa de conhecimento. Em vez do agente ler todos os arquivos do projeto toda vez, ele consulta esse mapa — que é gerado uma vez e atualizado só quando necessário.
O resultado? Em vez de 20.000 tokens para se orientar, o agente usa cerca de 280. Uma redução de quase 70 vezes.
A adaptação para o OpenCode
O projeto original foi feito para o Claude Code, que é outra ferramenta de agente. Como uso o OpenCode, precisava adaptar.
O Claude Code usa um arquivo chamado CLAUDE.md para receber instruções. O OpenCode usa AGENTS.md. Mas a diferença maior é que o OpenCode tem recursos nativos que tornam a solução mais elegante: comandos customizados e skills.
Em vez de instruções de texto espalhadas num arquivo de configuração, criei dois comandos reais que aparecem no terminal com autocomplete:
/retomar— lê as últimas sessões salvas no vault e carrega o contexto do projeto/salvar— escreve uma nota estruturada no vault com o que foi feito na sessão atual/setup— roda uma vez quando você começa a trabalhar num projeto novo, verifica se tudo está configurado certo
Isso elimina os scripts Python e os cron jobs que o projeto original precisava. O MCP do Obsidian já faz a comunicação diretamente.
Como fica na prática
O fluxo do dia a dia ficou assim:
$ opencode # abre o agente
/setup # na primeira vez num projeto novo
# verifica vault, AGENTS.md e Graphify
/retomar # carrega contexto das sessões anteriores
# o agente já sabe o que estava sendo feito
[trabalha no projeto] # agente usa o mapa do Graphify
# em vez de re-ler os arquivos
/salvar # persiste a sessão no vault
# cria uma nota com o que foi feito
O agente não precisa mais ser re-explicado. Ele lê o vault, entende o estado do projeto, e continua de onde parou.
O repositório
Empacotei tudo isso num repositório público chamado ia-brain, disponível no Codeberg. A ideia é que qualquer pessoa possa clonar e instalar com um único comando:
git clone https://codeberg.org/gomes-fdr/ia-brain.git
cd ia-brain
./install.sh
O instalador pergunta onde fica o seu vault do Obsidian, faz backup da configuração existente, e instala tudo nos lugares certos.
O repositório também inclui uma coleção de skills reutilizáveis — comportamentos que o agente aprende uma vez e usa em qualquer projeto, como gerar commits no padrão Conventional Commits ou organizar notas no Obsidian segundo as convenções Zettelkasten.
Todo o crédito pela ideia original vai para o @lucasrosati. O ia-brain é uma adaptação, não uma invenção.
Ainda estou aprendendo a trabalhar com agentes de forma produtiva. Mas tirar a amnésia do OpenCode foi um passo importante — agora pelo menos ele lembra quem eu sou quando abro o terminal de manhã.