MemoryLake
すべての記事に戻る
Tutorial2026年9月11日·10 分で読了

Character.AIのLorebookをコンテキストを失わずにChatGPTへ移行する方法 (2026)

Lorebookは、多くの人がこれまでに作成した中で最も構造化されたメモリ(記憶)です。数十ものエントリーがあり、それぞれにキーワードが設定され、会話がその話題に達したときにのみ有効になります。しかし、その世界観をChatGPTに持ち込もうとすると、問題は文章そのものではないことに気づきます。問題は、あなたが「常に重要(always relevant)」と「時々重要(sometimes relevant)」という2つの列を持つストアを構築したのに対し、移行先は前者の列しか公式にサポートしていないという点にあります。

Character.AI自体が、このテーマに関して最も明確な分類ルールを公開しています。"大まかなルールとして、常に重要なものはDefinition(定義)に、時々重要なものはLorebookに入れます。" この1文こそが、移行のすべてを物語っています。以下で説明するのは、後半の「時々重要なもの」に何が起こるかについてです。

実際に移行できるもの

まず、Character.AIの言葉を借りて、Lorebookとは何かをおさらいしましょう。"Lorebookは、チャット内でキーワードが登場したときに有効化される、世界観のエントリー(脇役、場所、ルールなど)の再利用可能なコレクションです。1つのLorebookを複数のCharacterにリンクさせることで、共有された世界観の一貫性を保つことができます。" Lorebookは現在ベータ版であり、作成や編集にはc.ai+のサブスクリプションが必要です。

すべてのエントリーには3つの要素がありますが、そのうちの1つは人々が想定しているようには移行されません。

  • Content(内容):エントリーが有効化したときにCharacterが学習する内容です。
  • Keywords(キーワード):エントリーを有効化するトリガーです。Character.AIでは1つのエントリーにつき最大8個まで設定できます。
  • Title(タイトル):単なるラベルです。Character.AIはこれについて率直に述べています。"タイトルはあなたやLorebookを閲覧する人のためのものであり、Characterがこれを見ることはありません。"

したがって、もしタイトルに意味を持たせていた場合(例:「角のカフェ(火災後に廃墟化)」)、そのカッコ内の情報はモデルに届いておらず、最初にコンテンツ(Content)に移動させない限り、ChatGPTにも伝わりません。移行を始める前に確認する価値があります。

Lorebookが存在する理由は、Character.AIが直接言及している予算(コンテキスト制限)の問題にあります。"Characterが一度に保持できるコンテキストには限りがあります。Character Definition(定義)に書き込まれた詳細は、関連性があるかどうかにかかわらず、すべての返答でスペースを消費します。" 一方で、Lorebookのエントリーは"チャットでキーワードが登場するまで邪魔をせず、登場した時点でCharacterの次の返答を形成するのに役立ちます。"

次に移行先についてです。ChatGPTの公式にドキュメント化されているパーソナライズ機能は、Custom Instructions(カスタム指示)、メモリの要約、そしてレガシーな保存済みメモリシステムです。OpenAIはそれぞれの用途を次のように説明しています。"明示的な情報や指示については、Custom Instructionsに追加できます。会話を通じて共有された情報については、ChatGPTが関連する詳細を記憶できます。" レガシーシステムについては、タイミングが明示されています。"削除しない限り、保存されたメモリは将来の返答で常に考慮されます。" また、現在のシステムについては、表示されているリストが一部に過ぎないことを警告しています。"メモリの要約は最も重要な詳細を捉えるはずですが、チャットに基づいてChatGPTが記憶しているすべてが含まれるわけではありません。"

これらを並べて比較すると、移行の形が具体的に見えてきます。

きれいに移行できるもの: 各エントリーのコンテンツ、Character Definitionの核となるアイデンティティ、常に重要(always-relevant)と呼べるものすべて、そして散文としての世界観の構造。

挙動が変わる形で移行されるもの: キーワードによって制限されているすべてのエントリー。Character.AIではトリガーワードを待ちますが、ChatGPTの公式機能では、常に有効であるか、過去のチャットからモデルによって選択されます。テキストは残りますが、トリガーによる制限(ゲート)は失われます。

仕組みとして移行できないもの: キーワードリスト自体、最大8個の制限、エントリーの表示設定(Full Details vs Hint Only)、下書き/公開ステータス、およびチャット時にCharacter.AIがリンクされたCharacterや現在のPersonaに置き換える {{char}}{{user}} プレースホルダー。これらはCharacter.AIのエンジンの機能であり、ポータブルなコンテンツではありません。Pinned Memories(ピン留めされたメモリ)も移行できません。これらは1つのチャットにつき最大5メッセージに制限されており、そのチャット内でのみ機能します。

これは、Character AIがペルソナを忘れる理由で解説したペルソナの問題と同じ構図ですが、レイヤーが1つ上がっています。キャラクターではなく「世界観」の問題です。また、単一のチャット内に蓄積される関係性の履歴には独自の不具合パターンがあり、これについてはCharacter AIが関係性の履歴を忘れるときで解説しています。エクスポートすればすべて引き継がれると考える前に、一読する価値があります。

手動での移行手順

ステップ 1:データをエクスポートし、Character.AIのルールに従って分類する

Character.AIはエクスポート手順を公開しています。ウェブ版の場合:プロフィールに移動し、「Profile Settings(プロフィール設定)」を開き、「Account(アカウント)」から「Manage Account & Data(アカウントとデータの管理)」に進み、「Export data(データをエクスポート)」を選択します。モバイルアプリの場合:プロフィールを開き、設定アイコンを見つけて「Export my data(データをエクスポート)」を選択します。ヘルプ記事にはこれらの手順が記載されていますが、出力されるファイルの内容については説明されていないため、中身を想定するのではなく、実際に開いて確認することをお勧めします。

特にLorebookに関しては、より確実な2つ目のルートがあります。Character.AIのインポーターが読み込むフォーマットを定義しているため、エントリーがどのような形式で保存されているかが事前にわかるからです。プレーンテキストの場合、上部に一度だけ Lorebook Name:Lorebook Description: があり、その後に Entry Title:Keywords:Content: のブロックが繰り返されます。JSON形式の場合、エントリーは entries オブジェクトの下に入れ子になっており、Character.AIによると "comment がエントリーのタイトルになり、key がキーワードになり、content がコンテンツになります。"

次に分類を行います。Character.AI独自の基準(「常に重要」か「時々重要」か)を使って、すべてのエントリーを2つの山に分けます。核となるアイデンティティ、口調、動機、すべてのシーンで真実である世界観のルールなどは「常に重要」です。特定の章にしか登場しない脇役、3回ほどの会話でしか意味を持たない場所、因縁のある派閥などは「時々重要」です。

多くの人は、この2つの山が極端に不均等になり、「時々重要」の山に魅力的な設定がすべて詰まっていることに気づくでしょう。

ステップ 2:「常に重要」な山を再構築し、「時々重要」な山に自分でコントロールできる制限(ゲート)を設ける

「常に重要」な山は、OpenAIが明示的な情報や指示を置く場所として説明しているCustom Instructionsに入れます。内容は簡潔にまとめてください。これはすべての返答でコンテキストを消費することを選択したデータであり、まさにCharacter.AIがCharacter Definitionsに関して警告していたトレードオフそのものです。

「時々重要」な山をどう扱うかが本番です。ChatGPT内には3つの現実的な選択肢がありますが、選ぶ前にそれぞれの限界を知っておく必要があります。

1つ目は、エントリーを「常に重要」な山に昇格させることです。シンプルですが、2週間誰も言及していない派閥のためにコンテキストを消費することになります。

2つ目は、それらをProject(プロジェクト)に入れ、プロジェクトの境界をスコープとして機能させることです。OpenAIはその境界の挙動について次のように説明しています。プロジェクト限定のメモリを使用すると、"チャットは同じプロジェクト内の他の会話を参照できますが、プロジェクト外の会話を参照することはできず、プロジェクト外のチャットもプロジェクト内の会話を参照することはできません。" これはキーワードトリガーではなく「スコープ」です。世界観が章ごとにきれいに分かれている場合は便利ですが、エントリーが横断的に関係している場合は役に立ちません。

3つ目は、シーンの開始時に関連するエントリーを貼り付けることです。これは機能しますが、そもそもLorebookを作成したときに「もうやりたくない」と思った作業そのものです。

これらのいずれも、キーワードによる制限(ゲート)ではありません。これはChatGPTの欠陥というよりも、2つの製品の目的の違いによるものです。そのため、すべての文章を移行できたとしても、単純なコピー&ペーストによる移行では、オリジナルよりも使い勝手が悪く感じられてしまうのです。

より良い方法:キーワードだけに頼らない場所に世界観の条件付きデータを保持する

Lorebookで保存する価値があるのは、トリガーの仕組みそのものではありません。そこにエンコードされた「この詳細はここで重要であり、どこでも重要というわけではない」という判断(ロジック)です。その判断をアシスタントが読み取れるレイヤーに保持しておけば、移行によって失われる機能ではなく、どこでも再定義できる制限(ゲート)になります。

そのレイヤーを提供するのが MemoryLake です。エントリーを自分の言葉で、そのスコープや存在理由とともに書き込むことで、あらゆるアシスタントが読み取れる1つの参照可能な場所を作成できます。エントリーが特定のベンダーの有効化エンジンに閉じ込められることがなくなり、あなたが行った分類作業が移行後も活かされます。

ステップ 1:APIキーを作成する

サインインし、ワークスペースの設定を開き、APIキーを生成します。これはアシスタントが同じエントリー群を読み取るために使用する認証情報です。一度作成すれば、執筆に使用するすべてのツールからアクセスできるようになります。

新しいキーが作成され、エージェントで使用するためにコピーされるAPIキー画面を表示するMemoryLakeコンソール
新しいキーが作成され、エージェントで使用するためにコピーされるAPIキー画面を表示するMemoryLakeコンソール

ステップ 2:最初のメモリをアップロードする

分類した山を移行し、Character.AIで学んだ構造を維持します。1つのテーマにつき1つのエントリー。ラベルではなくコンテンツ。それがいつ適用されるかについての短いメモ(残してきたキーワードの人間向けバージョン)。まずは、これまでに何度も説明し直したエントリーから始めましょう。それらはすでに価値が証明されているものです。

最初のドキュメントがアップロードされ、各ファイルが検索可能なメモリとしてリストされているMemoryLakeワークスペース
最初のドキュメントがアップロードされ、各ファイルが検索可能なメモリとしてリストされているMemoryLakeワークスペース

ステップ 3:AIとエージェントを接続する

ChatGPTや、その他執筆に使用するあらゆるツールを接続します。同じ世界観がそれぞれに届き、酒場の歴史が必要なシーンでは、記憶を頼りに酒場を再構築することなく、その情報が自動的に提供されます。

メモリレイヤーに接続可能なAIクライアントやエージェントフレームワークがリストされているMemoryLakeの統合画面
メモリレイヤーに接続可能なAIクライアントやエージェントフレームワークがリストされているMemoryLakeの統合画面

実務における変化

第1の違いは、あなたの世界観がサブスクリプション機能に依存しなくなる点です。Lorebookはベータ版であり、c.ai+に制限されています。あなたが書いたエントリーはどちらにせよあなたのものです。ロジックがツールの外部に存在していれば、ツールのプラン変更は単なる不便さに過ぎず、データの損失にはなりません。

第2に、「時々重要」な山が風化しなくなります。キーワードシステムでは、不適切に選ばれたキーワードを持つエントリーは不可視になり、沈黙したままになります。Character.AIはこれをはっきりと述べています。"誰も入力しないキーワードは、決して有効化されません。" 適用条件が人間が読める文章で書かれていれば、それを監査(オーディット)することができます。AIが記憶している内容を監査することは、メモリストアに適用されるのと同じ規律です。

第3の違いは、複数のツールをまたいで執筆するときに現れます。1つの場所に保持された世界観は、ChatGPTでも、次に使用するツールでも同じように読み込まれます。これは「ライブラリ」と「セーブファイル」の違いのようなものです。他のプラットフォームで世界観構築を行っていてこの問題に直面した読者は、Janitor AIが世界観構築を忘れるときのパターンと同じであることに気づくでしょう。

構造化された世界観を移行するためのベストプラクティス

タイトルではなく、コンテンツを移行する。 Character.AIのタイトルはモデルに届いていませんでした。タイトルに意味がある場合は、エクスポートする前にその意味をコンテンツに移動させてください。

2つの列による分類を永続的に維持する。 これは本当に優れたアイデアであり、Character.AIに特有のものではありません。どの詳細が常に真実で、どれが状況に応じたものかを把握しておくことが、メモリストアの肥大化を防グ鍵となります。

適用条件を散文(文章)で書く。 「会話の舞台が港湾地区である場合に適用される」という文章は、プラットフォームの変更に耐えられます。キーワードリストは耐えられません。

キーワードなしで移行されたエントリーを確認する。 Character.AIは、一部のツールではキーワードなしの「常時オン」エントリーが許可されている一方で、自社システムでは "エントリーはキーワードによってのみ有効化される" と指摘しています。これらのエントリーは、現在何もせずに沈黙している可能性が最も高く、「常に重要」な山に分類されるべきものです。

移行先のリストが不完全であることを想定する。 OpenAIは、メモリの要約にはChatGPTが記憶しているすべてが含まれるわけではなく、保持されているかどうかを確認したい場合はチャットで尋ねるべきだとしています。表示されているリストは目録ではなく、要約として扱ってください。ChatGPTのメモリ制限で、その実務上の影響について解説しています。

初日に世界観のすべてを再構築しようとしない。 実際に執筆するシーンで重要な役割を果たすエントリーから移行してください。残りは必要に応じて順次移行すればよく、その多くは最終的に不要であることが判明するでしょう。

結論

Character.AIは、非常に誠実な仕組みを構築しました。それは、常に真実であることと、時々しか関連しないことを区別するメモリシステムであり、自分の素材をどのように分類すべきかを正確に教えてくれました。移行が難しく感じられるのは、移行先の公式機能が「常に重要」な列を中心に構築されているためです。それはOpenAIの言葉を借りれば「常に考慮される」保存済みメモリや、モデルが独自に維持する要約です。

ですから、スイッチ(キーワード)ではなく、分類(ソート)を引き継いでください。価値があったのはキーワードそのものではありません。その詳細がいつ重要になるかという「判断」であり、その判断はアシスタントが読み取れる場所に書き留めた瞬間に、どこへでも持ち運べるようになります。

Lorebookではなく、チャットやペルソナに焦点を当てたCharacter.AIからの移行に関する別のアプローチについては、ガイドの Character AIからChatGPTへの移行 をご覧ください。

よくある質問

Character.AIからLorebookを直接エクスポートできますか?

Character.AIは一般的なデータエクスポート手順を公開しています。ウェブ版では「Profile Settings(プロフィール設定)」から「Account(アカウント)」、「Manage Account & Data(アカウントとデータの管理)」に進み、「Export data(データをエクスポート)」を選択します。モバイルアプリでは「Export my data(データをエクスポート)」を選択します。ヘルプ記事には手順のみが記載されており、ファイルの内容については説明されていないため、エクスポートしたファイルを開いて中身を確認してください。また、インポート用のドキュメントにはCharacter.AIが読み込むプレーンテキストやJSONの形式が定義されているため、そこからエントリーの構造を把握することができます。

ChatGPTはキーワードで有効化されるメモリをサポートしていますか?

OpenAIが公式にドキュメント化しているパーソナライズ機能は、Custom Instructions、メモリの要約、およびレガシーな保存済みメモリです。保存済みメモリは削除されない限り将来の返答で常に考慮され、メモリの要約は過去のチャットからのコンテキストを継続的に統合・更新するものとして説明されています。同社のドキュメントには、Lorebookの有効化に相当するキーワードトリガーの仕組みは記載されていません。

キーワードはどうなりますか?

仕組みとしては引き継がれません。有効な対策は、各キーワードリストを自然な言葉で書かれた1行の適用条件に書き換えることです。これにより、あらゆるアシスタントがそれに対応できるようになり、将来プラットフォームを変更してもそのまま使用できます。

Character Definition(定義)は移行されますか?

コンテンツは移行されます。Character.AIはDefinitionを「常に重要」な素材(核となるアイデンティティ、動機、口調など)と位置づけており、これはOpenAIがCustom Instructionsに置くことを推奨している内容と密接に対応しています。どちらの製品でもすべての返答で機能するため、内容は短くまとめておきましょう。

Pinned Memories(ピン留めされたメモリ)は移行されますか?

いいえ。Pinned Memoriesはチャットごとの機能であり、各チャットで最大5つのメッセージに制限されているため、世界観ではなく会話に紐づいています。ピン留めされたメッセージに永続的な事実が含まれている場合は、移行する前にその事実をエントリーに移動させてください。

別のツールで作成したLorebookをCharacter.AIに持ち込むことはできますか?

はい、ただしCharacter.AIが公開しているように、一部のデータは失われます。デバイス上でローカルに処理される最大10MBのプレーンテキストまたはJSONを受け入れますが、"当社のシンプルなフォーマット以外のものは、インポート時に除外されます" とされています。具体的には、キーワードのないエントリー、許可されている8個を超えるキーワードを持つエントリー、パターンベースのキーワードやその他の特殊なマッチングルール、順序や位置の設定などが除外対象として挙げられています。