OpenClaw의 기본 메모리를 프로덕션 다중 에이전트 시스템을 위해 Redis와 Qdrant로 교체하기

프로덕션 멀티 에이전트 시스템을 위한 OpenClaw 메모리 확장
자체 호스팅 VPS에서 2개월 동안 프로덕션 멀티 에이전트 설정으로 OpenClaw를 운영하던 한 개발자는 기본 메모리 계층이 규모 확장 시 문제가 된다는 사실을 발견했습니다. 초기 Markdown 방식과 이후 SQLite 메모리는 로컬 사용에는 적합하지만, 여러 에이전트가 병렬로 실행되고 세션이 며칠 동안 지속되며 에이전트가 과거 작업에서 관련 컨텍스트를 검색해야 하는 경우에는 제대로 작동하지 않았습니다. 구체적인 문제점으로는 시맨틱 검색 부재, 에이전트 간 메모리 공유 불가, 지저분한 동시 쓰기 등이 있었습니다.
Redis + Qdrant 아키텍처 솔루션
개발자는 다음과 같은 아키텍처로 메모리 시스템을 재구축했습니다:
- 핫 임시 상태용 Redis: 현재 작업, 최근 컨텍스트 창, TTL이 있는 도구 호출 캐시
- 지속적 벡터 메모리용 Qdrant: 과거 에피소드, 관찰 결과, 추출된 지식
- Qdrant의 세 가지 컬렉션: agent_episodes, agent_observations, agent_knowledge
- 에이전트 간 지식 공유: 에피소드는 에이전트별로 범위가 지정되지만, 지식은 모든 에이전트 간에 공유됩니다
- 시간 감쇠 재순위화: 오래된 메모리가 검색을 오염시키는 것을 방지합니다
- Redis pub/sub: 경량 에이전트 간 이벤트 신호 전달에 사용됩니다
- 배치 임베딩 + 비동기 Qdrant 업서트: 에이전트 루프가 쓰기 작업에서 차단되는 것을 방지합니다
구현 세부사항
개발자는 아키텍처 결정, HNSW 구성 논리, 메모리 관리자 클래스, 관찰 루프에 연결하는 방법, 정리/정리 전략을 포함한 전체 구현을 문서화했습니다. 임베딩 모델의 경우 text-embedding-3-small을 사용하고 있으며, nomic-embed-text로 완전히 로컬화하는 것을 고려했지만 아직 필요하지는 않았습니다.
📖 전체 Source 읽기: r/openclaw
👀 See Also

vLLM 설정 및 320GB VRAM을 갖춘 10x NVIDIA V100 서버에서의 테스트
법률 업무를 위한 로컬 AI 서버를 구축한 변호사가 10x Tesla V100 SXM2 32GB GPU에서의 vLLM 테스트 결과를 공유하며, Volta 아키텍처에서 작동하는 것(FP16 비양자화, bitsandbytes 4비트)과 작동하지 않는 것(GPTQ, AWQ, FlashAttention2)을 상세히 설명합니다.

클로드 AI 프로젝트에 시간 추적 구현하기
Claude AI를 사용하는 방법에는 작업 세션을 추적하고 휴식 알림을 보내기 위해 응답에 타임스탬프를 찍는 것이 포함됩니다.

Claude AI를 활용한 대규모 프로젝트를 위한 단독 개발자의 2단계 프롬프팅 방법
한 명의 개발자가 Claude Chat을 설계자로, Claude Code를 빌더로 사용하는 워크플로우를 공유하며, 실패 모드 분석과 검증 게이트를 포함한 두 단계 프롬프트 방법을 소개합니다.

Dispatcher Pattern을 사용하여 Claude API 비용을 95% 절감하기
한 개발자가 디스패처 패턴을 구현하여 Claude Max 구독에서 Claude Code CLI에 무거운 작업을 위임하고 오케스트레이션에는 최소한의 API 토큰만 사용함으로써 Claude API 비용을 월 800~2,000달러에서 약 215달러로 줄였습니다.