Agentes não precisam de memória, precisam de documentação

Engenheiros de IA estão repensando como agentes de software devem “lembrar” trabalhos passados, argumentando que armazenamentos opacos de memória e bancos vetoriais muitas vezes criam cruft desestruturado e desatualizado, enquanto documentação explícita e versionada, ADRs e Markdown local ao repositório podem dar aos agentes orientações mais claras e auditáveis. Muitos preferem tratar agentes como desenvolvedores júnior: restringi-los com AGENTS.md, regras de lint, testes e pastas bem estruturadas, e então fazer com que os próprios agentes ajudem a manter a documentação sincronizada com o código. Outros contra-argumentam que a documentação também apodrece, então sistemas práticos provavelmente precisarão de uma mistura de docs curados, memória leve, forte gestão de contexto e feedback determinístico, em vez de uma única camada mágica de memória.

Papel de “Memória” vs Documentação

  • Muitos concordam que plugins ingênuos de memória (trechos apenas anexados, armazenamentos opacos) rapidamente ficam desatualizados, ruidosos e difíceis de curar.
  • Vários argumentam que documentação bem estruturada (AGENTS.md, ADRs, especificações, decisões) é uma melhor camada de “memória”: consultável, auditável e atualizável.
  • Outros contra-argumentam que a documentação também apodrece, pode ficar fragmentada e raramente reflete a realidade, a menos que alguém (muitas vezes o agente) tenha a tarefa explícita de mantê-la sincronizada.
  • Alguns veem a distinção como principalmente semântica: documentação é apenas um sistema de memória estruturado e externalizado.

Práticas Concretas e Estruturas de Repositório

  • Configurações populares:
    • AGENTS.md minimalista apontando para documentos focados.
    • Pastas Markdown baseadas em feature/issue; árvores decisions/, plans/, knowledge/, workbench/.
    • Arquivos de índice/catálogo que descrevem cada documento e quando lê-lo (“regras read_if).
  • Várias ferramentas e padrões mencionados: “brains” em Markdown em repositórios, ferramentas CLI para gerenciar documentos, armazenamentos de documentos apoiados por S3 ou git, marketplaces internos de habilidades e MCPs de memória personalizados.

Comportamento do Agente, Controle e Deriva

  • Reclamação recorrente: agentes ignoram ao longo do tempo sistemas sofisticados de memória/ADR/princípios e recuam para grep + scripts rápidos em Python.
  • Forte desejo por regras executáveis (por exemplo, “use jq, não Python ad hoc”) por meio de hooks, regras de lint com mensagens prescritivas e monitores de runtime determinísticos.
  • Alguns usam ferramentas parecidas com entrevistas ou tokens de princípio/versão em comentários para orientar agentes e disparar reavaliação quando os princípios mudam.

Teste, Verificação e Feedback

  • Experiências mistas com loops TDD para agentes: testes garantem proteção contra regressão e comunicam intenção, mas podem se degradar em mera marcação de caixas.
  • Alternativa: habilidades personalizadas de “verify” e feedback baseado em lint adaptado a code smells e princípios arquiteturais específicos do projeto.
  • Feedback determinístico (semelhante a pontuação no estilo RL) é visto como poderoso, mas difícil de operacionalizar.

Gestão de Contexto e Avaliação

  • Forte foco em gestão explícita de contexto: poda dinâmica, sessões por pasta, monorepos com estrutura clara.
  • Ceticismo em relação a enormes pilhas de documentos gerados por IA; preocupação de que virem “AI slop” ilegível e não ajudem de forma mensurável.
  • Pedidos por avaliações A/B reais de configurações pesadas em documentação versus minimalistas; as evidências atuais no tópico são anedóticas.

Preocupações de Segurança e Multiagente

  • Alguns executam muitos agentes 24/7 com comunicação entre agentes e relatam bons resultados; outros expressam medo de implantação em larga escala, desalinhamento e risco para sistemas financeiros.
  • No geral, os participantes concordam que sistemas de agentes precisam de estado transparente e inspecionável mais do que “memórias” opacas de longo prazo.