세션을 넘나드는 기억
AI 도구는 새 세션을 시작할 때 이전 대화 전체를 기억하지 못합니다. memtomem으로 저장한 내용은 디스크에 남습니다. 같은 저장소와 네임스페이스를 사용하는 다음 세션이나 다른 AI 도구에서 다시 검색할 수 있습니다. 이 튜토리얼에서 직접 저장하고 불러오는 과정을 확인합니다.
전제 조건
섹션 제목: “전제 조건”빠른 시작을 완료하여 memtomem이 설치·초기화되고 MCP 클라이언트(Claude Code, Cursor, Claude Desktop 등)에 연결된 상태여야 합니다.
세션 A: 기억 저장
섹션 제목: “세션 A: 기억 저장”첫 번째 세션에서 에이전트에게 다음처럼 자연어로 지시합니다.
“이 사실을 기억해 둬. 우리 팀은 이번 분기에 마이그레이션을 중단하기로 했어. 법무 검토를 기다리고 있기 때문이야.”
에이전트는 mem_add 도구를 호출해 내용을 저장합니다. 결과에는 작성된 Markdown 경로, 네임스페이스, 인덱싱된 청크 수, 소스 파일이 포함되어 실제 쓰기 결과를 확인할 수 있습니다.
에이전트가 쓰기 도구를 선택하지 않으면 사용하는 클라이언트에 맞춰 명시적으로 요청하세요.
Claude Code: /memtomem:remember 이번 분기에 법무 검토를 기다리느라 마이그레이션을 중단했다.Codex CLI: $memtomem-remember로 다음 내용을 저장해줘: 이번 분기에 법무 검토를 기다리느라 마이그레이션을 중단했다.기타 MCP 클라이언트: 이 내용으로 mem_add를 호출하고 작성한 출처 경로를 보여줘.CLI에서도 같은 결과를 확인할 수 있습니다.
mm add "이번 분기에 법무 검토를 기다리느라 마이그레이션을 중단했다" --tags migration,decisionCLI에서 저장 여부를 확인하려면 다음 명령을 실행합니다.
mm search "마이그레이션 중단"방금 저장한 항목이 상위 결과로 나타나야 합니다. 또는 mm web으로 브라우저 대시보드를 열어 시각적으로 확인할 수 있습니다.
세션 종료
섹션 제목: “세션 종료”에이전트 세션을 완전히 종료합니다. Claude Code라면 터미널을 닫고, Claude Desktop이라면 앱을 재시작해도 됩니다. memtomem 서버 자체는 다음 호출 때 자동 실행되므로 별도 조작이 필요하지 않습니다.
세션 B: 저장한 기억 다시 찾기
섹션 제목: “세션 B: 저장한 기억 다시 찾기”새 세션을 시작한 뒤 다음처럼 질문합니다.
“우리 팀 마이그레이션 상태 어때? 이전 세션에서 얘기했던 것 같은데.”
AI 도구는 MCP 도구 설명을 보고 mem_search를 호출해 세션 A의 내용을 찾습니다. 응답에는 “법무 검토를 기다리고 있다”는 이유까지 포함되어야 합니다.
이전 대화를 바탕으로 추측해서 답하거나 기억 검색 도구를 호출하지 않으면 다음처럼 명시적으로 요청하세요.
Claude Code: /memtomem:search 마이그레이션 법무 검토Codex CLI: $memtomem-search로 "마이그레이션 법무 검토"를 찾고 출처도 보여줘.기타 MCP 클라이언트: "마이그레이션 법무 검토"로 mem_search를 호출하고 출처 경로를 보여줘.새 세션에서 memtomem 출처와 함께 결정과 이유가 모두 나오면 성공입니다. 출처 없이 그럴듯하게 답하는 것만으로는 이 검증을 통과한 것이 아닙니다.
내부에서 일어나는 일
섹션 제목: “내부에서 일어나는 일”사용자는 자연어로 저장하고 다시 질문하기만 하면 됩니다. 내부에서는 다음 순서로 처리됩니다.
세션 A: 에이전트 → mem_add("마이그레이션 중단, 법무 검토 대기") → Markdown 원본 → SQLite 인덱스 (BM25 FTS5 + 선택형 벡터 인덱스 동시 갱신)
세션 B: 에이전트 → mem_search("마이그레이션 상태") → 하이브리드 검색 → 같은 청크를 상위로 반환Markdown 파일이 기억의 원본이며 검색은 로컬 SQLite 인덱스에서 처리됩니다. 세션 사이에 별도로 동기화할 필요는 없습니다. 검색 방식은 하이브리드 검색에서 설명합니다.
자주 겪는 문제
섹션 제목: “자주 겪는 문제”- 에이전트가
mem_search를 호출하지 않는 경우 — 자동 선택에 기대지 말고 위의 Claude·Codex·MCP 명시 요청을 사용하세요. - 결과가 비어 있는 경우 —
mm status로 서버 연결과 네임스페이스를 확인하세요. 세션 A와 B가 서로 다른 네임스페이스를 쓰고 있을 수 있습니다. 기본 네임스페이스는mm init설정값을 따릅니다. - 클라이언트마다 결과가 다른 경우 — 각 클라이언트의
mem_status에서 데이터베이스 경로를 비교하세요. 프로젝트 로컬 기억이라면 두 세션이 같은 프로젝트 루트를 열었는지도 확인합니다.
다음 단계
섹션 제목: “다음 단계”- 하이브리드 검색 — 원하는 결과가 나오지 않을 때 검색을 튜닝하는 방법
- STM 개요 — 에이전트가 따로 요청하지 않아도 관련 기억을 자동으로 받게 하려면 STM 프록시 추가를 고려하세요. 프록시 도입은 언제든 되돌릴 수 있습니다(
mms eject로 원래 MCP 클라이언트 설정에 복원). - 멀티 에이전트 협업 — 기억을 여러 에이전트가 공유하도록 네임스페이스 설계