実際に移行できるもの
メモリ自体:手動で、直接尋ねる必要があります。 ChatGPT のメモリから他のツールのフォーマットへエクスポートする機能はありません。OpenAI のガイドラインにある通り、チャットで尋ねる必要があります。これは単なる回避策ではなく、メモリの概要が明示的に不完全であるため、何が保存されているかを確認するための公式にドキュメント化された方法です。ワンクリックではなく、抽出のためのセッションを1回分確保してください。
好みと作業スタイル:スムーズに移行できます。 回答の構成方法、従っている規約、常にチェックしてほしいことなどです。これらは Cline のルールにきれいにマッピングされ、1年後でも有効である可能性が最も高い項目です。
プロジェクトの事実:最新かどうかの確認後に移行します。 技術スタック、アーキテクチャの決定、命名規則、環境の癖などです。ChatGPT のメモリは作業中にこれらを静かに更新してきましたが、一部の項目は古くなっており、エージェントが実行するまで気づかないことがあります。これはコピーするのではなく、読み直す必要がある山です。
レガシーな保存済みメモリ:存在するか確認してください。 古いシステムを使用している場合、OpenAI は「設定 > メモリ > 保存済みのメモリ」の下に別のリストをドキュメント化しており、「削除しない限り、保存済みのメモリは将来の回答で常に考慮されます」と注記しています。このリストは統合体とは異なり列挙可能であるため、最初に移行するのが最も簡単です。
まったく移行されないもの。 一時チャット(Temporary Chats)は何も提供しません。OpenAI は、一時チャットは「既存のメモリを使用せず、新しいメモリも作成しない」とドキュメントに記載しています。同僚の ChatGPT が知っていることはすべてその同僚の元に留まります。メモリは「個々のアカウントに紐付けられており、同じビジネスワークスペース内であっても、他のユーザーに譲渡することはできません」。また、アップロードされたファイルはメモリではありません。ファイルの内容は会話の中に存在していたため、知識を移行するにはファイル自体を移行する必要があります。この限界に以前直面したことがあるなら、それは why ChatGPT forgets uploaded files(ChatGPT がアップロードされたファイルを忘れる理由)で説明されているものと同じです。
受け入れ側において、Cline には1つではなく2つの格納先があります。 ルールはワークスペーススコープ用の .clinerules/ と、個人の好みのためのグローバルな Cline Rules ディレクトリに保存され、ドキュメントにはそれらがどのように結合されるかが具体的に説明されています。「ワークスペースルールとグローバルルールの両方が存在する場合、Cline はそれらを結合します。競合する場合、ワークスペースルールがグローバルルールよりも優先されます。」これとは別に、Memory Bank はドキュメント化された手法です。これは Cline がすべてのタスクの開始時に読み取るように指示されている一連の Markdown ファイルであり、ドキュメントにはベンダーのドキュメントとしては珍しく正直な一人称のセリフで説明されています。「私は Cline、専門のソフトウェアエンジニアです。私にはユニークな特徴があります。セッション間でメモリが完全にリセットされることです。」
この一文が設計のすべてです。Cline は状態(ステート)を保持しているふりをしません。その代わりにドキュメントの規律で補っています。あなたの移行作業は、ChatGPT の知識のどれをその規律に組み込むかを決定することです。
手動での移行手順
Step 1: Get the memory out, knowing the summary is incomplete
通常の ChatGPT 会話(設計上、既存のメモリを使用しない一時チャットは避けてください)を開き、あなたとあなたの仕事について知っていることを直接書き出すよう指示します。統合体にはインデックスがないため、異なる角度から再度質問してください。コーディングスタイルについて知っていること、この特定のプロジェクトについて知っていること、そして「やらないように」と指示したことについて尋ねます。フレーミングを変えるごとに、異なる項目が浮き彫りになります。
この作業を楽にする方法が2つあります。第1に、レガシーシステムを使用している場合は、質問を始める前に「設定 > メモリ」の下にある列挙可能なリストから始めてください。これが作業の骨組みになります。第2に、メモリの概要が予想よりも空に見える場合、OpenAI は更新パス(設定 > パーソナライズ > メモリの概要、次に管理、そして3点リーダーメニューから更新)をドキュメント化しています(ただし、概要が網羅的になるわけではありません)。一般的なトラブルシューティング事例は、what to do when ChatGPT memory isn't working(ChatGPT のメモリが機能しない場合の対処法)でカバーされています。
結果を1つのスクラッチファイルに貼り付けます。まだ整理はしないでください。分類はステップ2で行います。抽出中に分類を行うと、途中で作業を止めてしまいがちです。
Step 2: Sort into three destinations, not one
ここが多くの移行で失敗するポイントです。なぜなら、スクラッチファイルをそのまま .clinerules/ にダンプするという明白な移行方法には、ドキュメント化された特定の結末があるからです。Cline はそのディレクトリ内のすべてを統一されたルールセットに結合し、「フロントマターのないルールは常にアクティブ」になります。貼り付けられたメモリダンプは、実行するすべてのタスクにおいて永続的なコンテキストとなり、モデルの注意やトークン予算を実際の作業と奪い合うことになります。
代わりに、以下の3つの山に分類してください。
常にアクティブなルール。 このリポジトリのすべてのタスクで保持すべき最小限のセットです。言語やフレームワークの規約、使用するコマンド、厳格な禁止事項などです。これらは意図的にフロントマターなしで .clinerules/ ファイルに配置します。この山は徹底的に短く保ってください。これはすべてのタスクでコストを支払うことを選択する部分です。
スコープ限定ルール。 コードベースの一部にのみ適用されるルールです。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 を使用する」はルールです。「監査人が状態を再現できるように、台帳にはイベントソーシングを選択した」は systemPatterns.md です。「ステージングデータベースは夜間にリセットされる」は techContext.md です。「現在、請求機能のリファクタリングの途中である」は activeContext.md であり、これは6週間後に最も誤りになりやすい項目でもあります。だからこそ、専用のファイルが存在するのです。
Memory Bank を導入する前に、2つの率直な注意点があります。これはインストールする「規約」であり、ランタイム機能ではありません。ドキュメントでは、.clinerules/memory-bank.md などの Cline Rules ファイルにカスタム指示を配置し、Cline に Memory Bank の初期化を依頼することでセットアップすると説明されています。また、Cline はすべてのタスクの開始時にすべてのファイルを読み取るように指示されているため、読み取りにはコンテキストコストがかかります。ドキュメント自体も、コンテキストウィンドウの制限により、定期的にファイルを更新し、新しい会話を開始して再開する必要があると指摘しています。これは継続的なメンテナンスコストを伴う優れたシステムであり、1年分の蓄積されたコンテキストを移行する前に知っておく価値があります。実用的なセットアップの比較は、the best memory setups for Cline(Cline に最適なメモリセットアップ)で紹介されています。
より良い方法:アシスタントに依存しない単一のメモリレイヤー
ここで指摘しておくべき点があります。あなたは今、もともと自分のものであった知識を回収するために、あるアシスタントに質問を繰り返すセッションを終えたばかりです。そして、それを別のアシスタントしか読めない形式で渡しようとしています。これをあと2回繰り返せば、互いに乖離していく3つのプライベートコピーを持つことになります。
MemoryLake はその代替案です。プロジェクトの永続的な知識を1つのレイヤーに保持し、各アシスタントがそこから読み取れるようにします。Cline のルールは、すべてのタスクでコンテキストに含めるべき事項という狭い役割を果たし続け、蓄積された知識体系がツールごとに重複することはなくなります。セットアップは3つのステップです。
Step 1: Create an API key
MemoryLake にサインインし、API キーを作成します。接続するすべてのツールで1つの認証情報を使用するため、この移行作業よりも長く活用できます。

Step 2: Upload your first memories
上記のステップ1で作成した、分類済みでまだ分散させていないスクラッチファイルをアップロードします。決定事項、制約、規約、そして特に「採用しなかった」こととその理由を含めます。エントリーは短く、単一のトピックに絞ってください。検索は長いドキュメントよりも特定のエントリーに対してより効果的に機能し、短いエントリーの方が最新の状態を維持しやすくなります。

Step 3: Connect your AI & agents
使用しているツールを接続します。MemoryLake は MCP および API 経由でアクセスできるため、Claude Code、Codex、OpenClaw などの MCP ネイティブエージェントは MCP サーバーを指定することで接続し、他のアシスタントは API を介して同じメモリを読み取ります。その結果、次に新しいツールを採用したときには、別の抽出セッションを繰り返すことなく、同じ知識から開始できます。

率直に述べるべき2つの制限事項があります。MemoryLake はあなたの代わりに ChatGPT のメモリを読み取るわけではありません。インポート用のエクスポート機能はないため、上記のステップ1は一度だけ行う必要のある実際の作業です。また、これは強制レイヤーではありません。モデルの決定に関わらず保持しなければならないものは、ルールファイルやチェックに属します。これこそが、Cline の「常にアクティブなルール」の役割です。
実務における変化
常にアクティブなルール群を小さく保てる。 永続的な知識が検索可能になると、すべてをルールにしたくなる誘惑がなくなります。これにより、.clinerules/ は得意な役割に専念でき、タスクごとのコンテキストコストを低く抑えられます。
抽出が一度で済む。 ChatGPT からメモリを取り出すために行った質問セッションは、コストのかかるステップです。これを共有レイヤーに対して行うことで、次のアシスタントの導入は、作業の繰り返しではなく単なる「接続」になります。
古い項目が可視化される。 列挙できない統合体は、その内容の古さを隠してしまいます。明示的な項目の短いリストであれば、古さは隠されません。あなたもチームメイトもそれを読み取ることができます。
チームメイトが同じコンテキストを共有できる。 ChatGPT のメモリはアカウントごとであり、OpenAI によれば、同じビジネスワークスペース内であっても他のユーザーに譲渡することはできません。チームが共有する必要のある知識は、最初からそこに置くべきではありませんでした。
Cline 本来の強みが明確になる。 Memory Bank はプロジェクトの状態管理に非常に優れています。しかし、1年分の個人の好みを放り込む場所としては適していません。この2つを分離することで、両方がより良く機能するようになります。この違いは、why Cline forgets task history(Cline がタスク履歴を忘れる理由)で確認できます。
移行のベストプラクティス
概要に頼らず、直接尋ねる。 OpenAI は、概要にはすべてが含まれるわけではないと述べており、チャットで尋ねることを推奨しています。これを真に受け、異なる角度から何度も質問してください。
フロントマターは意図的に追加する。 フロントマターのないルールは常にアクティブになります。これは意図している場合には機能ですが、意図しない場合にはコスト(税金)になります。
プロジェクトの状態は Memory Bank へ、好みはルールへ。 6つのファイル構造は、これらを分離するために存在します。これを尊重すればファイルは有用であり続けますが、無視すると activeContext.md がガラクタ置き場になってしまいます。
移行する前に削除する。 古い好み、廃止された規約、もはやそのような挙動をしない古いモデルのための回避策など、コピーしても改善されないものはすべて削除してください。移行は、不要なものを整理する最もコストのかからないタイミングです。
ワークスペースルールとグローバルルールを分離する。 競合が発生した場合、ワークスペースルールが優先されます。そのため、チームの標準は .clinerules/ に、個人の習慣はグローバルディレクトリに配置してください。これらを混ぜてしまうと、後で競合の理由を特定するのが難しくなります。
却下したアプローチとその理由を書き留める。 これは最も価値のあるカテゴリであり、どのメモリシステムも単独ではキャプチャできないものです。理由がなければ、新しいエージェントは自信満々に、以前却下されたアプローチを再び提案してきます。
結論
この移行が見た目以上に手間がかかる理由は、構造的なものです。完全に読み取ることができない統合体を、指示がない限り常に有効な一連のファイルに変換しているからです。分類をスキップすると、1年分の半分しか関係のない好みをすべてのタスクに持ち込む Cline のセットアップになってしまいます。分類を行えば、知識が初めて列挙可能になるため、以前よりも優れた環境を手に入れることができます。
抽出は一度だけ行い、常にアクティブなルール群は小さく保ち、プロジェクトの状態は Memory Bank が想定する場所に配置し、永続的な知識体系は Cline に依存しない場所に保管してください。そうすれば、次の移行は再度の質問セッションではなく、単なる接続になります。将来的に別のツールへ移行する場合は、migrating from Cline to Cursor(Cline から Cursor への移行)でそのプロセスをカバーしており、ChatGPT memory limitations(ChatGPT メモリの制限)では、あなたが残していくものについて説明しています。