Replacing OpenClaw's Default Memory with Redis and Qdrant for Production Multi-Agent Systems

Scaling OpenClaw Memory for Production Multi-Agent Systems
A developer running OpenClaw in a production multi-agent setup on a self-hosted VPS for two months found that the default memory layer became problematic at scale. While the initial Markdown approach and later SQLite memory work fine for local use, they fall apart with multiple agents running in parallel, sessions spanning days, and the need for agents to retrieve relevant context from past work. The specific issues included: no semantic search, no cross-agent memory sharing, and messy concurrent writes.
Redis + Qdrant Architecture Solution
The developer rebuilt the memory system with the following architecture:
- Redis for hot ephemeral state: Current task, recent context window, tool call cache with TTL
- Qdrant for persistent vector memory: Past episodes, observations, extracted knowledge
- Three collections in Qdrant: agent_episodes, agent_observations, agent_knowledge
- Cross-agent knowledge sharing: Episodes are scoped per agent, while knowledge is shared across all agents
- Time-decay reranking: Prevents stale memories from polluting retrieval
- Redis pub/sub: Used for lightweight agent-to-agent event signaling
- Batch embedding + async Qdrant upserts: Prevents the agent loop from blocking on writes
Implementation Details
The developer documented the full implementation including architecture decisions, HNSW configuration reasoning, the memory manager class, how they hooked into the observation loop, and cleanup/pruning strategy. For embedding models, they're using text-embedding-3-small and considered going fully local with nomic-embed-text but didn't need to yet.
📖 Read the full source: r/openclaw
👀 See Also

OpenClaw Pre-Launch Checklist for Security and Reliability
A Reddit user shares a practical six-point checklist for OpenClaw setup before going live, covering access control, safety rules, memory management, automation testing, delivery validation, and failure handling.

OpenClaw setup for human-in-the-loop browser automation with Docker, Chromium, and noVNC
A developer shares their Docker container setup that enables OpenClaw to handle CAPTCHAs and approvals mid-run by using Chromium with noVNC for remote access, requiring ~300MB RAM and 3-second cold starts.

Bug Hunt: WireGuard Crashes and MTU Mismatch in GKE
Lovable engineers traced user errors to anetd crashes from a concurrent map access panic in Google's WireGuard integration, then found a secondary MTU mismatch after disabling encryption.

Anthropic publishes Champion Kit for Claude Code adoption
A playbook for engineers pushing Claude Code at their company: share reusable prompts, answer in public channels, and host a weekly show-and-tell thread — ~40 minutes total per week.