실제로 이전되는 것
메모리 자체: 수동으로 직접 요청해야 합니다. ChatGPT 메모리를 다른 도구의 형식으로 내보내는 기능은 없습니다. OpenAI의 가이드에 따르면, 대화창에서 직접 물어보는 것이 유일한 방법입니다. 이는 임시방편이 아니라 공식 문서에 명시된 확인 방법입니다. 메모리 요약본은 명백히 불완전하기 때문입니다. 클릭 한 번이 아니라, 추출을 위한 세션을 한 번 따로 잡으세요.
선호도 및 작업 스타일: 원활하게 이전됩니다. 답변 구조를 어떻게 구성하고 싶은지, 어떤 규칙을 고수하는지, 항상 확인해야 할 사항이 무엇인지 등이 여기에 해당합니다. 이들은 Cline 규칙에 깔끔하게 매핑되며, 1년이 지난 후에도 여전히 유효할 가능성이 가장 높은 항목들입니다.
프로젝트 팩트: 최신 상태인지 확인 후 이전합니다. 기술 스택, 아키텍처 결정, 명명 규칙, 환경의 특이사항 등입니다. ChatGPT 메모리는 사용자가 작업하는 동안 이를 조용히 업데이트해 왔지만, 일부 항목은 사용자가 미처 알아차리지 못한 사이에 오래된 정보가 되었을 수 있습니다. 이 부분은 단순히 복사할 것이 아니라 꼼꼼히 읽어보아야 할 더미입니다.
기존에 저장된 메모리: 보유 여부를 확인하세요. 구형 시스템을 사용 중인 경우, OpenAI는 Settings > Memory > "saved memories" 아래에 별도의 목록을 제공하며, "삭제하지 않는 한 저장된 메모리는 향후 답변에 항상 고려됩니다"라는 노트를 명시하고 있습니다. 이 목록은 종합본과 달리 하나씩 열거할 수 있으므로 가장 먼저 옮기기에 가장 쉽습니다.
전혀 이전되지 않는 것. Temporary Chats(임시 채팅)는 메모리에 아무런 기여를 하지 않습니다. OpenAI 문서에 따르면 이들은 "기존 메모리를 사용하지 않으며 새로운 메모리를 생성하지도 않습니다." 동료의 ChatGPT가 알고 있는 정보는 동료에게만 남습니다. 메모리는 "각 개인 계정에 종속되며, 동일한 Business 워크스페이스 내에서도 다른 사용자에게 이전할 수 없습니다." 또한 업로드된 파일은 메모리가 아닙니다. 파일 콘텐츠는 대화 내에 존재하므로, 지식을 옮기려면 파일 자체를 옮겨야 합니다. 이 한계에 부딪혀 본 적이 있다면, ChatGPT가 업로드된 파일을 잊어버리는 이유에서 다룬 내용과 동일한 문제입니다.
받는 쪽에서, Cline은 하나가 아닌 두 개의 보금자리를 가지고 있습니다. 규칙은 워크스페이스 범위를 위해 .clinerules/에 저장되고, 개인 선호도를 위해 글로벌 Cline Rules 디렉토리에 저장됩니다. 문서에서는 이들이 어떻게 결합되는지 구체적으로 설명합니다: "워크스페이스 규칙과 글로벌 규칙이 모두 존재할 때, Cline은 이들을 결합합니다. 충돌이 발생하면 워크스페이스 규칙이 글로벌 규칙보다 우선합니다." 이와 별개로, Memory Bank는 문서화된 방법론입니다. 이는 Cline이 모든 작업을 시작할 때 읽도록 지시받는 마크다운 파일 세트로, 문서에서는 솔루션 제공업체의 문서치고는 이례적으로 솔직한 1인칭 문장으로 설명되어 있습니다: "나는 Cline이며, 독특한 특징을 가진 전문 소프트웨어 엔지니어입니다. 나의 메모리는 세션 사이에 완전히 초기화됩니다."
이 문장이 전체 설계의 핵심입니다. Cline은 상태(state)를 유지하는 척하지 않고, 문서화 규율을 통해 이를 보완합니다. 여러분의 마이그레이션은 ChatGPT 지식 중 어떤 부분을 이 규율에 포함시킬지 결정하는 과정입니다.
수동 마이그레이션
Step 1: 요약본이 불완전함을 인지하고 메모리 추출하기
설계상 기존 메모리를 사용하지 않는 Temporary Chat이 아닌, 일반 ChatGPT 대화를 열고 나와 내 작업에 대해 알고 있는 내용을 직접 적어달라고 요청하세요. 그런 다음 다양한 각도에서 다시 질문하세요. 종합된 정보에는 인덱스가 없기 때문입니다. 코딩 스타일에 대해 알고 있는 것, 특정 프로젝트에 대해 알고 있는 것, 하지 말라고 지시했던 것 등을 차례로 물어보세요. 프레임을 바꿀 때마다 서로 다른 항목들이 수면 위로 드러납니다.
두 가지 방법을 쓰면 이 과정이 덜 고통스럽습니다. 첫째, 구형 시스템을 사용 중이라면 질문을 시작하기 전에 Settings > Memory 아래의 열거 가능한 목록부터 확인하세요. 작업의 뼈대를 잡는 데 도움이 됩니다. 둘째, 메모리 요약이 예상보다 비어 보인다면, OpenAI가 제공하는 새로고침 경로(Settings > Personalization > Memory Summary로 이동한 다음 Manage를 누르고 삼점 메뉴에서 Refresh 선택)를 사용해 보세요. 물론 여전히 요약이 완벽히 망라되지는 않을 것입니다. 일반적인 문제 해결 사례는 ChatGPT 메모리가 작동하지 않을 때 대처법에서 다루고 있습니다.
결과를 하나의 임시 파일(scratch file)에 붙여넣으세요. 아직 정리하지 마세요. 분류는 Step 2에서 진행하며, 추출하면서 동시에 분류하려고 하면 작업을 조기에 중단하게 됩니다.
Step 2: 하나의 목적지가 아닌 세 개의 목적지로 분류하기
대부분의 마이그레이션이 실패하는 지점이 바로 여기입니다. 임시 파일을 그대로 .clinerules/에 쏟아붓는 뻔한 선택은 문서에 명시된 특정 결과를 초래하기 때문입니다. Cline은 해당 디렉토리의 모든 내용을 하나의 통합 규칙 세트로 결합하며, "프런트매터가 없는 규칙은 항상 활성화됩니다." 붙여넣은 메모리 덤프는 실행하는 모든 작업에서 영구적인 컨텍스트가 되어, 모델의 주의력과 토큰 예산을 실제 작업과 나누어 쓰게 만듭니다.
대신 세 개의 더미로 분류하세요.
항상 활성화되는 규칙 (Always-active rules). 이 리포지토리의 모든 작업에 적용되어야 하는 소수의 규칙 세트입니다. 언어 및 프레임워크 컨벤션, 사용할 명령어, 엄격한 금지 사항 등이 이에 해당합니다. 이들은 의도적으로 프런트매터 없이 .clinerules/ 파일에 들어갑니다. 이 더미는 철저하게 짧게 유지해야 합니다. 모든 단일 작업마다 비용을 지불하기로 선택하는 부분이기 때문입니다.
범위가 지정된 규칙 (Scoped rules). 코드베이스의 일부에만 적용되는 내용입니다. Cline의 조건부 규칙은 glob 패턴이 포함된 YAML 프런트매터를 사용하며, Cline은 사용자가 실제로 작업 중인 대상(열려 있는 파일, 보이는 탭, 언급된 경로, 편집 중인 파일 등)과 비교하여 일치하는 규칙을 활성화합니다. ChatGPT 메모리에서 가져온 대부분의 "프로젝트 팩트"는 항상 활성화되는 더미가 아니라 여기에 속해야 합니다. 이 정보들은 결코 보편적인 것이 아니라 API 레이어, 마이그레이션, 또는 프론트엔드에 관한 것이었기 때문입니다.
Memory Bank. 규칙이 아니라 지속적으로 성장하고 변화하는 지식입니다. Cline의 Memory Bank는 각기 다른 역할을 하는 6개의 파일을 정의합니다: 핵심 요구사항과 목표를 위한 projectbrief.md, 프로젝트의 존재 이유와 UX 목표를 위한 productContext.md, 현재 집중하고 있는 사항과 다음 단계를 위한 activeContext.md, 아키텍처 및 디자인 패턴을 위한 systemPatterns.md, 기술 스택, 설정 및 제약 조건을 위한 techContext.md, 그리고 작동하는 부분, 남은 부분, 알려진 문제를 위한 progress.md입니다.
임시 파일의 내용과 이 6가지 설명을 대조해 보면 분류는 대부분 저절로 이루어집니다. "우리는 npm이 아니라 항상 pnpm을 사용한다"는 규칙입니다. "감사인이 상태를 재생해야 하므로 원장(ledger)에 이벤트 소싱을 선택했다"는 systemPatterns.md에 들어갑니다. "스테이징 데이터베이스는 매일 밤 초기화된다"는 techContext.md에 속합니다. "결제 리팩토링 작업이 진행 중이다"는 activeContext.md에 들어가며, 이는 6주 후에 틀린 정보가 될 가능성이 가장 높은 항목이기도 합니다. 이것이 바로 이 항목이 자신만의 파일을 가져야 하는 이유입니다.
Memory Bank를 도입하기 전에 알아두어야 할 솔직한 두 가지 사항이 있습니다. 이는 런타임 기능이 아니라 사용자가 직접 설치하는 컨벤션입니다. 문서에서는 .clinerules/memory-bank.md와 같은 Cline Rules 파일에 커스텀 지침을 넣은 다음, Cline에게 Memory Bank를 초기화하도록 요청하여 설정하는 방법을 설명합니다. 또한 Cline은 모든 작업의 시작 부분에서 이 모든 파일을 읽도록 지시받기 때문에, 읽기 작업에 컨텍스트 비용이 발생합니다. 문서 자체에서도 컨텍스트 창 제한으로 인해 주기적으로 파일을 업데이트하고 새 대화를 시작하여 재개해야 할 수 있다고 언급하고 있습니다. 지속적인 유지 관리 비용이 따르지만 훌륭한 시스템이며, 1년 동안 쌓인 컨텍스트를 옮기기 전에 이를 인지하는 것이 중요합니다. 실제 설정 비교는 Cline을 위한 최적의 메모리 설정에서 확인할 수 있습니다.
더 나은 방법: 어시스턴트에 종속되지 않는 단일 메모리 레이어
여기서 짚고 넘어가야 할 점이 있습니다. 여러분은 방금 원래 여러분의 것이었던 지식을 회복하기 위해 한 어시스턴트를 심문하는 데 세션을 보냈고, 이제 이를 다른 어시스턴트만 읽을 수 있는 형식으로 넘겨주려 하고 있습니다. 이 작업을 두 번 더 반복하면 서로 어긋나는 세 개의 개별 사본을 갖게 될 것입니다.
MemoryLake가 대안이 될 수 있습니다. 프로젝트의 영구적인 지식을 하나의 레이어에 보관하고, 각 어시스턴트가 이를 읽어가도록 하는 것입니다. Cline의 규칙은 매 작업마다 컨텍스트에 있어야 하는 좁은 범위의 고유한 역할만 계속 수행하고, 축적된 지식 본체는 도구별로 중복 생성되지 않습니다. 설정은 세 단계로 진행됩니다.
Step 1: API 키 생성
MemoryLake에 로그인하고 API 키를 생성합니다. 연결하는 모든 도구에서 하나의 자격 증명을 사용하므로, 이번 마이그레이션 이후에도 영구적으로 유지되는 특성을 갖게 됩니다.

Step 2: 첫 번째 메모리 업로드
Step 1에서 작성한 임시 파일을 업로드합니다. 분류는 되었지만 아직 흩어지지 않은 상태의 결정 사항, 제약 조건, 컨벤션, 특히 기각된 대안들과 그 이유를 업로드하세요. 항목은 짧고 단일 주제로 유지하세요. 긴 문서보다 구체적인 항목에서 검색이 더 잘 작동하며, 짧은 항목일수록 최신 상태를 유지하기 쉽습니다.

Step 3: AI 및 에이전트 연결
사용하는 도구들을 연결합니다. MemoryLake는 MCP 및 API를 통해 접근할 수 있으므로, Claude Code, Codex, OpenClaw를 포함한 MCP 네이티브 에이전트들은 MCP 서버를 가리켜 연결하고, 다른 어시스턴트들은 API를 통해 동일한 메모리를 읽습니다. 결과적으로 다음에 새로운 도구를 도입하더라도 또 다른 추출 세션을 거칠 필요 없이 동일한 지식에서 시작할 수 있습니다.

솔직하게 밝혀둘 두 가지 한계가 있습니다. MemoryLake가 여러분의 ChatGPT 메모리를 대신 읽어주지는 않습니다. 가져올 수 있는 내보내기 기능이 없으므로, 위의 Step 1은 여러분이 한 번은 직접 수행해야 하는 실제 작업입니다. 또한 이는 강제 적용 레이어가 아닙니다. 모델이 어떤 결정을 내리든 상관없이 반드시 지켜져야 하는 사항은 규칙 파일이나 체크 항목에 두어야 하며, 이것이 바로 Cline의 항상 활성화되는 규칙이 존재하는 이유입니다.
실제 변화하는 점
항상 활성화되는 더미가 작게 유지됩니다. 영구적인 지식을 검색할 수 있게 되면, 모든 것을 규칙으로 만들고 싶은 유혹에서 벗어나게 됩니다. 이를 통해 .clinerules/가 본연의 역할을 잘 수행하도록 유지하고, 작업당 컨텍스트 비용을 낮출 수 있습니다.
추출은 한 번만 발생합니다. ChatGPT에서 메모리를 꺼내기 위해 수행했던 심문 과정은 비용이 많이 드는 단계입니다. 이를 공유 레이어에 구축해 두면 다음 어시스턴트는 반복 작업 없이 연결만 하면 됩니다.
오래된 항목이 눈에 보입니다. 열거할 수 없는 종합본은 정보가 오래되었다는 사실을 숨깁니다. 반면 명시적인 항목들로 구성된 짧은 목록은 그렇지 않습니다. 여러분도, 팀원도 쉽게 읽을 수 있습니다.
팀원들이 동일한 컨텍스트를 공유합니다. ChatGPT 메모리는 계정별로 제공되며, OpenAI에 따르면 동일한 Business 워크스페이스 내에서도 다른 사용자에게 이전할 수 없습니다. 팀이 공유해야 하는 지식은 애초에 그곳에 머무를 수 없었습니다.
Cline 고유의 강점이 더 명확해집니다. Memory Bank는 프로젝트 상태를 파악하는 데 정말 유용합니다. 하지만 1년 치 개인 선호도를 모아두는 쓰레기통으로는 적합하지 않으며, 이 둘을 분리하면 두 기능 모두 더 잘 작동합니다. 이 차이점은 Cline이 작업 기록을 잊어버리는 이유에서 확인할 수 있습니다.
이전을 위한 모범 사례
요약본에 의존하지 말고 직접 물어보세요. OpenAI는 요약본에 모든 내용이 포함되지 않는다고 명시하며 대화창에서 물어볼 것을 권장합니다. 이 말을 그대로 받아들이고 다양한 각도에서 여러 번 질문하세요.
프런트매터는 실수로가 아니라 의도적으로 추가하세요. 프런트매터가 없는 규칙은 항상 활성화됩니다. 이는 의도했을 때는 강력한 기능이지만, 의도하지 않았을 때는 비용(세금)이 됩니다.
프로젝트 상태는 Memory Bank로, 선호도는 규칙으로 이동하세요. 6개 파일 구조는 이들을 분리하기 위해 존재합니다. 이를 존중하면 파일들이 유용하게 유지되지만, 무시하면 activeContext.md는 잡동사니 서랍이 되어 버립니다.
마이그레이션하기 전에 삭제하세요. 오래된 선호도, 버려진 컨벤션, 더 이상 그렇게 작동하지 않는 모델을 위한 임시방편 등은 복사한다고 해서 나아지지 않습니다. 마이그레이션은 불필요한 정보를 정리할 수 있는 가장 비용이 적게 드는 기회입니다.
워크스페이스 규칙과 글로벌 규칙을 분리하여 유지하세요. 충돌 시 워크스페이스 규칙이 우선하므로, 팀 표준은 .clinerules/에 두고 개인적인 습관은 글로벌 디렉토리에 두세요. 이들을 섞어 쓰면 나중에 충돌 원인을 파악하기 어려워집니다.
기각된 사항은 이유와 함께 기록해 두세요. 가장 가치 있는 카테고리이자 어떤 메모리 시스템도 스스로 포착하지 못하는 부분입니다. 이유가 기록되어 있지 않으면, 새로운 에이전트는 기각된 접근 방식을 다시 한번 자신 있게 제안할 것입니다.
결론
이번 마이그레이션이 보기보다 더 많은 작업이 필요한 이유는 구조적인 차이 때문입니다. 완전히 읽을 수 없는 종합본을 사용자가 명시적으로 끄지 않는 한 항상 켜져 있는 파일 세트로 변환해야 하기 때문입니다. 분류 과정을 건너뛰면 매 작업마다 1년 치의 반쯤 유용한 선호도를 짊어지고 가는 Cline 설정을 얻게 될 뿐입니다. 하지만 제대로 분류하면 처음으로 지식을 열거할 수 있게 되므로 이전보다 더 나은 환경을 구축할 수 있습니다.
추출은 한 번만 수행하고, 항상 활성화되는 더미는 작게 유지하며, 프로젝트 상태는 Memory Bank가 원하는 곳에 두고, 영구적인 지식 본체는 Cline에 종속되지 않는 곳에 보관하세요. 그래야 다음 이동이 또 다른 심문이 아닌 단순한 연결이 될 수 있습니다. 나중에 다른 곳으로 이동할 계획이 있다면 Cline에서 Cursor로 마이그레이션하기에서 나가는 여정을 다루고 있으며, ChatGPT 메모리의 한계에서는 뒤에 남겨두고 떠나는 것들에 대해 다룹니다.