Remplacer la mémoire par défaut d'OpenClaw par Redis et Qdrant pour les systèmes multi-agents en production

✍️ OpenClawRadar📅 Publié: March 29, 2026🔗 Source
Remplacer la mémoire par défaut d'OpenClaw par Redis et Qdrant pour les systèmes multi-agents en production
Ad

Mise à l'échelle de la mémoire d'OpenClaw pour les systèmes multi-agents en production

Un développeur utilisant OpenClaw dans une configuration multi-agent en production sur un VPS auto-hébergé pendant deux mois a constaté que la couche mémoire par défaut devenait problématique à grande échelle. Bien que l'approche Markdown initiale et la mémoire SQLite ultérieure fonctionnent bien pour un usage local, elles s'effondrent avec plusieurs agents fonctionnant en parallèle, des sessions s'étalant sur plusieurs jours, et la nécessité pour les agents de récupérer un contexte pertinent à partir de travaux passés. Les problèmes spécifiques incluaient : pas de recherche sémantique, pas de partage de mémoire entre agents, et des écritures concurrentes désordonnées.

Ad

Solution d'architecture Redis + Qdrant

Le développeur a reconstruit le système de mémoire avec l'architecture suivante :

  • Redis pour l'état éphémère chaud : Tâche en cours, fenêtre de contexte récente, cache des appels d'outils avec TTL
  • Qdrant pour la mémoire vectorielle persistante : Épisodes passés, observations, connaissances extraites
  • Trois collections dans Qdrant : agent_episodes, agent_observations, agent_knowledge
  • Partage de connaissances inter-agents : Les épisodes sont limités par agent, tandis que les connaissances sont partagées entre tous les agents
  • Reclassement avec décroissance temporelle : Empêche les souvenirs obsolètes de polluer la récupération
  • Redis pub/sub : Utilisé pour la signalisation légère d'événements entre agents
  • Embedding par lots + upserts asynchrones Qdrant : Empêche la boucle de l'agent de se bloquer sur les écritures

Détails d'implémentation

Le développeur a documenté l'implémentation complète, y compris les décisions architecturales, le raisonnement de configuration HNSW, la classe de gestionnaire de mémoire, comment ils se sont connectés à la boucle d'observation, et la stratégie de nettoyage/élagage. Pour les modèles d'embedding, ils utilisent text-embedding-3-small et ont envisagé de passer entièrement en local avec nomic-embed-text mais n'en ont pas encore eu besoin.

📖 Lire la source complète : r/openclaw

Ad

👀 See Also