MemoryLake
모든 글로 돌아가기
Tutorial2026년 8월 5일·9 분 소요

컨텍스트 손실 없이 Claude Memory를 OpenClaw로 마이그레이션하는 방법 (2026)

여러분은 Claude가 여러분의 업무에 대해 아는 것(시스템이 어떻게 맞물려 돌아가는지, 무엇을 왜 결정했는지, 어떤 스타일의 글쓰기를 선호하는지 등)을 구축하는 데 수개월을 보냈을 것입니다. 이제 그 작업을 OpenClaw로 옮기려고 합니다. 에이전트 실행은 채팅 창이 아니라 터미널에서 일정에 따라 실행되어야 하기 때문입니다.

Claude의 기억을 OpenClaw로 바로 전송하는 내보내기 버튼은 없습니다. 대신 Claude에서 기억을 있는 그대로 읽어오는 공식적인 방법과, 에이전트가 매번 실행할 때마다 읽는 파일에 컨텍스트를 유지하는 OpenClaw 측의 잘 정립된 관례가 있습니다. 이 마이그레이션은 복사 작업이지만 한 가지 분명한 차이점이 있습니다. Claude의 기억은 여러분에 대한 결론을 담고 있는 반면, OpenClaw는 시스템에 대한 운영 지식을 필요로 하며, 이 둘은 서로 다릅니다.

이 가이드에서는 실제로 무엇이 이동하는지, 수동으로 어떻게 작업하는지, 그리고 다음 도구 변경 시 이 작업을 반복하지 않도록 방지하는 방법을 다룹니다.

실제로 전송되는 것

Claude에서 기억 가져오기. Anthropic은 이를 직접 문서화해 두었습니다. Settings → Capabilities로 이동하여 "View and edit your memory"를 열면 Claude가 보는 것과 똑같이 카테고리별로 나열된 모든 항목을 확인하고 편집하거나 삭제할 수 있습니다. 이 화면이 마이그레이션의 원천 자료가 됩니다.

채팅창에서 Claude에게 "Write out your memories of me verbatim, exactly as they appear in your memory."(내 기억에 기록된 내용을 있는 그대로 작성해 줘)라고 요청할 수도 있습니다. 출력된 텍스트를 로컬 컴퓨터의 파일에 복사하면 됩니다. 구조화된 내보내기 파일을 다운로드하는 기능은 없으므로 복사하여 붙여넣는 단계를 거쳐야 합니다.

문서화된 한 가지 제한 사항이 있습니다. Claude의 기억은 업무 관련 주제에 집중하도록 설계되었습니다. 이는 이번 마이그레이션에 도움이 됩니다. 항목들이 사소한 잡담보다는 여러분이 일하는 방식에 관한 것일 가능성이 높기 때문입니다. 하지만 이는 기억이 여러분이 나눈 모든 대화의 녹취록이 아니라 요약된 관찰 결과의 집합임을 의미하기도 합니다.

여기서 Anthropic 도구의 방향성에 주목하세요. Claude의 Memory Import(Settings → Memory → "Start import")는 다른 서비스 제공업체로부터 Claude 내부로 컨텍스트를 가져오는 기능이며, 명시적으로 실험적 기능입니다. Anthropic은 Claude가 "가져온 기억을 항상 성공적으로 통합하지 못할 수도 있다"고 명시하고 있습니다. 반대 방향으로 내보내는 기능은 없기 때문에 외부로 옮기는 작업은 수동으로 진행해야 합니다.

OpenClaw가 받아들이는 것. OpenClaw의 모델은 이례적일 정도로 명시적이며, 실무자들은 이를 규칙으로 삼고 있습니다. 파일에 기록되지 않은 것은 존재하지 않는 것입니다. 이는 도구에 대한 불만이 아니라 설계 방식입니다. 이를 둘러싸고 정착된 관례는 다음과 같습니다.

  • 선호하는 접근 방식과 겪었던 시행착오를 담은 진정한 지식 베이스로 성장하는 MEMORY.md 스타일의 파일.
  • 의사 결정과 중요한 상호작용을 기록하는 일일 노트. 에이전트는 새 세션을 시작할 때 장기 기억 파일과 함께 이를 읽습니다.
  • 세션 내부에서 특정 내용이 반영되지 않는 이유를 진단하기 위한 /context list 명령어.
  • 압축(compaction) 전에 백그라운드에서 에이전트 턴을 트리거하여 중요한 내용을 디스크에 기록하도록 모델에 상기시키는 내장된 사전 압축 메모리 플러시 기능. 2026년 2월 말에 여러 압축 버그가 수정되었으므로 최신 빌드를 사용하는 것이 중요합니다.

파일 이외의 모든 것은 OpenClaw가 MCP를 통해 연결합니다. 서버는 ~/.openclaw/openclaw.json 파일의 "mcp": { "servers": { … } } 아래에 위치하며, 이를 관리하기 위한 전체 CLI가 제공됩니다. openclaw mcp add, set, configure, show, list, unset 외에도 OAuth 흐름을 위한 openclaw mcp login <name>, 작동 여부를 확인하기 위한 openclaw mcp doctor <name> --probe 등이 있습니다. Stdio, SSE, 스트리밍 가능한 HTTP 전송이 모두 지원되며, HTTP 서버의 경우 정적 헤더를 사용할 수 있습니다.

전송되지 않는 것. Claude의 기억 항목은 여러분을 설명합니다. 즉, 여러분의 관례, 선호도, 감지된 패턴 등입니다. 반면 OpenClaw는 실제 시스템을 대상으로 사람의 개입 없이 실행되므로, 운영에 필요한 정보가 필요합니다. 예를 들어 어떤 환경이 존재하는지, 절대 건드리면 안 되는 것은 무엇인지, 배포가 실제로 무엇을 하는지, 이미 두 번이나 진단한 장애는 무엇인지 등입니다. 이 중 일부는 Claude의 기억에 있을 수 있습니다. 하지만 많은 부분은 Claude가 요약하면서 생략한 대화 속에 있었으며, 기록된 항목 자체에는 존재하지 않습니다.

수동 마이그레이션

1단계: Claude에서 기억을 가져온 후 철저히 편집하기

Settings → Capabilities → View and edit your memory를 열고 전체 내용을 읽어보세요. 대부분의 사람들은 두 번 놀라게 됩니다. 첫째는 생각보다 많은 내용이 저장되어 있다는 점이고, 둘째는 명령을 실행하는 에이전트에게는 무의미한 내용이 얼마나 많은지 때문입니다.

  • 해당 화면에서 직접 복사하거나 Claude에게 있는 그대로 작성해 달라고 요청하여 항목들을 파일로 복사합니다.
  • 운영상 의미가 없는 대화 스타일에 관한 내용은 모두 삭제하세요. 인프라를 프로비저닝하는 에이전트는 여러분이 글머리 기호를 선호한다는 사실을 알 필요가 없습니다.
  • 행동을 제한하는 요소는 모두 유지하고 확장하세요. 환경, 명명 규칙, 금지 사항, 검토 요구 사항, 다루는 시스템 등이 이에 해당합니다.
  • 한 번만 말해서 Claude가 저장하지 않은 내용을 추가하세요. 머릿속에만 있는 "운영 환경(prod)에서는 실행하지 마라"와 같은 모든 경고는 지금 기록해 둘 가치가 있습니다.
  • 이 과정에서 자격 증명(credentials)을 붙여넣지 마세요. 파일은 물론이고, 특히 ~/.openclaw/openclaw.json 내부에 인라인으로 작성해서는 안 됩니다. 이 파일은 마이그레이션 중에 백업되고 복사되기 때문입니다. 환경 변수를 사용하고 ${VARIABLE_NAME} 형식으로 참조하세요.

2단계: OpenClaw가 보관할 공간과 보관할 대상을 마련하기

이제 보관한 내용을 사용 방식에 따라 분류하세요.

  • 상시 규칙(Standing rules)은 에이전트가 매번 실행할 때마다 읽는 장기 기억 파일에 저장합니다. 이 파일은 지속적으로 로드되므로 간결하게 유지하세요.
  • 작업 노트(Working notes)는 일일 노트 패턴으로 관리하여, 영구 파일의 크기를 키우지 않으면서 이번 주의 결정 사항을 다음 주에도 사용할 수 있도록 합니다.
  • 참조 자료(Reference material)(아키텍처 문서, 런북, 계약서, 다이어그램 등)는 Markdown 파일에 붙여넣지 마세요. 대신 MCP를 통해 OpenClaw가 이를 가리키도록 설정하여, 모든 것을 들고 다니는 대신 필요한 내용만 검색할 수 있도록 하세요.
  • 신뢰하기 전에 검증하세요. 세션을 실행한 후 /context list를 입력하여 에이전트가 실제로 로드한 내용을 확인하세요. 파일은 존재하지만 읽히지 않는 경우가 마이그레이션이 실패했다고 느끼는 가장 흔한 원인입니다.

그 다음 연결 상태를 확인하세요. openclaw mcp list로 등록된 서버를 확인하고, 의존하는 모든 서버에 대해 openclaw mcp doctor <name> --probe를 실행해 보세요. 설정은 되었으나 응답하지 않는 서버는 예약된 실행 중에 아무런 경고 없이 실패하므로, 나중에 발견하기 가장 까다로운 문제입니다.

더 나은 방법: 두 도구 모두에서 사용 가능한 단일 Memory 레이어

이 마이그레이션이 실제로 어떤 작업이었는지 생각해 보세요. 한 제품의 비공개 저장소에서 지식을 읽어와 다른 제품의 파일 관례에 맞게 수동으로 작성하는 일이었습니다. 기술 스택이 바뀔 때마다 이 작업을 반복해야 하며, 그때마다 이전 도구가 이미 압축하여 생략해 버린 정보를 잃게 됩니다.

OpenClaw의 파일 모델은 명시적이고, 버전 관리가 가능하며, grep으로 검색할 수 있어 대부분의 도구보다 훌륭하게 작동합니다. 하지만 한계는 결함이라기보다는 구조적인 문제입니다. 파일은 특정 컴퓨터에 존재하고, 수동으로 유지 관리해야 하며, 에이전트마다 고유한 파일 세트를 가집니다. 그리고 Claude는 이를 읽을 수 없습니다. 결국 동일한 사실에 대해 서로 어긋나기 쉬운 두 가지 버전을 유지해야 하는 상황으로 돌아가게 됩니다.

대안은 두 도구 중 어느 쪽에도 종속되지 않는 레이어에 지식을 보관하는 것입니다. MemoryLake가 바로 그 역할을 합니다. 기억을 독립된 레이어로 두어 MCP나 API를 통해 접근할 수 있게 함으로써, Claude와 OpenClaw가 두 개의 복사본 대신 동일한 위치에서 정보를 읽도록 합니다.

1단계: API 키 생성하기

키를 생성하고 약 30초 만에 첫 번째 요청을 완료해 보세요.

MemoryLake API 키 생성하기
MemoryLake API 키 생성하기

2단계: 첫 번째 기억 업로드하기

위의 1단계에서 정제한 자료와 함께, 평소라면 붙여넣었을 참조 문서(아키텍처 노트, 런북, API 계약서, 결정 로그, 사람들이 계속 설명하는 대시보드의 스크린샷 등)를 로드하세요. 문서, 이미지 및 기타 파일이 모두 동일한 위치에 저장됩니다.

MemoryLake에 첫 번째 기억 업로드하기
MemoryLake에 첫 번째 기억 업로드하기

3단계: AI 및 에이전트 연결하기

OpenClaw, Claude, Codex 및 기타 에이전트에 MCP를 통해 액세스 권한을 부여하세요. OpenClaw의 경우 ~/.openclaw/openclaw.json에 서버 항목을 하나 추가하거나 openclaw mcp add 명령어 한 번이면 됩니다. 장기 기억 파일은 다시 규칙만 보관하게 되며, 매주 늘어나는 지식을 두 곳에서 수동으로 관리할 필요가 없어집니다.

MCP를 통해 AI 및 에이전트 연결하기
MCP를 통해 AI 및 에이전트 연결하기

실제 업무에서의 변화

가장 먼저 나타나는 효과는 기억 파일의 크기가 더 이상 늘어나지 않는다는 점입니다. 이러한 파일이 비대해지는 이유는 상시 규칙과 누적된 지식이라는 두 가지 역할을 동시에 수행하기 때문이며, 매번 실행할 때마다 로드되어야 하는 것은 이 중 하나뿐입니다. 이를 분리하면 에이전트가 실행당 읽는 양을 줄이면서도 필요할 때 찾을 수 있는 정보의 양은 늘릴 수 있습니다.

두 번째 효과는 OpenClaw가 진가를 발휘하는 무인(unattended) 실행에서 나타납니다. 메모리 레이어를 쿼리할 수 있는 예약된 에이전트는 새벽 3시에도 필요한 런북을 찾아낼 것입니다. 반면 지식이 파일에 들어가는 수준으로 제한된 예약 에이전트는 임기응변으로 대처할 것이며, 운영 환경에서의 임기응변은 장애의 시작점입니다.

세 번째는 Claude와 OpenClaw의 의견 불일치가 사라진다는 점입니다. 현재로서는 Claude 대화에서 도출된 결정이 Claude의 기억에만 존재하고 다른 곳에는 없기 때문에, 작업을 수행하는 에이전트는 이를 알지 못합니다. 하나의 공유 메모리가 이 고리를 닫아줍니다. 이는 MCP를 통해 교차 AI 메모리 설정하기가 두 도구를 각각 최적화하는 것보다 더 빠르게 효과를 보는 이유와 같습니다.

Claude와 OpenClaw를 함께 실행하기 위한 모범 사례

기억 파일을 아카이브가 아닌 규칙으로 취급하기

에이전트가 항상 준수해야 하는 제약 조건이라면 파일에 저장해야 합니다. 장애, 결정 사항, 시스템 세부 정보와 같이 늘어나는 지식이라면 에이전트가 쿼리하는 레이어에 속해야 합니다. 매번 실행할 때마다 로드되는 파일은 잘못된 내용이 들어갔을 때 바로 알아차릴 수 있을 정도로 짧게 유지해야 합니다.

모든 결정을 운영 관점의 버전으로 작성하기

Claude의 기억에는 여러분이 특정 배포 방식을 선호한다고 기록되어 있을 수 있습니다. 하지만 OpenClaw에는 명령어, 환경, 가드레일, 그리고 이유가 포함된 버전이 필요합니다. 의사 결정을 운영 언어로 재작성하는 작업은 이번 마이그레이션에서 가장 가치 있는 시간입니다.

설정 및 기억에서 비밀 정보 제외하기

~/.openclaw/openclaw.json 파일은 이동합니다. 컴퓨터를 마이그레이션할 때 백업되고 복사되므로, 토큰을 인라인으로 작성하는 대신 환경 변수를 참조하세요. 또한 OpenClaw는 stdio 서버에 대해 NODE_OPTIONS, PYTHONSTARTUP, DYLD_*, LD_*와 같은 위험한 시작 변수를 필터링합니다. 이는 에이전트가 읽을 수 있는 모든 정보는 대화 기록으로 유출될 수도 있음을 상기시켜 주는 좋은 예입니다.

결론

Claude에서 OpenClaw로 전환하는 것은 클릭 한 번으로 끝나는 일이 아닌 실제 마이그레이션 작업입니다. Settings → Capabilities에서 기억을 읽어오고, 행동을 제한하는 요소로 축소하고, 이를 운영 관점의 용어로 재작성하여 OpenClaw가 실제로 읽을 수 있는 곳에 배치해야 합니다. 그런 다음 짐작만 하지 말고 /context list로 검증하세요.

바꿀 가치가 있는 것은 절차가 아니라 패턴입니다. Claude는 기억을 Claude 내부에 보관하고, OpenClaw는 지식을 한 컴퓨터의 파일에 보관하므로, 도구가 바뀔 때마다 비공개 저장소 간에 지식을 수동으로 이동해야 합니다. 양쪽 모두의 외부에 존재하는 메모리 레이어를 사용하면 컨텍스트는 더 이상 마이그레이션해야 하는 대상이 아니게 되며, 무인 에이전트가 Markdown 파일에 우연히 들어간 내용에만 의존하여 실행되는 일도 없어집니다. 다른 어시스턴트를 소스로 사용하는 경우에도 ChatGPT memory를 OpenClaw로 이동하기 또는 Claude memory를 IDE 에이전트로 가져가기 시 동일한 경로가 적용됩니다.

자주 묻는 질문

Claude Memory를 파일로 내보낼 수 있나요?

네, 다만 구조화된 다운로드 형식은 아닙니다. Settings → Capabilities → "View and edit your memory"로 이동하여 카테고리별로 모든 항목을 확인하거나, Claude에게 여러분에 대한 기억을 있는 그대로 작성해 달라고 요청한 다음 그 결과를 로컬 텍스트 파일에 복사할 수 있습니다. Anthropic의 문서화된 가져오기(import) 흐름은 반대 방향(다른 제공업체에서 Claude로 가져오기)으로 작동하며 아직 실험 단계입니다.

OpenClaw는 실행 간에 기억을 유지하나요?

네, 관리형 저장소라기보다는 관례에 가깝습니다. 지식은 에이전트가 세션 시작 시 읽는 파일(일반적으로 장기 기억 파일과 일일 노트)에 저장됩니다. 또한 OpenClaw는 컨텍스트가 압축되기 전에 모델이 중요한 내용을 디스크에 기록하도록 유도하는 사전 압축 플러시를 실행합니다. 실무자들이 반복하는 실질적인 규칙은 파일에 기록되지 않은 것은 존재하지 않는다는 것입니다. OpenClaw가 이전 실행을 잊어버리는 현상에 대한 페이지에서 이것이 일상적으로 무엇을 의미하는지 다룹니다.

OpenClaw가 제 기억 파일을 인식하지 못하는 이유는 무엇인가요?

세션에서 /context list를 실행하여 실제로 로드된 내용을 확인해 보세요. 일반적인 원인으로는 파일이 에이전트가 읽는 경로에 없거나, 내용이 너무 길어 압축 과정에서 유실되었거나, 2026년 2월 말에 수정된 압축 버그의 영향을 받는 이전 빌드를 사용 중인 경우 등이 있습니다.

MCP를 통해 OpenClaw에 메모리 서버를 어떻게 연결하나요?

~/.openclaw/openclaw.json 파일의 "mcp": { "servers": { … } } 아래에 항목을 하나 추가하거나 openclaw mcp add를 사용하세요. Stdio, SSE, 스트리밍 가능한 HTTP가 지원되며, HTTP 서버는 정적 헤더를 가질 수 있고, openclaw mcp login <name>으로 OAuth를 처리합니다. 예약된 실행에서 사용하기 전에 openclaw mcp doctor <name> --probe로 확인해 보세요.

Claude의 기억에서 OpenClaw로 복사하지 말아야 할 것은 무엇인가요?

운영상 의미가 없는 대화 선호도, 오래된 정보, 민감한 정보 등입니다. OpenClaw는 명령을 실행하므로 컨텍스트는 제약 조건과 시스템 사실 정보여야 합니다. 그리고 openclaw.json에 자격 증명을 인라인으로 작성하지 마세요. 백업 및 마이그레이션 중에 복사되므로 대신 ${VARIABLE_NAME} 참조를 사용하세요.

이 마이그레이션을 다시 하지 않으려면 어떻게 해야 하나요?

지식을 두 도구의 외부에 보관하세요. API 키를 생성하고, 정제된 컨텍스트와 참조 문서를 한 번 업로드한 다음, MCP를 통해 Claude와 OpenClaw를 동일한 메모리에 연결하세요. 그 후에는 도구 변경이 재작성이 아닌 설정 항목 추가에 불과하게 되며, Claude가 대화 간에 잊어버리는 내용이 에이전트가 결코 얻지 못하는 지식이 되는 일도 방지할 수 있습니다.