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

コンテキストを失わずにOpenClawからHermes Agentへ移行する方法(2026年)

OpenClawとHermes Agentは非常に近い関係にあります。どちらもチャットアプリやターミナルからアクセスできるセルフホスト型のエージェントであり、いくつかのMarkdownファイルでエージェントを構成し、セッション間でメモリを保持します。Hermesには、移行のための専用コマンドさえ用意されています。「hermes claw migrateは、OpenClaw(またはレガシーなClawdbot/Moldbot)のセットアップをHermesにインポートします。」

これにより、技術的な手順は簡単になります。注意すべきなのは、移行の過程でメモリがどのように扱われるかです。なぜなら、これら2つのプロジェクトではメモリに対する考え方が異なるからです。OpenClawは日次のノートを、プロンプトには含めない「ワーキングレイヤー」として扱います。一方、Hermesは移行時にこれらの日次ノートを単一のメモリファイルにマージし、それをすべてのセッションに注入し、文字数制限を設けています。

このガイドでは、移行によって何が引き継がれるのか、コンテキストがどこに格納されるのか、そして重要な部分を損なわずに移行するためにOpenClawのメモリをどのように準備すべきかを解説します。OpenClawのメモリが内部でどのように機能しているかの背景については、OpenClawのメモリシステム内部をご覧ください。

実際に移行されるもの

ペルソナ、指示、およびスキル

Hermesは移行用のマッピングテーブルを公開しています。ペルソナは workspace/SOUL.md から ~/.hermes/SOUL.md へ「直接コピー」として移動します。ワークスペースの指示は AGENTS.md に移動しますが、テーブルには「--workspace-target フラグが必要」と記載されているため、実行時にプロジェクトの場所を移行コマンドに指定してください。

スキルは、ワークスペーススキル、管理スキル、個人用クロスプロジェクトスキルを含む4つのOpenClawの場所から取得され、すべて ~/.hermes/skills/openclaw-imports/ に格納されます。同じ名前のスキルがすでにHermesに存在する場合、デフォルトの競合モードは skip となり、既存のHermesのスキルがそのまま残ります。

メモリとユーザープロファイル

ここが最も注意深く読むべき部分です。OpenClawの長期メモリは workspace/MEMORY.md から ~/.hermes/memories/MEMORY.md に移動し、そこで「エントリにパースされ、既存のものとマージされ、重複排除」されます。ユーザープロファイルも「メモリと同様のエントリ・マージロジック」に従います。

そして、メモリの構造を大きく変える一文が登場します。workspace/memory/*.md の日次メモリファイルも ~/.hermes/memories/MEMORY.md に移動し、「すべての日次ファイルがメインメモリにマージされる」と注記されています。

これがなぜ重要なのかを理解するために、各プロジェクトがこれらのファイルをどのように説明しているかを比較してみましょう。

OpenClawにおいて、「MEMORY.md は、プロファイル以外の永続的な事実、不変の決定事項、およびセッション開始時に利用可能であるべき短い要約のための、コンパクトに整理されたレイヤーです。生の文字起こしや日次ログ、網羅的なアーカイブではありません。」日次ノートは異なります。「memory/YYYY-MM-DD.md ファイルはワーキングレイヤーです。詳細な日次ノート、観察、セッションの要約、および後で役立つ可能性のある生のコンテキストが含まれます。」OpenClawは、これらを常にロードするのではなく、検索可能な状態に保ちます。「これらは memory_search や memory_get のためにインデックス化されますが、毎ターンのブートストラッププロンプトには注入されません。」時間が経つにつれて、「日次ノートからの有用な素材は、デフォルトの dreaming スイープによって MEMORY.md に抽出されます。」

Hermesでは、MEMORY.md はエージェントの個人用ノートを保持し、2,200文字の制限があります。「どちらも ~/.hermes/memories/ に保存され、セッション開始時に固定のスナップショットとしてシステムプロンプトに注入されます。」そしてHermesは、制限に達したときに何が起こるかを明記しています。「メモリは自動圧縮されません。書き込みが制限を超えると、memory ツールはエントリを黙って破棄するのではなく、エラーを返します。」

つまり、OpenClawがプロンプトから除外していたワーキングレイヤーが、Hermesでは常にロードされる小さなファイルにマージされることになります。移行ガイドにはマージと重複排除については記載されていますが、マージされたエントリがメモリ制限を超えた場合にどうなるかについては記載されていません。これが、後述する準備ステップが重要になる理由です。制限はHermesの config.yaml 内の memory_char_limit で設定可能ですが、制限を増やすことは、毎セッションのシステムプロンプトが大きくなることを意味します。

対照的に、OpenClawがHermesからインポートする際は、メモリのみのインポートに対して逆のアプローチをとります。インポートされたファイルは「エージェントのブートストラップ MEMORY.md にはマージされず」、インデックス検索用に個別に保持されます。どちらの選択も間違いではありません。これらは2つの異なる設計であり、どちらに移行するのかを知ることで、何を整理すべきかが分かります。

手動レビュー用にアーカイブされるもの

一部のOpenClaw設定には直接対応するものがなく、手動で処理できるように保存されます。Hermesは「これらは手動レビューのために ~/.hermes/migration/openclaw/<timestamp>/archive/ に保存されます」としています。このリストには、IDENTITY.md(「SOUL.md にマージする」というアドバイス付き)、HEARTBEAT.md(「定期的なタスクにはcronジョブを使用する」)、cronジョブ、プラグイン、フック、チャネルバインディング、およびメモリバックエンド設定(Hermesは「hermes honcho で設定する」としています)が含まれます。

セッションのタイミングも変わります。「アイドルタイマーおよび日次リセットタイマーはインポートされません。Hermesの会話は、明示的な /new または /reset が実行されるまで維持されます。」毎朝エージェントを新鮮な状態でスタートさせるために日次リセットに依存していた場合は、自分でその境界を作る必要があります。Hermesはまさにその習慣を推奨しています。なぜなら、メモリはセッション開始時にのみ再読み込みされるからです。「タスクの完了、トピックの変更、一日の始まりなど、自然な区切りで /new を実行してください。」

外部メモリプロバイダー

OpenClawで外部メモリバックエンドを使用していた場合、それは移行されずにアーカイブされます。Hermesでは、「一度にアクティブにできる外部プロバイダーは1つだけです。組み込みメモリは常にその横でアクティブになります。」Hermesは外部プロバイダーを付加的なものとして説明しています。「組み込みメモリ(MEMORY.md / USER.md)は、以前とまったく同じように機能し続けます。」移行後に、外部プロバイダーを意図的に再設定する計画を立ててください。

手動移行の手順

ステップ1:移行前にOpenClawのメモリを整理する

まずはドライランから始めましょう。移行は --dry-run をサポートしており、何も書き込まずに計画を表示します。また、デフォルトで「適用前に単一の復元ポイントアーカイブが書き込まれます。」計画、特にメモリセクションを確認してください。

次に、ツールがまだ動作するOpenClaw側で整理を行います。

workspace/MEMORY.md を開き、すべてのセッションの開始時にロードしたい内容(不変の決定事項、永続的な事実、規約など)が含まれていることを確認します。古い情報は削除してください。

workspace/memory/ を確認します。これらの日次ファイルは、常にロードされるファイルにマージされようとしています。それぞれについて、永続的な内容が含まれているかを問いかけてください。含まれている場合は、自分の言葉で MEMORY.md に短い1行として抽出します。ある火曜日に何が起こったかのログであれば、それは2,200文字のメモリに含めるべきではありません。生の日次ファイルは、代わりに自身のアーカイブに保管してください。

一部の詳細は永続的ですが、週次タスクが常に必要とするファイルパスなど、1つの定期的なジョブにのみ関係する場合があります。Hermesは、これらに対して別の場所を提案しています。「定期的なタスクを実行するたびにエージェントが必要とする場所については、メモリファイルよりもスキルの方が適していることがよくあります。関連する場合にのみロードされ、2,200文字の予算を圧迫しません。」これらの項目を今メモしておき、移行後にメモリに詰め込むのではなく、スキルに変換できるようにしてください。

USER.md も同様に確認します。これはプロジェクトではなく、あなた自身について記述されている必要があります。Hermesのドキュメントでは、SOUL.md と USER.md は「互いに影響を与え合わない別個のシステムである」と明確に述べられているため、あなた自身に関する事実はプロファイルに属し、トーンやアイデンティティは SOUL.md に属します。

最後に、IDENTITY.md と HEARTBEAT.md の中で再作成したいものをメモしておきます。これらは適用されずにアーカイブされるためです。移行前にOpenClawエージェントが以前の実行を見失いがちだった場合、OpenClawが以前の実行を忘れてしまう理由 は、記録しておくべきことの有用なチェックリストになります。

ステップ2:移行を実行し、移行内容を検証する

AGENTS.md が配置されるように、ワークスペースターゲットを設定して移行を実行します。デフォルトでは、計画に競合がある場合、移行の適用は拒否されます。これにより、既存のHermesセットアップが保護されます。上書きオプションに頼るのではなく、競合を確認してください。

完了したら、Hermesのチェックリストのステップ1から始めます。「移行レポートを確認する。完了時に、移行済み、スキップ、競合した項目の数が印刷されます。」その後、~/.hermes/memories/MEMORY.md と USER.md を直接読みます。整理したものと比較してください。エントリが不足している場合は、最も重要なものをエージェントを通じて1つずつ追加し直します。

アーカイブフォルダを確認し、必要なものを再作成します。アイデンティティのメモを SOUL.md にマージし、ハートビートの役割をcronジョブに変換し、外部メモリプロバイダーを再設定します。

その後、新しいセッションを開始します。Hermesは「インポートされたスキルとメモリ項目は、現在のセッションではなく、新しいセッションで有効になります」と指摘しています。プロジェクトの規約や不変の決定事項など、メモリに依存する質問をエージェントに投げかけ、回答を確認してください。

最後に、プロジェクトの指示を確認します。Hermesはセッションごとに1つのプロジェクトコンテキストタイプをロードし、「セッションごとにロードされるプロジェクトコンテキストタイプは1つだけです(最初のマッチが優先されます)」。.hermes.md は AGENTS.md よりも優先されます。プロジェクトに両方存在する場合、Hermes専用のファイルが優先されます。

すべてが正常に動作したら、Hermesは hermes claw cleanup を提供しており、残されたOpenClawディレクトリの名前を変更して、2つのセットアップが混同されないようにすることができます。

より良い方法:永続的なコンテキストを特定のエージェントのメモリファイルの外に保持する

手動移行は機能しますし、ステップ1での整理がそれを成功させます。しかし、それは根本的な問題も示しています。すべてのエージェントは、メモリがどこに存在し、どれくらいの大きさで、何がロードされるかについて、独自の考えを持っています。移行するたびに、次のコンテナに合わせて知識を再形成しなければなりません。

永続的な部分、つまり決定事項、規約、およびその背景にある理由は、特定のエージェントのメモリファイル内に存在する必要はありません。自分が管理する1つの場所に保管し、各エージェントの組み込みメモリには、それが得意とする「短期的なエージェント固有のメモ」を担当させましょう。

MemoryLake はそのために構築されています。一度メンテナンスすれば、使用するエージェントに接続できるメモリレイヤーです。

エントリはあなた自身の言葉で自分で書き込みます。OpenClawのワークスペース、Hermesのメモリファイル、またはベンダーのストアから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。

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

サインインし、ダッシュボードからキーを生成します。このキーは、OpenClawやHermesのインストールとは別に、あなたのMemoryLakeワークスペースに属します。

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

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

ステップ1で日次ノートから抽出した永続的な行と、整理した MEMORY.md からの不変の決定事項から始めます。1つのエントリにつき1つの事実を、日付付きで登録します。

最初のドキュメントがアップロードされたMemoryLakeワークスペース。各ファイルが検索可能なメモリになるにつれてリスト表示されます
最初のドキュメントがアップロードされたMemoryLakeワークスペース。各ファイルが検索可能なメモリになるにつれてリスト表示されます

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

Hermesや、使用している他のエージェントを接続します。HermesはMCPを介して外部ツールサーバーに接続できるため、組み込みメモリを圧迫することなくコンテキストを利用できます。

メモリレイヤーに接続できるAIクライアントとエージェントフレームワークをリスト表示するMemoryLakeの統合画面
メモリレイヤーに接続できるAIクライアントとエージェントフレームワークをリスト表示するMemoryLakeの統合画面

実務における変化

最初の違いは、重要なことがマージ処理に依存しなくなる点です。永続的なコンテキストが引き継がれるのは、たまたま文字数制限に収まったからではなく、あなたがそれを整理したからです。

2つ目は、組み込みメモリを軽量に保てる点です。Hermesの MEMORY.md は小さく最新の状態に保たれます。これは、その設計が想定している通りの動作です。

3つ目は、日次の詳細が利用可能なままである点です。生のノートはアーカイブに残り、Hermesは独自のセッション履歴を検索可能な状態に保ちます。「すべてのCLIおよびメッセージングセッションは、FTS5全文検索を備えたSQLite(~/.hermes/state.db)に保存されます。」

4つ目は、将来の移行が容易になる点です。後で別のエージェントを追加したり、OpenClawに戻ったりしても、同じコンテキストをそのまま持ち運ぶことができます。オプションを比較しているチームは、OpenClawエージェントに最適なメモリセットアップ から始めることができます。また、共有レイヤーのより広範な必要性については、MCPとメモリ:欠けているレイヤー で説明されています。

OpenClawからHermes Agentへの移行におけるベストプラクティス

まずはドライランを実行する。 何かを適用する前に、計画のメモリセクションを確認してください。

マージ前に日次ノートを整理する。 永続的なポイントを MEMORY.md に抽出し、残りはアーカイブします。

ワークスペースターゲットを設定する。 Hermesは、AGENTS.md を配置するためにこれが必要であるとしています。

USER.md は自分自身について、SOUL.md はトーンについて記述する。 これらはHermesにおいて別個のシステムです。

アーカイブされた役割を意図的に再作成する。 ハートビートはcronジョブになり、アイデンティティのメモは SOUL.md にマージされます。

テストのために新しいセッションを開始する。 インポートされたメモリは新しいセッションで有効になります。

独自のセッション境界を作成する。 Hermesの会話は /new または /reset まで維持されます。OpenClawのメモリが最初からできたこと、できなかったことについては、OpenClawのメモリができること・できないこと をご覧ください。また、ClaudeからOpenClawに移行した場合は、ClaudeのメモリをOpenClawに移行する でその前段階のプロセスを確認できます。OpenClaw自体の内部での永続メモリのオプションについては、OpenClawのメモリ をご覧ください。

結論

Hermes Agentの hermes claw migrate は、OpenClawからペルソナ、指示、スキル、メモリ、およびユーザープロファイルを引き継ぎ、直接対応するものがないものは手動レビュー用にアーカイブします。計画すべき重要な詳細はメモリです。プロンプトから除外されていたワーキングレイヤーであるOpenClawの日次ノートは、Hermesの単一の MEMORY.md にマージされます。これはすべてのセッションに注入され、サイズ制限があり、自動圧縮されません。

移行前に整理を行いましょう。日次ノートを短く最新の MEMORY.md に抽出し、生のファイルは自身のアーカイブに保管し、ドライランを実行してから、移行後にレポートとメモリファイルを確認してください。

永続的なコンテキストを自分で管理する場所に保管しておけば、次の移行はメモリの救出作業ではなく、単なる設定タスクになります。

よくある質問

OpenClawからHermes Agentへはどのように移行しますか?

Hermesは、OpenClawまたはレガシーなClawdbotのセットアップをインポートする hermes claw migrate を提供しています。まずは --dry-run を付けて実行して計画をプレビューし、その後、AGENTS.md が配置されるようにワークスペースターゲットを設定して適用してください。

OpenClawの日次メモリファイルはどうなりますか?

Hermesの移行ガイドには「すべての日次ファイルがメインメモリにマージされる」と記載されており、長期メモリとともに ~/.hermes/memories/MEMORY.md にマージされ、重複排除されます。

HermesのMEMORY.mdのサイズ制限はどのくらいですか?

Hermesのドキュメントでは、MEMORY.md には2,200文字の制限、USER.md にはそれより小さい制限が記載されています。この制限は memory_char_limit で設定可能であり、メモリがいっぱいになっても自動圧縮はされません。

移行によって外部メモリプロバイダーも引き継がれますか?

適用されるのではなく、手動レビュー用にアーカイブされます。Hermesはメモリバックエンドの設定を移行アーカイブに保存し、hermes honcho で設定するように案内しています。Hermesでは、組み込みメモリと並行してアクティブにできる外部プロバイダーは1つだけです。

インポートしたばかりのメモリがHermesに認識されないのはなぜですか?

Hermesはセッション開始時に、固定のスナップショットとしてメモリを注入します。ドキュメントによると、インポートされたスキルとメモリ項目は新しいセッションで有効になるため、移行後に新しいセッションを開始してください。

OpenClawのheartbeatファイルやidentityファイルはどうなりますか?

これらはアーカイブされます。Hermesは、IDENTITY.md を SOUL.md にマージし、HEARTBEAT.md が処理していた定期的なタスクにはcronジョブを使用することを推奨しています。