Ersetzen des Standard-Speichers von OpenClaw durch Redis und Qdrant für produktive Multi-Agenten-Systeme

✍️ OpenClawRadar📅 Veröffentlicht: 29. März 2026🔗 Source
Ersetzen des Standard-Speichers von OpenClaw durch Redis und Qdrant für produktive Multi-Agenten-Systeme
Ad

Skalierung des OpenClaw-Speichers für produktive Multi-Agenten-Systeme

Ein Entwickler, der OpenClaw zwei Monate lang in einem produktiven Multi-Agenten-Setup auf einem selbst gehosteten VPS betrieb, stellte fest, dass die standardmäßige Speicherschicht bei Skalierung problematisch wurde. Während der anfängliche Markdown-Ansatz und später der SQLite-Speicher für den lokalen Einsatz gut funktionieren, brechen sie bei mehreren parallel laufenden Agenten, Sitzungen über mehrere Tage und der Notwendigkeit für Agenten zusammen, relevante Kontexte aus früheren Arbeiten abzurufen. Die spezifischen Probleme umfassten: keine semantische Suche, keine agentenübergreifende Speicherfreigabe und unübersichtliche gleichzeitige Schreibvorgänge.

Ad

Redis + Qdrant Architektur-Lösung

Der Entwickler baute das Speichersystem mit der folgenden Architektur neu auf:

  • Redis für flüchtige Zustände im Hot-Bereich: Aktuelle Aufgabe, aktueller Kontextfenster, Tool-Aufruf-Cache mit TTL
  • Qdrant für persistente Vektorspeicher: Vergangene Episoden, Beobachtungen, extrahiertes Wissen
  • Drei Sammlungen in Qdrant: agent_episodes, agent_observations, agent_knowledge
  • Agentenübergreifende Wissensfreigabe: Episoden sind pro Agent begrenzt, während Wissen über alle Agenten hinweg geteilt wird
  • Zeitbasierte Neuordnung: Verhindert, dass veraltete Erinnerungen die Abrufe beeinträchtigen
  • Redis Pub/Sub: Wird für leichte Agent-zu-Agent-Ereignissignalisierung verwendet
  • Batch-Embedding + asynchrone Qdrant-Upserts: Verhindert, dass der Agenten-Loop bei Schreibvorgängen blockiert

Implementierungsdetails

Der Entwickler dokumentierte die vollständige Implementierung einschließlich Architekturentscheidungen, HNSW-Konfigurationsüberlegungen, der Speichermanager-Klasse, wie sie in den Beobachtungsloop eingebunden wurden, und der Bereinigungs-/Bereinigungstrategie. Für Embedding-Modelle verwenden sie text-embedding-3-small und erwogen, vollständig lokal mit nomic-embed-text zu arbeiten, mussten dies aber noch nicht umsetzen.

📖 Read the full source: r/openclaw

Ad

👀 Siehe auch