Tese

Uma memória de agente se projeta pela repartição das suas decisões, não pelo formato de armazenamento

Info

Escrito originalmente em francês. Traduzido por IA — o sentido foi preservado, não a prosa.

Ângulo

Dar memória a um assistente de desenvolvimento não é escolher um lugar onde escrever: é repartir cinco decisões — onde a memória reside, o que fica retido nela, quando ela é comprimida, com que cadência ela é escrita e quando ela é relida. Quatro delas podem ser automatizadas sem perda; a quinta, o recarregamento, precisa continuar sendo um gesto humano, porque é a única que consome o recurso raro de uma sessão. Uma memória fracassa por essa repartição muito antes de fracassar pelo formato: um arquivo Markdown mal repartido não vale mais do que um banco de dados, e uma repartição certeira funciona nos dois.

Síntese

O problema de partida parece um problema de armazenamento. O Claude Code esquece tudo entre duas sessões, então é preciso escrever em algum lugar o que ele deveria saber. A questão parece encerrada assim que você decide o formato: arquivos Markdown no repositório git em vez de um diretório escondido na máquina.

Essa escolha, na verdade, resolve só uma das decisões, e é justamente a única totalmente reversível. As outras quatro vêm depois, e cada uma decide entre um humano e uma máquina.

O que fica retido não é mais apontado à mão. Um modelo leve relê cada troca e decide sozinho o que entra no log do dia e o que sobe para a memória de longo prazo. A decisão não desapareceu: ela passou do gesto para o texto — um prompt, seções obrigatórias, uma instrução de deduplicação. Esse deslocamento é o ponto mais discutível de todo o dispositivo, porque contradiz uma posição mais bem estabelecida em outro lugar, segundo a qual o que dá valor a uma persistência é exatamente o fato de um humano ter dito "isso importa". As duas se sustentam, mas não para o mesmo volume: ninguém aponta à mão vinte trocas por dia.

Quando comprimir também não fica por conta da boa vontade. Um teto de trezentas linhas em long_memory.md dispara a consolidação, e é a restrição de tamanho — arbitrária, assumida — que cria a ocasião de reler. Sem ela, a manutenção continua sendo uma intenção.

Com que cadência escrever é imposto pelo ponto de engate escolhido, e é aí que começa o erro. Um hook chamado Stop sugere um fim de sessão; ele dispara depois de cada turno. Essa frequência decide em seguida tudo o que é sustentável: o modelo escolhido, a duração aceitável, o orçamento por execução. Um limiar desprezível — menos de um dólar por mês — não compra uma economia, compra o desaparecimento de uma pergunta, e uma automação que você discute a cada troca acaba desligada.

Quando reler é a única decisão que não foi entregue. Escrever não custa nada a ninguém; carregar ocupa a janela de uma sessão, e injetar de ofício a memória de um projeto numa sessão aberta para três linhas piora a resposta. Daí /memory_load à mão, que parece uma limitação e é uma arbitragem.

Restam as falhas próprias dessa montagem, e elas também não vêm do formato. Um automatismo que chama a ferramenta cujo fim ele monitora acorda a si mesmo. Um agente utilitário lançado a partir do diretório do projeto herda as regras de redação desse projeto e para de devolver a estrutura que você pediu. Dois defeitos de concepção, duas decisões mal repartidas entre o que o automatismo faz e o que ele precisa reconhecer.

O que o conjunto deixa ver: um sistema de memória não se julga pelo que ele conserva, mas pelo lugar onde cada decisão foi colocada — e continua sendo possível deslocar tudo, menos a última.

Tensões / contradições

A contradição principal é sobre quem aponta o que sobrevive. Uma posição estabelecida em outro lugar sustenta que o valor de uma persistência vem do gesto pelo qual um humano diz "isso importa", e que uma conservação exaustiva não aponta nada; este sistema delega essa triagem a um modelo, segundo um critério redigido uma vez. A linha de partilha não está resolvida: ela parece depender do volume e da tolerância à perda silenciosa, mas nada aqui diz por onde ela passa exatamente.

Segunda tensão, menos visível: a memória é escrita no repositório para ser inspecionável e corrigível à mão, e é produzida numa cadência que torna essa releitura improvável. A inspecionabilidade é real como propriedade, incerta como prática.

Questões

  • Como uma repartição desse tipo se transpõe para um time, onde a memória escrita por um vira o contexto recarregado por outro?
  • Que sinal permitiria saber que um critério de triagem delegado passou a descartar o que importava?