Substituindo a Memória Padrão do OpenClaw por Redis e Qdrant para Sistemas Multiagente de Produção

✍️ OpenClawRadar📅 Publicado: March 29, 2026🔗 Source
Substituindo a Memória Padrão do OpenClaw por Redis e Qdrant para Sistemas Multiagente de Produção
Ad

Escalando a Memória do OpenClaw para Sistemas Multiagente de Produção

Um desenvolvedor executando o OpenClaw em uma configuração multiagente de produção em um VPS auto-hospedado por dois meses descobriu que a camada de memória padrão se tornou problemática em escala. Embora a abordagem inicial com Markdown e posteriormente a memória SQLite funcionem bem para uso local, elas falham com múltiplos agentes executando em paralelo, sessões que abrangem dias e a necessidade de os agentes recuperarem contexto relevante de trabalhos anteriores. Os problemas específicos incluíram: nenhuma busca semântica, nenhum compartilhamento de memória entre agentes e gravações concorrentes confusas.

Ad

Solução de Arquitetura Redis + Qdrant

O desenvolvedor reconstruiu o sistema de memória com a seguinte arquitetura:

  • Redis para estado efêmero ativo: Tarefa atual, janela de contexto recente, cache de chamadas de ferramentas com TTL
  • Qdrant para memória vetorial persistente: Episódios passados, observações, conhecimento extraído
  • Três coleções no Qdrant: agent_episodes, agent_observations, agent_knowledge
  • Compartilhamento de conhecimento entre agentes: Episódios são escopados por agente, enquanto o conhecimento é compartilhado entre todos os agentes
  • Reclassificação com decaimento temporal: Evita que memórias desatualizadas poluam a recuperação
  • Redis pub/sub: Usado para sinalização leve de eventos entre agentes
  • Embedding em lote + upserts assíncronos no Qdrant: Evita que o loop do agente seja bloqueado por gravações

Detalhes da Implementação

O desenvolvedor documentou a implementação completa incluindo decisões de arquitetura, raciocínio de configuração HNSW, a classe do gerenciador de memória, como eles conectaram no loop de observação e estratégia de limpeza/poda. Para modelos de embedding, eles estão usando text-embedding-3-small e consideraram ir totalmente local com nomic-embed-text, mas ainda não precisaram.

📖 Leia a fonte completa: r/openclaw

Ad

👀 See Also