2 pontos por johnonlee 4 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

Se você é um desenvolvedor que trabalha todos os dias com agentes de IA para programação, conhece bem essa sensação.

Ontem mesmo a gente tinha definido essa convenção junto, mas basta abrir uma nova sessão e é como se fosse uma folha em branco. O fato de eu sempre usar type em vez de interface no TypeScript, de eu já ter dito em review de PR que não gosto daquele padrão, da causa raiz daquele bug que finalmente resolvemos na semana passada — tenho que agir como se tudo isso fosse novidade.

Depois de repetir isso várias vezes, no fim você acaba pensando: "deixa que eu mesmo faço".

Foi para resolver esse problema que eu criei o Monet. A ideia é fazer com que um agente de IA genérico passe a agir como o meu agente. Um sistema que aprende minhas convenções, lembra como eu prefiro trabalhar e acompanha o histórico do projeto por conta própria.


Como funciona

A essência é simples.

Escrita — o agente decide por conta própria. Mesmo sem receber uma instrução como "guarde isso", ele registra sozinho decisões tomadas durante o trabalho, padrões encontrados e problemas que surgiram. Ele filtra o ruído e mantém só o que é sinal.

Leitura — o que foi útil aparece primeiro. Não é uma simples busca por palavra-chave. Memórias que de fato foram muito consultadas e ajudaram a resolver problemas ganham prioridade. Notas zumbis que ninguém procura vão naturalmente ficando para trás.

Crescimento — quanto mais acumula, mais inteligente fica. O primeiro trabalho é mais lento. Porque ele ainda não conhece a base de código, nem as convenções, nem os bugs que vivem aparecendo. Mas, conforme a memória se acumula, o trabalho seguinte acelera. O padrão encontrado ontem, a decisão definida na semana passada, a causa raiz daquele bug — não precisa procurar tudo de novo. Depois de mais ou menos um mês, esse agente deixa de ser uma ferramenta genérica e passa a agir como um engenheiro dedicado que conhece esse projeto por dentro.


Como cheguei até aqui

No começo, eu só ia acumulando anotações em um arquivo. O agente registrava em Markdown o que aprendia durante o trabalho, e no início de uma nova sessão eu fazia include desse arquivo. Era simples, mas, quanto mais acumulava, mais ruído aparecia.

Então, há 4 meses, eu criei um sistema de memória de verdade. O Monet antigo. Ele foi projetado em cima de MCP para que o agente pudesse ler e escrever, e já pensando também em compartilhamento com a equipe. Mas, como o foco ficou muito em compartilhar com o time, a experiência de usar sozinho acabou ficando estranha. Funcionava, mas parecia não encaixar no meu workflow.

Aí eu refiz tudo. Há algumas semanas, deixei de lado temporariamente a meta de compartilhamento em equipe e reconstruí o Monet do zero, focando só em uma pergunta: "isso é algo que eu realmente consigo usar todos os dias?" No momento em que escrevo este texto, 12 agentes leem e escrevem no novo Monet. Ainda não existe uma função de monitoramento, então não consigo tirar números exatos, mas as buscas diminuíram e as leituras/escritas aumentaram bastante em relação antes. Isso significa que os agentes estão selecionando sozinhos o que importa e acumulando isso.


Sinceramente

Na fase de vibe coding, memória não é tão importante. Na maior parte do tempo, são recursos sendo criados do zero e bugs simples. Você pede ao agente "corrige isso aqui" e tudo se resolve dentro da context window.

Mas, quando o app vai ficando mais complexo, a história muda. Para alterar uma linha de código, você precisa verificar dez lógicas relacionadas, e o agente fica rastejando de arquivo em arquivo tentando encontrar side effects. Os erros também aumentam. Mesmo dando 1M de tokens, depois de comprimir o contexto três vezes, você volta ao mesmo lugar.

Em casa, eu uso agentes para criar coisas interessantes em código novo; no trabalho, luto todos os dias com código de mais de 20 anos. No trabalho, memória de agente é indispensável. Sem isso, o trabalho simplesmente não anda.

Foi por isso que comecei a criar e usar uma memória indexada baseada em arquivos. Foi assim que o Monet começou. Hoje em dia, no trabalho, eu deliberadamente coloco os agentes para rodar em círculos — para coletar contexto. A maioria dos tickets se resolve dentro dos primeiros 20% de contexto. Nem preciso dizer quanto tempo e estresse isso economizou.

Mais do que isso, antes eu ficava tentando lembrar "como foi mesmo que corrigi aquele bug?"; agora eu simplesmente pergunto ao Kiro (o agente de programação da empresa). Na maioria das vezes, ele sabe.

Quando você tem dezenas de agentes e milhões de linhas de código, contexto deixa de ser um problema de bytes e passa a ser um problema de infraestrutura. E, nesse momento, memória deixa de ser algo nice-to-have e passa a determinar se o trabalho é viável ou não.


Se quiser experimentar

  • Homepage: monet.team-monet.com
  • GitHub: github.com/team-monet/with-monet — harness de instalação (Apache-2.0)
  • 100% local: o código não sai do seu dispositivo. Embeddings on-device, sem rede nem telemetria. A memória é um único arquivo SQLite em ~/.monet — você pode abrir, fazer backup e exportar diretamente.
  • Uso gratuito. O engine é um binário compilado fechado, mas a interface de integração segue o padrão MCP. Integração direta com agentes compatíveis com MCP, como Claude Code, Cursor e Codex.

Principalmente, eu gostaria que pessoas assim testassem:

  • Desenvolvedores que trabalham seriamente todos os dias com agentes de IA
  • Quem já sentiu o cansaço de pensar "tenho que explicar isso de novo que nem ontem..."
  • Quem pensa "memória de agente? por que isso seria necessário?" (de verdade — eu também quero ouvir opiniões contrárias)

Todos os exemplos e cenários usados neste texto são baseados em experiências reais.

Ainda não há comentários.

Ainda não há comentários.