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

OpenClaw 설정 문제 해결 방법: 다중 에이전트 및 모델 응답 문제
OpenClaw 설정에 어려움을 겪고 계신가요? 멀티 에이전트 구성과 응답하지 않는 모델의 일반적인 문제를 발견하고 해결 방법을 배워보세요.

레딧 게시물: 개발자들은 더 나운 도구뿐만 아니라 더 나은 AI 코딩 관행이 필요합니다
레딧 게시글은 개발자들이 AI 코딩 도구에 대해 불만을 갖는 이유가 맥락이나 구조 없이 '원시 프롬프팅'을 사용하는 부적절한 프롬프트 작성 습관 때문이라고 주장합니다. 저자는 CLAUDE.md 같은 스캐폴딩과 구조화된 워크플로우를 사용하여 Claude로부터 프로덕션 준비가 된 코드를 얻을 것을 권장합니다.

바이브 코더를 위한 시스템 아키텍처: 시니어 엔지니어 가이드
10년 경력 엔지니어가 클로드 코드로 앱을 구축하는 방법을 공유합니다: 코드가 아닌 시스템 수준에서 시작하세요. 프론트엔드, 백엔드, 데이터베이스, 그리고 API, 호스팅, 배포, 환경 변수, 보안을 포함한 핵심 연결부(플럼빙)를 다룹니다.

원 텔레그램 그룹 채팅에서 두 봇 간의 브릿지 구축: HTTP를 통한 전달 시맨틱스
한 개발자가 동일한 그룹 채팅에서 두 개의 독립적인 텔레그램 봇을 연결하는 실용적인 방법을 공유하며, HTTP 릴레이, ACK, 중복 제거 및 엄격한 범위의 피드를 통해 텔레그램의 봇 간 메시지 전달 문제를 해결합니다.