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

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

あなたは数ヶ月かけて、Claudeに自分の仕事に関する知識(システムの構成、決定事項とその理由、好みの記述スタイルなど)を蓄積してきたことでしょう。そして今、その作業をOpenClawに移行しようとしています。なぜなら、エージェントの実行はチャットウィンドウではなく、スケジュールに沿ってターミナル上で行われる必要があるからです。

ClaudeのメモリをOpenClawに直接送信するエクスポートボタンはありません。しかし、Claudeからメモリをそのまま読み出す公式な方法と、エージェントが実行ごとに読み込むファイルにコンテキストを保持するというOpenClaw側の確立された慣例が存在します。この移行はコピー作業ですが、1つだけ注意すべき点があります。それは、Claudeのメモリはあなたに関する「結論」を保持しているのに対し、OpenClawはシステムに関する「運用知識」を必要とするため、これらは同じものではないということです。

このガイドでは、実際に何が移行されるのか、手動で行う方法、そして次のツール変更時に同じ作業を繰り返さないようにする方法について解説します。

実際に移行されるもの

Claudeからメモリを取り出す。 Anthropicはこれについて直接ドキュメント化しています。Settings(設定) → Capabilities(機能)に移動し、"View and edit your memory"(メモリの表示と編集)を開くと、Claudeが見ている通りのメモリを確認できます。すべてのエントリがカテゴリ別にリストされ、それぞれ編集や削除が可能です。このビューが移行のソース素材となります。

また、チャットでClaudeに「私のメモリを、メモリに記録されている通りに一言一句違わずに書き出してください」と依頼することもできます。出力されたテキストをローカルマシンのファイルにコピーします。構造化されたエクスポートファイルをダウンロードする機能はないため、コピー&ペーストのステップが必要になります。

ドキュメントに記載されている制限事項の1つが、そこに表示される内容を左右します。Claudeのメモリは仕事関連のトピックに焦点を当てるように設計されています。これは今回の移行において有益です(エントリは雑学ではなく、あなたの仕事の進め方に関するものである傾向があるため)。しかし、それはメモリがこれまでの会話すべての書き起こしではなく、要約された観察結果の集合であることを意味します。

ここでAnthropicのツールの方向性に注目してください。Claudeのメモリインポート(Settings → Memory → "Start import")は、他のプロバイダーからClaudeにコンテキストを取り込むためのものであり、明示的に実験的機能とされています。Anthropicは、Claudeが「インポートされたメモリを常に正常に取り込めるとは限らない」と指摘しています。逆方向(外部への書き出し)の機能は存在しないため、外部への移行は手動で行う必要があります。

OpenClawが受け取るもの。 OpenClawのモデルは非常に明示的であり、実践者はこれをルールとして挙げています。「ファイルに書き込まれていなければ、それは存在しない」というものです。これはツールに対する不満ではなく、そういう設計なのです。その周囲で定着している慣例は以下の通りです。

  • 好ましいアプローチや学んだ落とし穴の真のナレッジベースへと成長する、MEMORY.md形式のファイル。
  • 決定事項や重要なやり取りを記録した日報(デイリーノート)。エージェントは新しいセッションの開始時に、長期メモリファイルとともにこれを読み込みます。
  • セッション内で /context list を実行し、なぜ特定の情報が定着していないのかを診断する。
  • コンパクション(圧縮)の前にサイレントなエージェントターンをトリガーし、重要な内容をディスクに書き込むようモデルに促す、組み込みのプレコンパクションメモリフラッシュ。2026年2月後半にいくつかのコンパクションのバグが修正されたため、最新のビルドを使用することが重要です。

ファイル以外のものについては、OpenClawはMCPを介して接続します。サーバーは ~/.openclaw/openclaw.json"mcp": { "servers": { … } } の下に配置され、それらを管理するための完全なCLI(openclaw mcp addsetconfigureshowlistunset、さらにOAuthフロー用の openclaw mcp login <name> や、動作確認用の openclaw mcp doctor <name> --probe)が用意されています。Stdio、SSE、およびストリーミング可能なHTTPトランスポートがすべてサポートされており、HTTPサーバー用の静的ヘッダーも利用可能です。

移行されないもの。 Claudeのメモリのエントリはあなたについて記述しています(あなたの慣習、好み、気づいたパターンなど)。一方、OpenClawは実際のシステムに対して無人で実行されるため、必要なのは「運用上の情報」です(どの環境が存在するか、何に決して触れてはならないか、デプロイが実際に何を行うか、すでに2回診断した障害は何かなど)。その一部はClaudeのメモリにあるかもしれません。しかし、その多くはClaudeが要約して消し去った会話の中にあり、記録されたエントリ自体には含まれていません。

手動での移行

ステップ 1: Claudeからメモリを取り出し、徹底的に編集する

Settings(設定) → Capabilities(機能) → View and edit your memory(メモリの表示と編集)を開き、全体に目を通します。ほとんどの人は2度驚くことになります。1つはそこにどれほど多くの情報があるか、もう1つはコマンドを実行するエージェントにとってその多くがいかに無関係であるかです。

  • そのビューから、またはClaudeに一言一句違わずに書き出すよう依頼して、エントリをファイルにコピーします。
  • 運用上の意味を持たない、会話スタイルに関する記述はすべて削除します。インフラをプロビジョニングするエージェントは、あなたが箇条書きを好むことを知る必要はありません。
  • 行動を制限するものはすべて残し、拡張します(環境、命名規則、禁止事項、レビュー要件、触れるシステムなど)。
  • 1回しか言わなかったためにClaudeが保存しなかった情報を追加します。あなたの頭の中にある「本番環境に対してそれを実行するな」というすべての注意事項は、今すぐ書き留める価値があります。
  • これらの中に資格情報を貼り付けないでください。ファイル内はもちろん、特に ~/.openclaw/openclaw.json 内にインラインで記述しないでください。このファイルは移行時にバックアップおよびコピーされます。環境変数を使用し、${VARIABLE_NAME} として参照してください。

ステップ 2: OpenClawに保存先と保存方法を提供する

次に、残した情報を用途別に分割します。

  • 恒久的なルールは、エージェントが実行ごとに読み込む長期メモリファイルに格納します。常にロードされるため、簡潔に保ってください。
  • 作業メモはデイリーノートのパターンに格納します。これにより、今週の決定事項を、恒久的なファイルを肥大化させることなく来週も利用できるようになります。
  • 参照資料(アーキテクチャドキュメント、ランブック、契約書、図など)は、Markdownファイルに直接貼り付けるべきではありません。MCPを介してOpenClawにその場所を指示し、すべてを持ち運ぶのではなく、関連する情報のみを取得できるようにします。
  • 信頼する前に検証する。 セッションを実行し、/context list を行って、エージェントが実際に何をロードしたかを確認します。ファイルは存在するが読み込まれていないというのが、移行が失敗したと感じる最も一般的な原因です。

次に、配管(接続)を確認します。openclaw mcp list で登録されているものを確認し、依存しているものに対して openclaw mcp doctor <name> --probe を実行します。設定されているものの応答しないサーバーは、スケジュール実行中にサイレントに失敗します。これは、問題が発覚する場所としては最悪です。

より良い方法:両方のツールで共有する単一のメモリレイヤー

この移行が実際に何で構成されていたかに注目してください。ある製品のプライベートなストレージから知識を読み出し、別の製品のファイル規則に合わせて手動で書き直す作業です。スタックが変更されるたびにこれを繰り返すことになり、そのたびに前のツールがすでに圧縮して失ってしまった情報を失うことになります。

OpenClawのファイルモデルは本当に機能します。明示的で、バージョン管理が可能で、grep検索もできます。これは多くのツールが提供している以上のものです。その制限は欠陥というよりも構造的なものです。ファイルはマシン上に存在し、手動でメンテナンスされ、各エージェントが独自のセットを持ち、Claudeはそれらを読み取ることができません。そのため、同じ真実の2つのバージョンを保持することになり、それらはやがて乖離していきます。

代替案は、どちらのツールにも所有されないレイヤーに知識を保持することです。MemoryLake はそのレベルに位置します。メモリを独自のレイヤーとし、MCPまたはAPIを介してアクセスできるようにすることで、ClaudeとOpenClawは2つのコピーからではなく、同じ場所から読み込むようになります。

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

キーを生成し、約30秒で最初のリクエストを送信します。

MemoryLakeのAPIキーを作成する
MemoryLakeのAPIキーを作成する

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

上記のステップ1で整理した素材に加えて、本来なら貼り付けるはずだった参照ドキュメント(アーキテクチャメモ、ランブック、API契約、決定ログ、人々が説明し続けているダッシュボードのスクリーンショットなど)をロードします。ドキュメント、画像、その他のファイルはすべて同じ場所に保存されます。

最初のメモリをMemoryLakeにアップロードする
最初のメモリをMemoryLakeにアップロードする

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

OpenClaw、Claude、Codex、およびその他のエージェントにMCP経由でアクセスを許可します。OpenClawの場合、これは ~/.openclaw/openclaw.json 内の1つのサーバーエントリ、または単一の openclaw mcp add コマンドで完了します。長期メモリファイルはルールを保持する役割に戻り、毎週増えていく知識を2つの場所で手動メンテナンスする必要はなくなります。

MCP経由でAIとエージェントを接続する
MCP経由でAIとエージェントを接続する

実務における変化

即座に現れる効果は、メモリファイルの肥大化が止まることです。これらのファイルが肥大化する原因の多くは、「恒久的なルール」と「蓄積された知識」という2つの役割を担っているためであり、毎回の実行でロードすべきなのはそのうちの1つだけです。これらを分割することで、エージェントが実行ごとに読み込む量を削減しつつ、必要なときに検索できる情報を増やすことができます。

2つ目の効果は、OpenClawの本領が発揮される無人実行時に現れます。メモリレイヤーにクエリを実行できるスケジュールされたエージェントは、午前3時に必要なランブックを見つけ出すことができます。一方、ファイルに収まる範囲の知識しか持たないスケジュールされたエージェントは即興で対応しようとします。そして、本番環境に対する即興の対応こそが、インシデントの始まりとなります。

3つ目は、ClaudeとOpenClawの不一致がなくなることです。現在、Claudeの会話で下した決定はClaudeのメモリにのみ存在し、他の場所には存在しないため、実際に作業を行うエージェントがそれを学習することはありません。共有された1つのメモリがそのループを閉じます。これが、MCPを介したクロスAIメモリの設定が、どちらか一方のツールを単独で最適化するよりも早く成果を上げる傾向がある理由と同じです。

ClaudeとOpenClawを併用するためのベストプラクティス

メモリファイルはアーカイブではなくルールとして扱う

エージェントが常に尊重しなければならない制約である場合は、ファイルに記述します。インシデント、決定事項、システムの詳細など、増え続ける知識である場合は、エージェントがクエリを実行するレイヤーに配置します。実行ごとにロードされるファイルは、誤った情報が混入したときにすぐに気づける程度に短く保つべきです。

すべての決定事項を運用可能な形で記述する

Claude'sのメモリには、あなたが特定のデプロイ手法を好むことが記録されているかもしれません。しかし、OpenClawが必要とするのは、コマンド、環境、ガードレール、および理由が含まれたバージョンです。決定事項を運用言語で書き直すことは、この移行において最も価値のある1時間となります。

資格情報を設定やメモリから排除する

~/.openclaw/openclaw.json は移動します(マシンの移行時にバックアップおよびコピーされます)。そのため、トークンをインラインで記述するのではなく、環境変数を参照してください。また、OpenClawはstdioサーバーに対して NODE_OPTIONSPYTHONSTARTUPDYLD_*LD_* などの危険な起動変数をフィルタリングします。これは、エージェントが読み取れるものはすべて、エージェントが文字起こし(トランスクリプト)に漏洩させる可能性もあるという良い教訓になります。

結論

ClaudeからOpenClawへの移行は、クリック1つで済むものではなく、本物の移行作業です。Settings(設定) → Capabilities(機能)からメモリを読み出し、行動を制限するものだけに絞り込み、運用上の言葉で書き直し、OpenClawが実際に読み取る場所に配置します。そして、思い込みに頼らず、/context list で検証してください。

変更する価値があるのは、手順ではなくパターンです。ClaudeはメモリをClaude内に保持し、OpenClawは知識を1台のマシン上のファイルに保持するため、ツールを変更するたびに手動でプライベートストレージ間で知識を移動させることになります。両方の外部に存在するメモリレイヤーを導入すれば、コンテキストは移行するものではなくなります。そして、無人のエージェントが、たまたまMarkdownファイルに収まった情報だけで動作することもなくなります。ソースが別のシスタントである場合も、ChatGPTのメモリをOpenClawに移行する場合や、ClaudeのメモリをIDEエージェントに移行する場合と同様のルートが適用されます。

よくある質問

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

はい、ただし構造化されたダウンロードとしてではありません。Settings(設定) → Capabilities(機能) → "View and edit your memory"(メモリの表示と編集)に移動してカテゴリごとにすべてのエントリを確認するか、Claudeにあなたのメモリを一言一句違わずに書き出すよう依頼し、その結果をローカルのテキストファイルにコピーしてください。Anthropicのドキュメントに記載されているインポートフローは逆方向(他のプロバイダーからClaudeへ)であり、まだ実験段階です。

OpenClawは実行間でメモリを保持しますか?

はい、管理されたストアとしてではなく、慣例として保持します。知識はエージェントがセッションの開始時に読み込むファイル(通常は長期メモリファイルとデイリーノート)に存在します。OpenClawはまた、コンテキストが圧縮される前に重要な内容をディスクに書き込むようモデルに促すプレコンパクションフラッシュを実行します。実践者が繰り返す実用的なルールは、「ファイルに書き込まれていなければ、それは存在しない」というものです。OpenClawが以前の実行を忘れる問題に関するページでは、これが日常的に何を意味するのかを解説しています。

OpenClawがメモリファイルを読み込まないのはなぜですか?

セッション内で /context list を実行し、実際に何がロードされたかを確認してください。一般的な原因としては、ファイルがエージェントの読み取りパスにないこと、コンテンツが長すぎてコンパクション(圧縮)で消えてしまうこと、または2026年2月後半に修正されたコンパクションのバグの影響を受ける古いビルドを使用していることが挙げられます。

MCPを介してメモリサーバーをOpenClawに接続するにはどうすればよいですか?

~/.openclaw/openclaw.json"mcp": { "servers": { … } } の下に1つのエントリを追加するか、openclaw mcp add を使用します。Stdio、SSE、およびストリーミング可能なHTTPがサポートされており、HTTPサーバーは静的ヘッダーを受け取ることができます。また、openclaw mcp login <name> がOAuthを処理します。スケジュールされた実行で依存する前に、openclaw mcp doctor <name> --probe で確認してください。

Claude'sのメモリからOpenClawにコピーすべきでないものは何ですか?

運用上の意味を持たない会話の好み、古い情報、および機密情報です。OpenClawはコマンドを実行するため、そのコンテキストは制約事項やシステムの事実であるべきです。また、openclaw.json に資格情報をインラインで記述しないでください。バックアップや移行の際にコピーされてしまうため、代わりに ${VARIABLE_NAME} 参照を使用してください。

この移行作業を二度と行わないようにするにはどうすればよいですか?

知識を両方のツールの外部に保持します。APIキーを作成し、整理したコンテキストと参照ドキュメントを一度アップロードしたら、MCPを介してClaudeとOpenClawを同じメモリに接続します。その後は、ツールの変更は設定エントリの変更だけで済み、書き直しの必要はありません。そして、Claudeが会話間で忘れてしまうことが、エージェントに伝わらない知識になることもなくなります。