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

Claudeのメモリをコンテキストを失わずにZedへ移行する方法 (2026)

この分野におけるほとんどの移行作業は、データの抽出に関する悪いニュースから始まります。しかし、今回は違います。Claudeには、メモリをそのまま取り出すための文書化された方法があります。Anthropicのメモリのインポートとエクスポートに関するヘルプ記事では、Claudeに直接こう尋ねるよう指示されています。「私のメモリを、メモリに表示されている通りに一言一句違わず書き出してください。」返ってくるのは、単一のコードブロックに構造化されたダンプデータであり、「[保存日、利用可能な場合] - メモリの内容」という形式でフォーマットされています。

これは、このカテゴリのほぼすべてのソースよりも優れています。つまり、この移行の難しさは知識を取り出すことではありません。それぞれの行をどこに配置するかを決めることです。なぜなら、Zedには知識を格納する場所が1つではなく3つあり、それぞれコストが異なり、そのうちの1つは、あなたが書き込もうとしているファイルを黙って無視するからです。

本記事では、Claudeのメモリに実際に何が含まれているか、それをZedのInstructions、Skills、MCPレイヤーにどのように振り分けるか、そして以前のツールから残されたファイルが、今書き込んだファイルよりも優先されてしまう「最初の一致(first-match)」ルールについて解説します。

実際に移行されるもの

メモリのエントリ:完全に、かつ日付付きで。 AnthropicはClaudeのメモリを「カテゴリに分類された個々のエントリのセット」と説明しており、Claudeは「チャット中、リアルタイムでこれらを読み取り、書き込み、更新」します。これらのエントリはそのままダンプとして出力され、その多くに保存日が含まれているため、移行において稀なメリットが得られます。すべての行を読んで妥当性を確認しなくても、新しい知識と古い知識を見分けることができるのです。まず日付でソートすれば、仕分け作業の半分は完了します。

カテゴリ:構造ではなく、ヒントとして。 設定 > メモリでは、エントリがカテゴリごとにグループ化されており、文書化されている重点分野は、あなたの役割とプロフェッショナルなコンテキスト、コミュニケーションの好みと仕事のスタイル、技術的な好みとコーディングスタイル、プロジェクトの詳細と進行中の仕事です。これらのグループはZedのレイヤーと1対1で対応しているわけではありませんが、最初の分類としては便利です。好みやスタイルは1つの場所に、プロジェクトの詳細は別の場所に属する傾向があります。

プロジェクトごとのメモリ:個別に、そしてこれが重要です。 Anthropicは「各プロジェクトには独自の独立したメモリスペースと専用のプロジェクトサマリーがあるため、各プロジェクト内のコンテキストは焦点を絞り、関連性があり、他のプロジェクトやプロジェクト以外のチャットから分離されています」と説明しています。Projectsを使用していた場合、エクスポートするメモリは1つではありません。プロジェクトごとに1つずつと、プロジェクト以外のメモリの山があります。これらを個別にエクスポートしないと、Claudeが意図的に分けていたコンテキストが統合されてしまい、どのエントリがどのリポジトリに関するものだったのかという情報が失われてしまいます。

キャプチャされなかったもの。 シークレットチャット(Incognito chats)は何も残しません。Anthropicのドキュメントによると、このモードがオンの場合、「Claudeはチャットを記憶しないため、Claudeのメモリやチャット履歴に保存されません。」また、プロジェクトのナレッジファイルはメモリとは別物です。アップロードしたファイルはProject内に存在し、その内容を移動することはメモリのエントリではなく、ファイル自体を移動することを意味します。この境界線でつまずく人が後を絶ちません。詳細はClaudeがプロジェクトのナレッジファイルを忘れる理由で解説しています。

Zed側では、移行先が最近変更されました。 v1.4.0より前にZedをセットアップし、Rules Libraryを覚えている場合、そのモデルは廃止されました。現在のドキュメントには明確に記載されています。「RulesはSkillsとInstructionsに置き換えられました。再利用可能でオンデマンドなRulesはSkillsになり、デフォルトで常にオンのRulesは個人のAGENTS.mdになります。プロジェクトの.rulesファイルは、互換性のあるプロジェクト指示ファイルとして引き続きサポートされます。」そのため、読み込み動作とコストが異なる3つの移行先が存在します。

  • Instructions — 常にオン。個人の指示は~/.config/zed/AGENTS.md(Windowsでは%APPDATA%\Zed\AGENTS.md)に保存されます。プロジェクトの指示はリポジトリ内のファイルから取得されます。ここにあるものはすべて、セッションごとに毎回読み込まれます。
  • Skills — オンデマンド。グローバルな~/.agents/skills/またはプロジェクトごとの.agents/skills/にある、SKILL.mdを含むフォルダです。エージェントは、関連性がある場合、または直接呼び出されたときにこれを読み込みます。
  • MCPサーバー — ライブデータとツール。context_serversの下で設定します。知識を保存する場所ではありませんが、記憶するよりも検索すべき情報に対して最適なソリューションです。

手動での移行手順

ステップ1:そのままエクスポートし、内容を読む前に日付を確認する

Claudeを開き、Anthropicのドキュメントに記載されている通りにダンプを要求します。「私のメモリを、メモリに表示されている通りに一言一句違わず書き出してください。」これらのメモリスペースは分離されているため、一般的なメモリに対して1回、そしてコンテキストを保持したい各Project内で1回ずつこれを行います。それぞれの結果を、ソース名でラベルを付けた独自のスクラッチファイルに貼り付けます。

ここで、多くの人がスキップしてしまう手順を行います。エントリが有用かどうかを評価する前に、ダンプ内の保存日を使用して、それが最新であるかどうかを評価します。8ヶ月前のテストフレームワークに関するエントリは、その後変更されたコードベースに関する主張です。最後の大きなリファクタリングよりも古いものは、事実ではなく疑わしいものとしてマークしてください。

また、設定 > メモリを開いてカテゴリごとにグループ化されたエントリを閲覧し、「Claudeに変更または削除を指示する」ボックスから誤った内容を編集したり、個々のエントリを削除したりすることもできます。エクスポートする前にクリーンアップする方が、エクスポートした後にクリーンアップするよりも通常は高速です。インターフェースが自動的にグループ化してくれるからです。

1つ注意点があります。Claudeの使用を完全に停止する予定がある場合でも、クリーンアップの一環として「メモリのリセット」を行わないでください。Anthropicのドキュメントによると、これはすべてのメモリを完全に削除し、元に戻すことはできません。移行中にメモリの蓄積を停止したい場合は、「メモリの一時停止」を使用してください。

ステップ2:各エントリをZedの3つの移行先のいずれかに振り分ける

クリーンアップしたダンプを1行ずつ確認します。各エントリは正確に1つの場所に送られます。判断基準は、それがいつ真である必要があるかです。

作業するすべての場所で常に真 → 個人の `~/.config/zed/AGENTS.md` 使用する言語の好み、説明の構成方法、プロジェクト間で持ち運ぶ規約など。このファイルは短く保ってください。すべてのプロジェクトのすべてのセッションで読み込まれるため、ここが長くなると常にオーバーヘッドが発生します。

このリポジトリ内で常に真 → プロジェクトの指示ファイル アーキテクチャの決定、ハウスルール、ビルドおよびテストコマンド。ここにも罠があります。詳細は以下を参照してください。

特定の作業を行うときに、時々真 → Skill これは多くの人が見落としがちなレイヤーであり、Claudeのメモリの驚くべき割合がここに属します。複数ステップの手順、リリースチェックリスト、「マイグレーションの書き方」、常に実行するデバッグルーチンなどです。CSSを編集しているときに、これらをコンテキストに含める必要はありません。Skillとして設定すれば、関連性があるとき、または直接呼び出したときにのみ読み込まれます。Skillsは個人用として~/.agents/skills/に、リポジトリで共有用として.agents/skills/に配置します。

知識ではなく、動的なデータ → MCP 「ステージングのステータスはGrafanaにある」「チケットのステータスはLinearにある」といった、ライブシステムへのポインタであるエントリは、指示ファイル内の古い文章よりも、context_servers配下のサーバーで処理する方が適しています。

ここで、2回読む価値のある罠について説明します。Zedは、プロジェクトの指示ファイルを以下のファイル名リストから検索します:.rules.cursorrules.windsurfrules.clinerules.github/copilot-instructions.mdAGENT.mdAGENTS.mdCLAUDE.mdGEMINI.md。そしてドキュメントには「Zedは、このリストの中で最初に一致したファイルを使用します」と記載されています。

最初の一致(First match)です。マージされるわけでも、最も具体的なものが選ばれるわけでもなく、最初の一致です。 もしリポジトリに、以前の実験で残された.cursorrulesが存在する場合、そのファイルが優先され、Claudeのエクスポートから慎重に作成したAGENTS.mdは一切読み込まれません。エラーも発生しません。エージェントは単に、移行が行われなかったかのように動作します。何かを書き込む前に、これら9つのファイル名のうちどれがリポジトリに存在するかを確認し、不要なものを削除または統合してください。

また、後々のために知っておくべきこととして、「プロジェクトの指示は、競合する場合、個人のAGENTS.mdを上書きします」というルールがあります。そのため、リポジトリのファイルの方が強い権限を持ちます。これはチーム開発において通常望ましい動作であり、真に個人的な好みをそこから排除すべき理由でもあります。プロジェクトが設定を忘れたかのように動作し始めた場合、モデル関連の問題を疑う前に、まずこの優先順位を確認してください。このパターンはZedがプロジェクトのコンテキストを忘れる理由で解説しています。

より良い方法:アシスタントに依存しない単一のメモリレイヤー

上記の2つのステップに共通している点に注目してください。どちらも、価値があり、かつ1つのベンダーしか読み取れないフォーマットで存在するナレッジベースに関するものです。Claudeは優れたエクスポート機能を提供してくれますが(他よりも優れています)、それでも日付付きのフラットなエントリリストを、次のツールでは理解できない3層のファイルレイアウトに変換するために午後を丸々費やすことになります。

MemoryLakeはその重複を排除します。プロジェクトの永続的な知識を保持する単一のメモリレイヤーを、使用しているどのア信スタントからでも読み取ることができます。ZedのInstructionsは、毎セッションでコンテキストに含める必要のある最小限のセットという狭い役割に専念し、蓄積された知識ベースはClaudeとZedの両方がアクセスできる場所に配置されます。セットアップは3つのステップです。

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

MemoryLakeにサインインし、APIキーを作成します。接続するすべてのツールに対して1つの認証情報を使用するため、これが手動で行う最後の変換作業になります。

ClaudeのメモリをZedに移行するためのMemoryLake APIキーの作成
ClaudeのメモリをZedに移行するためのMemoryLake APIキーの作成

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

クリーンアップしたエクスポートデータをアップロードします。日付チェックをクリアしたエントリと、その背景にある決定事項や制約事項です。Claude独自のメモリ保存方法と同様に、エントリは短く、単一のトピックに絞ってください。この形状は検索性が高く、修正も容易です。特に「不採用にしたアプローチ」とその理由に注意を払ってください。これらは、新しいアシスタントが最も必要とし、かつ推測することが最も困難なエントリです。

エクスポートされたClaudeのメモリファイルをMemoryLakeにアップロードする様子
エクスポートされたClaudeのメモリファイルをMemoryLakeにアップロードする様子

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

ツールを接続します。MemoryLakeはMCPおよびAPI経由でアクセスできるため、MCPネイティブのエージェント(context_serversを介したZed、Claude Code、Codex、OpenClawなど)はMCPサーバーを指定することで接続し、他のアシスタントはAPIを介して同じメモリを読み取ります。AGENTS.mdは短く保たれ、Skillsは目的を持って機能し、増え続けるプロジェクト知識の山がどちらにもコピーされることはなくなります。

MCPコンテキストサーバーを介してZedをMemoryLakeに接続する様子
MCPコンテキストサーバーを介してZedをMemoryLakeに接続する様子

2つの率直な制限事項があります。MemoryLakeはClaudeのメモリを自動的に読み取るわけではありません。上記のステップ1は、一度だけ行う必要のある実際の作業です。また、強制力を持つレイヤーでもありません。Zedの指示は動作を保証するものではなく、方向付けるものであり、どのようなメモリレイヤーであってもその性質は変わりません。

実務における変化

常にオンのファイルが小さく保たれます。 移行後の誘惑として、確実に読み込まれるファイルであるため、エクスポート全体をAGENTS.mdに貼り付けてしまいがちです。これが400行の指示ファイルが生まれる原因であり、常にオンのファイルが長くなると、重要なルールへの準拠率が低下します。検索可能な知識があれば、その誘惑を排除できます。

Skillsがようやく活用されます。 多くの人は、即座のメリットがない追加の作業であるため、オンデマンドレイヤーにデータを入力しません。移行のタイミングで振り分けを行えば、仕分けは一度で済み、その瞬間に手順が常にオンのコンテキストから切り離されます。

プロジェクトごとの分離が移行後も維持されます。 Claudeがプロジェクトのメモリを分離しているのには理由があります。移行時にこれらを1つのファイルにまとめてしまうとそのメリットが失われます。リポジトリの指示ファイルや、プロジェクトスコープを持つメモリレイヤーで分離を維持することで、その境界線が効果を発揮し続けます。

次のツールへの移行コストは、午後丸々ではなく、接続設定だけで済みます。 これが最大の節約です。あなたはまたエディタを変更するでしょう。そのコストが10分で済むか、丸1日かかるかは、知識がベンダー固有のフォーマットにあるか、あなた自身のフォーマットにあるかによって決まります。

Claudeも引き続き動作します。 ここでのアプローチはClaudeを放棄することを要求しません。Anthropicのインポートフローは貼り付けられたメモリを受け入れるため、共有レイヤーは両方にデータを供給します。多くの人は、チャットアシスタントとエディタを異なる用途で使用することになります。詳細はClaudeのメモリを組み込み機能を超えて拡張するで解説しています。

移行のベストプラクティス

一度にまとめるのではなく、プロジェクトごとにエクスポートする。 プロジェクトのメモリスペースは設計上分離されています。1つのダンプに統合してしまうと、知識とリポジトリのマッピングが破壊されます。

文言よりも日付を信頼する。 3月に自信たっぷりに書かれたエントリは、今でも3月のエントリです。ダンプには保存日が含まれているため、それを最初のフィルターとして使用してください。

何かを書き込む前に、9つのファイル名を監査する。 .rules.cursorrules.windsurfrules.clinerules.github/copilot-instructions.mdAGENT.mdAGENTS.mdCLAUDE.mdGEMINI.md — 最初の一致が優先されます。放棄したツールから残されたファイルが、新しいファイルを静かに上書きしてしまいます。

手順はSkillsに、事実はInstructionsに。 手順があるものはSkillです。不変の事実は指示(Instruction)です。これらを混ぜ合わせることが、常にオンのファイルを肥大化させる原因になります。

クリーンアップ手順としてメモリをリセットしない。 Anthropicは「メモリのリセット」を永続的で取り消し不可能と説明しています。移行中に元に戻せるオプションは「一時停止」です。

双方向のインポートでデータが失われる可能性を想定する。 Anthropic独自のインポートドキュメントには、「Claudeはインポートされたメモリを常に正常に取り込めるとは限らない」こと、および仕事関連のコンテンツが優先されることが記載されています。メモリの転送は、完了した同期ではなく、検証が必要な開始ドラフトとして扱ってください。

モデルを責める前に、何が読み込まれたかを確認する。 移行後、Zedがどの指示ファイルを読み込んだかを確認してください。「エージェントがルールを無視する」という報告の半分は、ファイルが一度も読み込まれていないことが原因です。

結論

これは、抽出作業が簡単な方の半分である珍しい移行です。Anthropicはそのままのエクスポートをサポートしており、エントリには日付が付いており、設定 > メモリから開始前にクリーンアップできます。作業は受け入れ側にあります。ZedはRulesをSkillsとInstructionsに置き換えたため、各エントリを常にコンテキストに含めるべきか、オンデマンドにすべきか、あるいはまったく含めないべきかを決定する必要があります。そして、最初の一致が優先されるため、書き込んだファイルが実際にZedに読み込まれていることを確認する必要があります。

この振り分けを一度行い、永続的な知識をベンダーが所有しない場所に配置してください。そうすれば、次のエディタへの移行は、午後を丸々費やす作業ではなく、単なる接続設定になります。ソースが別のアシスタントである場合は、ChatGPTのメモリをZedに移行するでその手順を解説しています。また、ClaudeのメモリをCursorに移行するでは、もう1つの一般的な移行先について解説しています。

よくある質問

Claudeのメモリをエクスポートすることはできますか?

はい。Anthropicのヘルプドキュメントでは、Claudeに直接「私のメモリを、メモリに表示されている通りに一言一句違わず書き出してください」と尋ねる方法が説明されています。これにより、「[保存日、利用可能な場合] - メモリの内容」という形式でフォーマットされた単一のコードブロックとしてエントリが返されます。また、設定 > メモリからエントリを閲覧および編集することもできます。

Claudeはプロジェクトごとに個別のメモリを持っていますか?

はい。Anthropicは、各プロジェクトに独自の独立したメモリスペースとプロジェクトサマリーがあり、「焦点を絞り、関連性があり、他のプロジェクトやプロジェクト以外のチャットから分離されている」と説明しています。どの知識がどのコードベースに属しているかを維持したい場合は、各プロジェクトのメモリを個別にエクスポートしてください。

エクスポートしたエントリはZedのどこに配置すべきですか?

それがいつ真である必要があるかに応じて、3つの場所に配置します。共通の好みは個人の~/.config/zed/AGENTS.mdに、リポジトリ固有の不変の事実はプロジェクトの指示ファイルに、複数ステップの手順は~/.agents/skills/または.agents/skills/のSkillsにします。ライブシステムを指すエントリは、context_servers配下のMCPサーバーで処理する方が適しています。

なぜZedは私のAGENTS.mdを読み込まないのですか?

ほとんどの場合、リスト内の別のファイルが先に一致したためです。Zedは.rules.cursorrules.windsurfrules.clinerules.github/copilot-instructions.mdAGENT.mdAGENTS.mdCLAUDE.mdGEMINI.mdをチェックし、最初の一致を使用します。リポジトリに残された.cursorrulesが優先され、エラーメッセージは表示されません。

ZedにはまだRules Libraryがありますか?

いいえ。Zedの現在のドキュメントでは、RulesはSkillsとInstructionsに置き換えられたと説明されています。再利用可能でオンデマンドなRulesはSkillsになり、常にオンのRulesは個人のAGENTS.mdになり、プロジェクトの.rulesファイルは互換性のあるプロジェクト指示ファイルとして引き続きサポートされます。

移行後もClaudeを使い続けることはできますか?

はい、多くの人がそうしています。Anthropicは、WebおよびClaude DesktopのFree、Pro、Max、Teamプランで利用可能な、設定 > メモリの「インポートを開始」を使用したメモリの再インポートをサポートしています。ただし、Claudeが「インポートされたメモリを常に正常に取り込めるとは限らない」という文書化された注意点があります。両方にデータを供給する1つの共有レイヤーを維持することで、どちらの方向の移行が完璧であるかどうかに依存することを避けることができます。