실제로 이전되는 것
우선 Character.AI의 설명에 따른 Lorebook의 정의부터 시작해 보겠습니다. "Lorebook은 채팅 중에 관련 키워드가 등장할 때 활성화되는 세계관 항목(주변 인물, 장소, 규칙 등)의 재사용 가능한 모음입니다. 하나의 Lorebook을 여러 Character에 연결하여 공유 세계관을 일관되게 유지할 수 있습니다." Lorebook은 현재 베타 버전이며, 이를 생성하거나 편집하려면 c.ai+ 구독이 필요합니다.
모든 항목은 세 부분으로 구성되어 있으며, 그중 하나는 사람들이 생각하는 방식으로 이전되지 않습니다:
- Content(내용)는 항목이 활성화될 때 Character가 학습하는 내용입니다.
- Keywords(키워드)는 항목을 활성화하는 트리거입니다. Character.AI는 항목당 최대 8개까지 허용합니다.
- Title(제목)은 라벨입니다. Character.AI는 이에 대해 단호하게 말합니다. "제목은 사용자와 Lorebook을 둘러보는 다른 사람들을 위한 것일 뿐, Character는 이를 전혀 보지 못합니다."
따라서 만약 여러분이 제목에 의미를 부여해 왔다면(예: "모퉁이 카페 (화재 후 방치됨)"), 그 괄호 안의 내용은 모델에 전달된 적이 없으며, 마이그레이션하기 전에 내용(content)으로 먼저 옮기지 않는 한 ChatGPT에도 전달되지 않습니다. 마이그레이션을 시작하기 전에 확인해 볼 가치가 있습니다.
Lorebook이 존재하는 이유는 Character.AI가 직접 언급한 컨텍스트 용량 문제 때문입니다. "Character는 한 번에 일정량의 컨텍스트만 보유할 수 있습니다. Character Definition에 작성된 세부 정보는 관련 여부와 관계없이 모든 답변에서 공간을 차지합니다." 반면 Lorebook 항목은 "채팅에서 키워드 중 하나가 나타날 때까지 대기하다가, 활성화되면 Character의 다음 답변을 형성하는 데 도움을 줍니다."
이제 목적지인 ChatGPT를 살펴보겠습니다. ChatGPT의 공식 개인화 기능은 Custom Instructions, 메모리 요약(memory summary), 그리고 기존의 저장된 메모리(saved memories) 시스템입니다. OpenAI는 각 기능의 용도를 다음과 같이 설명합니다. "명시적인 정보나 지침은 Custom Instructions에 추가할 수 있습니다. 대화를 통해 공유된 정보의 경우, ChatGPT가 관련 세부 정보를 기억할 수 있습니다." 기존 시스템의 작동 시점에 대해서는 명확히 밝히고 있습니다. "삭제하지 않는 한, 저장된 메모리는 향후 답변에서 항상 고려됩니다." 또한 현재 시스템에서는 표시되는 목록이 일부에 불과하다고 경고합니다. "메모리 요약이 가장 중요한 세부 정보를 캡처해야 하지만, ChatGPT가 대화를 바탕으로 기억하는 모든 내용을 포함하지는 않습니다."
이 두 가지를 나란히 비교해 보면 마이그레이션의 실체가 구체화됩니다.
깔끔하게 이전되는 것: 모든 항목의 내용(content), Character Definition의 핵심 정체성 자료, '항상 관련 있음'으로 분류할 수 있는 모든 것, 그리고 산문 형태로 작성된 세계관의 구조.
작동 방식이 변경되어 이전되는 것: 키워드로 제한된 모든 항목. Character.AI에서는 트리거 단어를 기다립니다. 반면 ChatGPT의 공식 기능에서는 항상 작동 중이거나 모델이 이전 대화에서 선택하여 가져옵니다. 텍스트는 보존되지만, 키워드 필터링 메커니즘은 사라집니다.
메커니즘으로서 이전되지 않는 것: 키워드 목록 자체, 최대 8개 제한, Full Details 대 Hint Only 항목 가시성 설정, 초안(draft) 대 게시(published) 상태, 그리고 Character.AI가 채팅 시 연결된 Character와 현재 Persona로 대체하는 {{char}} 및 {{user}} 플레이스홀더. 이것들은 Character.AI 엔진의 기능이지 이식 가능한 콘텐츠가 아닙니다. Pinned Memories도 이전되지 않습니다. 이는 채팅당 5개의 메시지로 제한되며 해당 채팅 내부에서만 존재합니다.
이것은 why Character AI forgets your persona에서 다룬 페르소나 문제와 동일한 형태이며, 단지 한 단계 더 높은 수준인 '캐릭터'가 아닌 '세계관'의 문제입니다. 단일 채팅 내에서 누적되는 관계 기록에는 고유한 오류 모드가 있으며, 이는 when Character AI forgets your relationship history에서 다루고 있으므로 내보내기(export)를 통해 이 기록이 그대로 이전될 것이라고 가정하기 전에 읽어볼 가치가 있습니다.
수동 마이그레이션 방법
1단계: 자료를 내보내고, Character.AI가 제시한 규칙에 따라 분류하기
Character.AI는 데이터 내보내기 경로를 제공합니다. 웹에서는 프로필로 이동하여 Profile Settings를 열고, Account로 이동한 다음 Manage Account & Data를 선택하고 Export data를 클릭합니다. 모바일 앱에서는 프로필을 열고 설정 아이콘을 찾은 다음 Export my data를 선택합니다. 도움말 문서에는 이러한 단계가 설명되어 있지만 결과 파일의 내용은 설명되어 있지 않으므로, 내부 내용을 미리 짐작하기보다는 직접 파일을 열어서 확인하는 것이 좋습니다.
특히 Lorebook의 경우 더 안정적인 두 번째 경로가 있습니다. Character.AI의 가져오기(importer) 기능이 읽을 수 있는 형식을 정의하고 있기 때문에, 항목이 어떤 형태로 저장되는지 이미 알 수 있기 때문입니다. 일반 텍스트 형식은 맨 위에 Lorebook Name:과 Lorebook Description:을 한 번 사용한 다음, Entry Title:, Keywords:, Content: 블록을 반복합니다. JSON 형식은 entries 객체 아래에 항목을 중첩하며, Character.AI에 따르면 "comment는 항목의 제목이 되고, key는 키워드가 되며, content는 내용이 됩니다."
그 다음 분류를 진행합니다. 모든 항목을 가져와 Character.AI의 자체 테스트 기준인 '항상 관련 있음' 또는 '가끔 관련 있음'을 사용하여 두 개의 더미로 나눕니다. 핵심 정체성, 말투, 동기, 모든 장면에서 적용되는 세계관의 규칙 등은 '항상'에 해당합니다. 특정 에피소드에만 등장하는 주변 인물, 서너 번의 대화에서만 중요한 장소, 원한을 품은 특정 세력 등은 '가끔'에 해당합니다.
대부분의 사람들은 이 두 더미의 크기가 크게 불균형하며, '가끔' 더미에 공들여 쓴 좋은 설정들이 모두 모여 있다는 사실을 발견하게 됩니다.
2단계: '항상' 더미를 재구축하고, '가끔' 더미에 직접 제어할 수 있는 필터를 제공하기
'항상' 더미는 OpenAI가 명시적인 정보와 지침을 위한 공간으로 설명하는 Custom Instructions에 들어갑니다. 내용을 간결하게 유지하세요. 이는 모든 답변에서 컨텍스트 비용을 지불하기로 선택한 자료이며, 이는 Character.AI가 Character Definition과 관련하여 경고했던 바로 그 트레이드오프입니다.
'가끔' 더미를 처리하는 것이 진짜 작업입니다. ChatGPT 내부에는 세 가지 현실적인 옵션이 있으며, 선택하기 전에 각 옵션의 한계를 알아두는 것이 좋습니다.
첫째, 항목을 '항상' 더미로 승격시킬 수 있습니다. 간단하지만, 지난 2주 동안 아무도 언급하지 않은 세력에 대한 정보를 유지하기 위해 컨텍스트를 낭비하게 됩니다.
둘째, 항목들을 Project에 넣고 프로젝트 경계를 범위(scope)로 활용할 수 있습니다. OpenAI는 이 경계의 작동 방식을 다음과 같이 설명합니다. 프로젝트 전용 메모리를 사용하면 "채팅은 동일한 프로젝트 내의 다른 대화를 참조할 수 있지만, 프로젝트 외부의 대화는 참조할 수 없으며, 프로젝트 외부의 채팅도 프로젝트 내부의 대화를 참조할 수 없습니다." 이는 키워드 트리거가 아니라 '범위' 설정입니다. 세계관이 에피소드별로 깔끔하게 나뉜다면 유용하지만, 여러 설정이 교차한다면 쓸모가 없습니다.
셋째, 장면이 시작될 때 관련 항목을 직접 붙여넣을 수 있습니다. 작동은 하지만, 이는 애초에 Lorebook을 만들면서 가장 피하고 싶었던 번거로운 작업일 것입니다.
이 중 어느 것도 키워드 필터 역할을 하지 못합니다. 이는 ChatGPT의 결함이라기보다는 두 제품의 목적 차이에서 기인하는 것이며, 모든 텍스트를 그대로 복사해서 붙여넣었음에도 마이그레이션 결과가 원래보다 못하다고 느껴지는 이유가 바로 여기에 있습니다.
더 나은 방법: 키워드 없이도 세계관의 조건부 정보를 유지하는 방법
Lorebook에서 보존할 가치가 있는 부분은 트리거 메커니즘 자체가 아닙니다. 그 안에 담긴 판단력, 즉 '이 세부 정보는 다른 곳이 아닌 바로 이 상황에서 중요하다'는 판단입니다. 이 판단 기준을 어시스턴트가 읽을 수 있는 레이어에 보존하면, 플랫폼을 벗어날 때 잃어버리는 기능이 아니라 어디서나 재정의할 수 있는 유연한 필터가 됩니다.
바로 그 레이어 역할을 하는 것이 MemoryLake입니다. 여러분은 자신의 언어로 항목을 작성하고, 각 항목의 범위와 존재 이유를 함께 기록하여 모든 어시스턴트가 읽을 수 있는 단일 주소 지정 가능 공간에 저장할 수 있습니다. 항목들은 더 이상 특정 벤더의 활성화 엔진에 갇히지 않으며, 여러분이 수행한 분류 작업은 마이그레이션 후에도 그대로 유지됩니다.
1단계: API 키 생성하기
로그인한 후 워크스페이스 설정을 열고 API 키를 생성합니다. 이 키는 어시스턴트가 동일한 항목 세트를 읽는 데 사용하는 인증 정보이므로, 한 번 생성한 후 글을 쓰는 모든 도구에서 접근할 수 있는 곳에 보관하세요.

2단계: 첫 번째 메모리 업로드하기
분류된 더미를 가져와 Character.AI가 알려준 구조를 유지합니다. 주제당 하나의 항목을 만듭니다. 라벨이 아닌 내용(content)을 넣으세요. 그리고 남겨두고 온 키워드의 인간 친화적 버전인 '언제 적용되는지'에 대한 짧은 메모를 추가합니다. 이미 여러 번 반복해서 설명해야 했던 항목부터 시작하세요. 그것들이 이미 제값을 톡톡히 하고 있는 항목들입니다.

3단계: AI 및 에이전트 연결하기
ChatGPT 및 글을 작성할 때 사용하는 다른 모든 도구를 연결합니다. 모든 도구에 동일한 세계관이 적용되며, 선술집의 역사가 필요한 장면이 나오면 여러분이 기억을 더듬어 선술집 설정을 다시 만들 필요 없이 자동으로 해당 정보를 가져옵니다.

실제 사용 시 변화하는 점
첫 번째 차이점은 여러분의 세계관이 더 이상 특정 구독 기능에 종속되지 않는다는 것입니다. Lorebook은 베타 버전이며 c.ai+ 구독자에게만 제한되어 있습니다. 하지만 여러분이 작성한 항목은 어떤 방식으로든 여러분의 소유이며, 논리적 구조가 도구 외부에 존재하게 되면 도구의 요금제 변경은 손실이 아니라 단순한 불편함에 불과하게 됩니다.
두 번째는 '가끔 관련 있음' 더미가 방치되어 잊히는 일이 없어진다는 점입니다. 키워드 시스템에서는 키워드를 잘못 선택하면 해당 항목이 활성화되지 않고 아무런 반응도 보이지 않습니다. Character.AI는 이에 대해 "아무도 입력하지 않는 키워드는 절대 실행되지 않습니다"라고 명확히 밝히고 있습니다. 조건이 사람이 읽을 수 있는 문장으로 작성되면 이를 검토할 수 있습니다. Auditing what your AI remembers는 메모리 저장소에 적용되는 것과 동일한 관리 방식입니다.
세 번째는 여러 도구를 넘나들며 글을 쓸 때 나타납니다. 한 곳에 보관된 세계관은 ChatGPT에서도, 다음에 사용할 다른 도구에서도 동일하게 읽힙니다. 이는 단순한 '저장 파일'과 '라이브러리'의 차이입니다. 다른 플랫폼에서 세계관을 구축하다가 이 문제를 겪어본 독자라면 when Janitor AI forgets your worldbuilding에서 설명한 패턴을 쉽게 이해하실 수 있을 것입니다.
구조화된 세계관 이전을 위한 모범 사례
제목이 아닌 내용을 이전하세요. Character.AI의 제목은 모델에 전달된 적이 없습니다. 제목에 중요한 의미가 담겨 있다면, 데이터를 내보내기 전에 해당 의미를 내용(content)으로 옮기세요.
두 개의 열로 분류하는 방식을 평생 유지하세요. 이는 정말 좋은 아이디어이며 Character.AI에만 국한되지 않습니다. 어떤 세부 정보가 항상 참이고 어떤 정보가 상황에 따라 다른지 파악하는 것은 메모리 저장소가 비대해지는 것을 방지하는 핵심입니다.
조건을 산문(문장) 형태로 작성하세요. "대화의 배경이 항구 구역일 때 적용됨"과 같은 문장은 플랫폼이 바뀌어도 살아남습니다. 하지만 키워드 목록은 그렇지 못합니다.
키워드 없이 유입된 항목을 확인하세요. Character.AI는 일부 도구에서 키워드가 없는 '항상 켜짐' 항목을 허용하지만, 자체 시스템에서는 "항목이 키워드에 의해서만 활성화된다"고 명시하고 있습니다. 이러한 항목들은 현재 아무런 작동도 하지 않고 있을 가능성이 가장 높으므로, '항상' 더미로 옮겨야 합니다.
목적지의 목록이 불완전할 수 있음을 예상하세요. OpenAI는 메모리 요약이 ChatGPT가 기억하는 모든 것을 포함하지는 않으며, 특정 내용이 기억되었는지 확인하려면 채팅에서 직접 물어봐야 한다고 말합니다. 눈에 보이는 목록을 전체 인벤토리가 아닌 요약본으로 취급하세요. ChatGPT's memory limitations에서 실제적인 영향에 대해 다루고 있습니다.
첫날부터 전체 세계관을 다시 구축하려고 하지 마세요. 실제로 작성하는 장면에 직접적으로 영향을 미치는 핵심 항목들만 먼저 옮기세요. 나머지는 필요할 때마다 차례로 옮기면 되며, 그중 상당수는 결국 필요하지 않은 것으로 밝혀질 것입니다.
결론
Character.AI는 항상 참인 것과 가끔만 관련 있는 것을 구분하는 이례적으로 정직한 메모리 시스템을 구축했으며, 사용자에게 자료를 분류하는 방법을 정확히 알려주었습니다. 마이그레이션이 까다로운 이유는 목적지(ChatGPT)의 공식 기능들이 '항상' 열을 중심으로 구축되어 있기 때문입니다. 즉, OpenAI의 표현대로 '항상 고려되는' 저장된 메모리와 모델이 스스로 유지 관리하는 요약본이 그것입니다.
그러므로 스위치(키워드)가 아닌 분류 기준을 가져가세요. 키워드는 결코 가치 있는 부분이 아니었습니다. 진짜 가치 있는 것은 '특정 세부 정보가 언제 중요한지'에 대한 결정이었으며, 그 결정을 어시스턴트가 읽을 수 있는 곳에 기록하는 순간 어디로든 이식할 수 있게 됩니다.
Lorebook이 아닌 채팅 및 페르소나에 초점을 맞춘 Character.AI 탈출에 대한 또 다른 관점은 migrating Character AI to ChatGPT 가이드에서 확인하실 수 있습니다.