Voltar para Artigos

Construindo Agentes de IA Autônomos - Parte 1: Gerenciamento de Memória

Antes de desenvolver qualquer agente de IA, é fundamental definirmos a estratégia de retenção de contexto. A memória não é apenas um armazenamento de dados; é a espinha dorsal da "personalidade" e da utilidade do agente. Temos que nos perguntar o seguinte sobre a nossa aplicação:

  • Memória de Curto Prazo? É necessária para garantir a continuidade e fluidez da conversa imediata?
  • Memória de Longo Prazo? O agente precisa lembrar de fatos de sessões passadas?
  • Granularidade? Ela tem que guardar todos os detalhes exatos ou apenas o conceito geral?
  • Recuperação (Retrieval)? Como será a guarda, a busca e o uso dessas informações?
Arquitetura de Memória em IA
Arquitetura comparativa: Memória de Curto Prazo vs Longo Prazo em sistemas de IA.

Exemplo Prático: Pam - Friendly AI Teacher

Interface Pam AI Teacher

Figura 1: Pam, uma agente de IA projetada para ajudar usuários a praticar idiomas via WhatsApp.

O intuito da Pam é atuar como uma amiga conversando com você, uma amiga que tem muito conhecimento de línguas e sugere correções quando existe oportunidade.

Em uma conversa como essa, não é necessário um banco de dados com detalhes exatos de cada assunto. Como o objetivo é fazer o usuário falar e exercitar, eu precisava de um histórico com informações relevantes sobre o usuário apenas, e que tenham sido trazidas por ele durante a conversa: nome, profissão, hobbies, o que fez recentemente, gosto musical, etc.

Respondendo às perguntas para a Pam:

  • Sim (Curto Prazo): Configurei que pelo menos as últimas 10 mensagens devem estar intactas sempre para manter o fluxo.
  • Sim (Longo Prazo): Necessário para personalização.
  • Não (Detalhes): Pode ser uma memória que lembra vagamente de informações trazidas pelo usuário (resumos).
  • Estratégia: Memória resumida resolve, sempre sendo passado o resumo acumulado e as últimas conversas para a LLM.

A Solução: Memória Elástica

Nesse caso, desenvolvi uma arquitetura de "Memória Elástica". Ela funciona como um buffer inteligente que se adapta conforme a conversa evolui, gerenciado diretamente pelo LangGraph.

Visualização da Memória Elástica
Visualização da compressão de mensagens antigas em um "núcleo de resumo" enquanto o contexto recente permanece nítido.

A dinâmica funciona da seguinte forma:

  • A conversa inicia apenas com os system prompts.
  • Conforme o usuário conversa, novas mensagens preenchem a janela de contexto.
  • Quando atinge um threshold de tokens, a conversa é processada.
  • O sistema gera um resumo de tudo exceto as últimas X mensagens (para garantir que a IA não "esqueça" o que acabou de ser dito).
  • Uma nova memória é instanciada contendo: [Resumo Anterior + Novas Mensagens Recentes].

Benefícios dessa abordagem

  • Fluidez da conversa mantida
  • Baixo uso de tokens (Redução de Custo)
  • Baixa latência nas respostas
  • Gerenciamento simplificado
  • Baixo custo de armazenamento
  • Encapsulamento simples no LangGraph

Ler a Parte 2: Workflows vs Agentes
Voltar para Artigos