#OpenClaw #lossless-claw #ContextEngine #LongRunningAgents #Plugin

OpenClawが最大の問題を解決。lossless-clawの真の機能とは。

OpenClawの標準圧縮は一度起動してすべてを要約し、元のコンテンツを破棄します。バージョン2026.3.7でコンテキストエンジンプラグインAPIが公開されました。lossless-clawはその最初のプラグインです。

@ AgentPuter Lab
$
~ 読了時間 18分

OpenClawが最大の問題を解決。lossless-clawの真の機能とは。

AgentPuter · 2026年3月 · 約18分 · #OpenClaw #lossless-claw #ContextEngine #LongRunningAgents #Plugin

ソース:


想像してみてください。OpenClawエージェントに調査プロジェクトを3時間実行させている状況を。その間、エージェントはブラウジングし、メモを取り、情報源を相互参照しながら、複雑な事柄の全体像を構築しています。そして、コンテキスト上限 次に送られてくるメッセージは、まるで記憶喪失で目覚めたばかりかのようです。2時間前に見つけたはずの特定のファイルパスは、跡形もなく消えています。どのアプローチを取るかについて一緒に下した決定は、曖昧なたった一文に要約されてしまっています これはバグではありません。仕様です。そして2026年3月8日まで、それはどのエージェントにとっても唯一の選択肢でした。

OpenClaw 2026.3.7がそれを変えました。


コンテキスト圧縮の問題点

そうではありません。理由は以下の通りです。

OpenClawのデフォルトの圧縮機能が作動すると、ワンショットの要約が行われます。最も古いメッセージが単一の要約ブロックに集約され、そのブロックがトランスクリプトに書き戻され、 @jalehman — lossless-clawを構築した開発者 — は、Discussion #22251で状況を的 この最後の文章が重要です。これはOpenClawに特有の欠陥ではありません。ChatGPTも、Claudeも、あらゆるエージェントフレームワークが同じことをしています。この分野全体が、非可逆圧縮が唯一の選択肢であるという前提で動いてきました。

**実 長期実行エージェント、すなわち24時間365日稼働し、数日や数週間にわたるプロジェクトを処理し、数十のタスクにわたってサブエージェント間を調整するために人々が実際にデプロイしているエージェントにとって、要約は構造 経験豊富なOpenClawユーザーが、戦略的なタイミングで/compactを手動実行したり、重要な事実が圧縮を乗り越えられるようにSOUL.mdを構成したり、プロジェクトを引継ぎメモ付きの独立したセッションに分割したりといった回避策を編み出してきたのには理由があります。これらは、根本的なアーキテクチャ上の制約に対する対処メカニズムなのです。


2026.3.7で実際に何が変わったのか(本当のニュース)

Twitterで見かける見出しは、「lossless-claw — エージェントに完全な記憶を与えるOpenClawプラグイン」というものでしょう。それは事実ですが、それが本当のニュースではありません。

本当のニュースとは、lossless-clawが存在できるようになる前に、OpenClawのコア バージョン2026.3.7以前、OpenClawのコンテキスト管理はコアにハードコードされていました。コードベース全体をフォークしなければ、それを交換、拡張、あるいは代替案を試すことはできませんでした。いつ実行されるか、どのように要約 @jalehmanさんが提出したPR — #22201 — は、単にlossless-clawのサポートを追加しただけではありませんでした。それは**コンテキスト管理をプラガ これが実際に何を意味するかというと、OpenClawにはコンテキスト管理のための定義されたインターフェースが備わりました。そのインターフェースを実装するプラグインは、組み込みのエンジンを完全に置き換えることができます。デフォルトの動作は維持されます — 何も設定しない場合は、 bootstrap(ctx): Promise // DBとインデックスを初期化 ingest(msg): Promise // 到着したすべてのメッセージをアーカイブする assemble(opts): Promise<AgentMessage[]> // 各ターンでモデルのコンテキストを構築する compact(ctx): Promise // 圧縮トリガーを処理する afterTurn(ctx): Promise // ターン後の処理 prepareSubagentSpawn(): … // スポーンされたサブエージェントにコンテキストを渡す onSubagentEnded(): … // サブエージェント完了後に調整する }


これは完全なライフサイクルです。コンテキストに関わるすべての瞬間 — 取り込み、組み立て、圧縮、サブエージェントへの引き渡し — は、今やプラグインがインターセプトして置き換えることができるフックとなっています。

代替のコンテキストエンジンを使用するには、設定は1行だけです:

```json
{
  "plugins": {
    "slots": {
"contextEngine": "lossless-claw"
    }
  }
}

この行を追加しなくても、何も変わりません。以前のバージョンとの動作の違いは一切ありません。移行は完全にオプトインです。


lossless-clawの仕組み

lossless-clawは、このインターフェースの最初の実装です。これは、後にこのプラグインを直接支持することになる研究者、Ehrlich氏とBlackman氏によるLCM (Lossless Context Management) の論文に基づいて構築されています 標準的な圧縮では、オーバーフローの発生を待ってから対処します。それが実行される時点では、すでにコンテキストを適切に維持する能力は失われており、何時間にもわたって蓄積されたメッセージの山に対して緊急トリアージを行っているようなものです。その結果 lossless-clawは待機しません。バックグラウンドで継続的かつ非同期に動作し、オーバーフローの危機が発生する前に、各やり取りの後に逐次的な要約の決定を下します。それが作成する要約は、フラットなテキストではありません lossless-clawセッションに入力された各メッセージは、直ちにSQLiteデータベースに永続化されます。要約されず、全文が保存されます。これが信頼できる唯一の情報源 (source of truth) であり、決して削除されません。

会話が長くなる レベル2要約(複数のレベル1要約をカバー) ↓ レベル3要約(主要なプロジェクトフェーズを捉える)


ツリーを上に進むにつれて要約は徐々に抽象的になります。下層に近づくほど詳細で
+
[残りのトークンバジェットを埋める要約ノード、古いものから新しい順に]
           +
[エージェントがlcm_expand経由で明示的に要求した詳細]

モデルは最近のメッセージは全文を参照し、古いマテリアルは要約の階層として参照します。モデルのコンテキストにおける実際の要約ノードは次のようになります。

<summary id="sum_abc123" kind="condensed" depth="1"
         descendant_count="8"
         earliest_at="2026-02-17T07:37:00"
         latest_
<summary>
  <parents>
    <summary_ref id="sum_def456" />
  </parents>
  <content>
    このセッションで、エージェントはAPIティア向けの3つの価格戦略を調査しました。[理由]により、使用量ベースがより望ましいと結論付けました。作成された主要ファイル: /workspace/pricing-analysis.md。合意された次のステップ: 財務チームのデータで検証する。
  </content>
</summary>

エージェントはこれが要約であることを知っています。エージェントは、それがいつの期間を対象とし、いくつのメッセージを表し、さらに情報が必要な場合にどこを参照すればよいかを知っています。

3つの検索ツール

要約だけでは不十分な場合 — エージェントが正確なファイルパス、決定の正確な文言、特定の研究セッションからの実際のデータなどを必要とするとき — 過去の履歴に遡ってアクセスするための3つのツールがあります。

ツール機能
lcm_grep保存されているすべてのメッセージを対象とした全文検索
lcm_describe特定の過去の期間の要約を取得
lcm_expand要約を元のソースメッセージに展開
lcm_expandがその鍵となります。これは、展開された内容全体をメインコンテキストに読み込む(それでは目的が損なわれてしまいます)のではなく、サブエージェントを使用して展開された内容を読み込み、要求された特定の詳細のみを返すようにします。これにより、アク
これが、@jalehmanが提案の中で用いている本のたとえ話が意味することです:「本のどのページでも、好きな時にめくり返せるようなものだ」。本を閉じても、それがなくなるわけではありません。本棚にあります。何でも調べることができます。

*「もう/compactや/newを実行する必要がなくなることを想像してみてください。[…]その結果には信じられないほど感銘を受けました:情報が一切失われないと感じられる会話(ある意味、実際に失われていないのですが)、常に3万~10万トークンの範囲で動作し より定量的な全体像を把握するために、コミュニティ開発者の[@chrysbがリリースの当日にTwitterで初期のベンチマーク結果を報告しました](https://x.com/chrysb/status/203052685214654 | Claude Code (デフォルト) | 70.3 | 標準的なスライディングウィンドウ | | OpenClaw デフォルト | ~68 (推定) | ワンショット圧縮 |

これらはコミュニティから報告された数値であり、公式のベンチマークではありません。また、より LCM論文の共著者である@belisarius222氏は、@jalehman氏が元の論文の実装に加えた改善点として、要約時の入力長に上限を設けたことを挙げています。元のLCMでは、非常に長いコンテンツを要約

lossless-clawのインストールと設定

前提条件: OpenClaw 2026.3.7以降。 それ以前のバージョンでは、Context Engineプラグインスロットが存在しません。

ご注意: 2026.3.7の初期リリースには、既知のP1レジストリバグ(Issue #40096) openclaw —version

openclaw 2026.3.7以降が表示されるはずです (レジストリの修正を含む)

プラグインをインストール

openclaw plugins install lossless-claw

ゲートウェイを再起動

openclaw restart


ほとんどの場合、`openclaw plugins install`は`contextEngine`スロットを自動的に設定します。それが有効になっているか確認するには:

```bash
openclaw config show | grep contextEngine
# 期待される出力: contextEngine: "lossless-claw"

手動で設定する必要がある場合は、以下の内容を設定ファイルに追加してください:

{
  plugins: {
    slots: {
contextEngine: "lossless-claw"
    }
  }
}

有効化を推奨するケース

lossless-clawは、すべてのOpenClawセットアップに適しているわけではありません。ストレージ(会話履歴の増加に伴い肥大化するSQLite

  • コンテキストの引き継ぎが重要なサブエージェントシステムを実行している場合
  • コンパクションによって重要な情報が失われ、最初からやり直さなければならなくなった経験がある場合

次のような場合は、デフォルトのエンジンを使い続けてください:

  • 主に1 lossless-clawはLLMを使用して要約を生成します。それにはトークンコストがかかります。ほとんどの長時間実行されるワークフローでは、セッションリセットを回避することによる節約効果が、要約のオーバーヘッドをはるかに上回ります — しかし、コストを意識するなら、これを賢く設定する方法があります:
{
  agents: {
    defaults: {
      model: "anthropic/claude-opus-4-6",
    }
  },
  plugins: {
    slots: {
      contextEngine: "lossless-claw"
    }
  }
}

lossless-clawのドキュメントでは、主要な推論モデルは変更せずに、バックグラウンドの要約作業にはanthropic/claude-haiku-4-5やMiniMax-M2.5-highspeedのような高速で安価な @jalehmanの実装もまた、適応的な要約の頻度を通じて、アクティブなコンテキストを30k〜100kトークンの範囲に保つことを目指しています。これにより、会話の履歴が無限に増えても、トークンの使用量は予測可能なままとなります。


lossless-clawを超えて可能になること

lossless-clawプラグイン自体も価値があります。しかし、より大きな変化は、Context Engine APIが今後のコミュニティのために何を可能にするかという点です。 3.7以前は、OpenClawのコンテキスト管理を改善しようとする試みは、ことごとく同じ壁にぶつかっていました。その仕組みがハードコードされていたのです。

外部で状態を管理しようとするスキルを書くことはできました。重要な事実を保持するようにSOUL. ストレージバックエンドとしてのベクトル検索。 SQLiteの全文検索はキーワードクエリに適しています。ベクトル埋め込みバックエンドはセマンティック検索、つまり、たとえ正確な単語が存在しなくても概念的に関連する過去のコンテンツを見つける検索をサポートします。@bel RAG統合コンテキストエンジン。 会話履歴だけでなく、外部のナレッジベース(Notionワークスペース、コードベース、ドキュメントライブラリなど)からも情報を引き出し、現在のタスクが必要とするものに基づいてターンごとに動的にコンテキストを組み立てるエンジン。

エージェント間の共有メモリプール。 複数のエージェントが同時に読み書きできるコンテキストエンジンで、すべてを中央のコーディネーター経由でルーティングすることなく、真のマルチエージェントによるナレッジ共有を可能にします。 メモリバックエンドとしてのObsidian / Notion。 ローカルのSQLiteデータベースではなく、構造化された外部ワークスペースにすべてを永続化することで、自分で閲覧・編集できるようになります。エージェントの記憶は、エージェントの外部から監査および検索が可能になります。

これらは憶 インフラストラクチャの観点から見れば、成熟したプラットフォームはこのように進化します。OpenClawはブラウザの自動化をリリースし、次にそのブラウザツールをカスタマイズ用に開放しました。スキルをリリースし、次にそれらを配布するためにClawHubを コンテキスト管理は、エージェントシステムにおける最も基本的なレイヤーです。それによって、エージェントが何を知っているか、時間の経過とともにどのように推論するか、そして長期にわたるタスクで実際に何を達成できるかが決まります。それを開放することは、マイナーな Telegramでのトピックごとのエージェントルーティング。 フォーラムグループで、異なるトピックを異なるエージェントにルーティングできるようになりました。1つのTelegramグループ内で、複数の特化エージェントが、それぞれ独立したセッションで異なるトピックスレッドを処理します。これは、マルチエージェントのチーム設定において数ヶ月前から要望されていた機能です。

iOS App Store Connectの準備。 バンドルID、Fastlaneによる自動化、スクリーンショットのメタデータなど、App Storeへの申請に必要なすべてのインフラがコードベースに実装されました。モバイル版OpenClawが間もなく登場します。


要点

OpenClawには当初から暗黙の上限がありました。エージェントの実行時間が長くなればなるほど、忘れることが多くなるというものです。本格的なユースケースはすべて、最終的にこの上限に突き当たります。コミュニティは数ヶ月にわたり、 lossless-clawがその最初の答えです。これは、すべてを保存し、段階的に要約を行い、エージェントが必要に応じて正確な過去の詳細を取得できるようにする、DAGベースの要約システムです。初期のコミュニティによるベンチマークの数値では、テストされたすべてのコン openclaw plugins install lossless-claw


移行作業は以上です。

---

*あなたのエージェントがコンパクションに達するまでどのくらいかかりますか?そして、その時何を失いますか?コメントで教えてください — 私たちは、さまざまなワークフロータイプがどのようにコンテキストの劣化を経験するかを追跡しており、そのデータが必要です。*

*次回:[OpenClaw vs Nanobot](/blog/openclaw-vs-nanobot) — 香港大学の研究者による4,000行の最小限のエージェント。「少ないことは、より豊かなこと」は、エージェントのインフラストラクチャにおいて実際にいつ当てはまるのでしょうか?*

---
*出典: [Martian-Engineering/lossless-claw](https://github.com/Martian-Engineering/lossless-claw) · [OpenClaw ディスカッション #22251](https://github.com/openclaw/openclaw/discussions/22251) · [OpenClaw 2026.3.7 リリースノート](https://github.com/openclaw/openclaw/releases/tag/v2026.3.7) · [Chrys Bader @chrysb](https://x.com/chrysb/status/2030526852146549140) · [LCM論文、Ehrlich & Blackman](https://papers.voltropy.com/LCM)*