오프라인 우선의 워크스페이스 메모리 v2: AI 기억 관리의 새로운 접근법
AI와 대화하다 보면 어제 결정한 내용을 기억하지 못하거나, 여러 프로젝트의 맥락을 혼동해서 답답할 때가 있죠. 사람이 읽기 좋은 일기 형식의 기록과 AI가 빠르게 찾아볼 수 있는 구조화된 데이터 사이에서 균형을 잡는 일은 꽤 까다로운 문제입니다.
이 글에서는 Markdown 파일을 신뢰할 수 있는 유일한 소스(Source of Truth)로 유지하면서도, 검색과 개체 요약 기능을 강화한 오프라인 우선의 메모리 아키텍처를 살펴보려고 해요.
필요한 것
섹션 제목: “필요한 것”- OpenClaw 워크스페이스 경로 (
~/.openclaw/workspace) - SQLite (FTS5 지원 포함)
- Git (데이터 보존 및 이력 확인용)
- (선택 사항) Ollama 등 로컬 Embedding 모델
빠른 시작
섹션 제목: “빠른 시작”5분 안에 오프라인 메모리 구조를 설정하고 시작하는 방법이에요.
1. 워크스페이스 디렉토리 구조 설정
섹션 제목: “1. 워크스페이스 디렉토리 구조 설정”먼저 Markdown 기반의 저장소 구조를 만드세요. bank/ 디렉토리는 AI가 성찰(Reflection) 과정을 통해 정리한 핵심 정보를 담게 됩니다.
~/.openclaw/workspace/ memory.md # 핵심 사실 및 사용자 선호도 (Core) memory/ YYYY-MM-DD.md # 일일 로그 (기록용) bank/ # 유형별 메모리 페이지 world.md # 세상에 대한 객관적 사실 experience.md # 에이전트의 활동 기록 opinions.md # 주관적 판단 및 신뢰도 데이터 entities/ # 개체별 상세 페이지 (예: Peter.md)2. 일일 로그에 ## Retain 섹션 추가
섹션 제목: “2. 일일 로그에 ## Retain 섹션 추가”매일 작성하는 로그 끝에 AI가 기억해야 할 핵심 정보를 요약해서 적어주세요. 이 방식은 AI가 나중에 정보를 추출할 때 품질을 높여주는 가장 쉬운 방법이에요.
## Retain- W @Peter: 현재 Andy의 생일을 위해 마라케시에 머무는 중 (2025년 11월 27일~12월 1일).- B @warelay: try/catch 문으로 connection.update 핸들러를 감싸서 Baileys WS 크래시 문제를 해결함.- O(c=0.95) @Peter: WhatsApp에서는 1500자 미만의 짧은 답변을 선호하며, 긴 내용은 파일로 받기를 원함.3. SQLite 인덱스 생성
섹션 제목: “3. SQLite 인덱스 생성”Markdown 파일의 내용을 바탕으로 기계가 빠르게 읽을 수 있는 인덱스를 생성합니다. 이 인덱스는 언제든 Markdown 파일로부터 다시 빌드할 수 있어요.
-- ~/.openclaw/workspace/.memory/index.sqlite-- 팩트, 개체 링크, 의견 메타데이터를 위한 스키마 예시CREATE VIRTUAL TABLE memory_fts USING fts5(content, entities, source);4. CLI를 통한 메모리 호출 및 성찰
섹션 제목: “4. CLI를 통한 메모리 호출 및 성찰”OpenClaw CLI를 사용해 AI가 도구 호출 방식으로 메모리를 검색하거나 업데이트하게 합니다.
# 특정 기간 동안의 기억 검색openclaw memory recall "Peter의 선호도" --k 25 --since 30d
# 최근 기록을 바탕으로 개체 페이지 업데이트openclaw memory reflect --since 7d문제 해결
섹션 제목: “문제 해결”- 검색 결과의 정확도가 떨어지나요?
- 일일 로그 작성 시
## Retain섹션에 narrative하고 자기 완결적인 문장으로 기록했는지 확인해 보세요. 문맥이 생략된 짧은 구절보다 독립적인 문장이 검색 효율이 훨씬 높아요.
- 일일 로그 작성 시
- 검색 속도가 너무 느린가요?
- 데이터가 수십만 개 단위로 커지기 전까지는 SQLite FTS5만으로도 충분히 빠릅니다. 처음부터 SuCo나 HNSW 같은 복잡한 벡터 검색 알고리즘을 도입하기보다는, 먼저 텍스트 기반 인덱싱을 최적화하는 것을 추천해요.
- 오프라인 Embedding 모델이 필요한가요?
- 기본적인 키워드 검색은 SQLite FTS5로 충분해요. 하지만 의미론적 검색이 꼭 필요하다면 이미 설치된 Ollama 같은 로컬 도구를 활용해 Embedding을 생성할 수 있습니다.
- 의견 충돌이 발생하나요?
bank/opinions.md에서 각 의견의 신뢰도(c값)를 확인하세요. 새로운 증거가 쌓일 때마다 신뢰도를 조금씩 업데이트하고, 큰 폭의 변화가 있을 때는 명확한 반증이 있는지 체크해야 합니다.
더 자세한 설정 방법이 궁금하다면 AI Setup Assistant에서 도움을 받아보세요.
다음 단계
섹션 제목: “다음 단계”OpenClaw Expert
아직 막혀 있나요?
이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.