LLMエージェントは毎回のセッションを「初対面」として扱う。どれほど高性能なモデルでも、先週の会話を引き継いで作業を続けるには、何らかの記憶の仕組みが必要だ。

この記事でわかること:

  • PlugMemがLLMエージェントの長期記憶問題を解決する仕組み
  • セマンティック・プロシージャル・エピソードの3種類のメモリ構造
  • 6行のAPIで既存パイプラインに組み込む方法
  • OpenClaw・Claude Codeへのプラグイン対応とMemory Inspectorの機能
  • LongMemEval・HotpotQAでの最新ベンチマーク結果

https://github.com/TIMAN-group/PlugMem

LLMエージェントの記憶問題

長期記憶の実装には、大きく2つのアプローチがある。コンテキストに全履歴を詰め込む方法は、やり取りが増えるほどトークンが爆発し、コストと応答速度に直撃する。逆に過度な圧縮をかけると、タスクに必要な情報が失われる。

これまで提案されてきたのは主にタスク特化型の設計だ。対話エージェント向けのメモリ、QA用の検索インデックス、Webオートメーション向けのセッション記録——それぞれが独立しており、別のタスクには転用できない。

ナレッジグラフへの変換で解決する

TIMAN GroupとMicrosoft Researchのチームが開発した「PlugMem」は、認知科学の記憶モデルを参考に、生の対話履歴を「知識単位」として構造化されたナレッジグラフに変換する。タスクを問わず同一の設計で動作し、既存のエージェントパイプラインに最小限の変更で追加できる。

ICML 2026(国際機械学習学会)に採択されており、論文はarXivで全文公開されている(参考)。MITライセンスで商用利用も可能だ。

3種類のメモリ構造

PlugMemが扱うメモリには3種類ある。

セマンティックメモリは、ファクトや概念を保持する。「ユーザーはPythonエンジニアだ」「プロジェクトの締め切りは月末だ」といった情報がここに入る。

プロシージャルメモリは、ワークフローや手順の知識を格納する。「このAPIを叩くときはレート制限を考慮する」「デプロイ前には必ずテストを走らせる」といった再利用可能な手続きを保存する。

エピソディックメモリは、長い対話セッションをディスク上に保存してIDで参照する形式を採る。セッション全体をメモリに乗せず、必要な部分だけ取り出す設計になっている。

3種類のメモリはすべて階層的なナレッジグラフとして管理される。LLMがグラフ上でリトリーバルと推論を行い、生の文章ではなく抽出済みの知識から回答を生成する。

6行で既存パイプラインに組み込む

導入に必要なコードは最小限だ。

mg = MemoryGraph()
mem = Memory(...)
mem.append(...)
mem.close()
mg.insert(mem)
mg.retrieve_and_reason(...)

MemoryGraphオブジェクトを初期化し、Memoryオブジェクトにやり取りを追記してグラフに挿入する。推論時は retrieve_and_reason() でナレッジグラフから関連情報を取得する。タスク固有のコードは原則不要で、value functionやreasoningプロンプトを差し替えることで動作を細かく調整できる。

OpenClaw・Claude Codeへのプラグイン対応

2026年5月に公開されたアップデートで、PlugMemはOpenClawとClaude Codeへのネイティブプラグインとして利用できるようになった。インストール後は「Memory Inspector」と呼ばれるUIが利用可能になる。

グラフビューでは、セマンティック・プロシージャル・エピソードの各ノードとその関係をグラフとして可視化できる。ブラウズビューでは個々のメモリエントリを検索・フィルタリングして管理でき、過去のエージェントセッションを再生して動作を検証することもできる。

3つのベンチマークでSOTA

PlugMemは異なる3種類のベンチマークにおいて、同一の設計のままSOTA(最先端)を達成している。

長期対話型QAの「LongMemEval」では精度90.2を記録した。マルチホップ知識検索の「HotpotQA」では79.1 F1 / LLM-Judge精度91.1%に達した(論文)。Webエージェントタスクの「WebArena」でも、タスク特化型のメモリ設計を上回った。

タスクの変更なしに3種類の異なる評価環境でこれだけの数字を出していることが、「タスク非依存の汎用メモリ」という設計の妥当性を示している。

GraphRAGとの設計の違い

グラフ構造を使う点ではGraphRAGなど先行手法と見た目が似ているが、グラフに格納する単位が異なる。GraphRAGはエンティティや文章の塊をノードとして扱う。PlugMemはタスク遂行に必要な「命題的知識」と「規範的知識」を単位として扱い、生の文章ではなく構造化済みの知識だけをグラフに持つ。論文では統一された情報理論的な分析のもと、他手法と比較して情報密度が最も高いと報告されている(参考)。

開発者ツールとしての実用性

PlugMemはICML採択の研究成果を実装したライブラリという位置づけだが、OpenClawとClaude Codeという2つの主要AIエージェントに対してすでにプラグインを提供している。既存のエージェント環境から試せる点と、Memory InspectorによるUIでの動作確認ができる点が、研究成果をそのまま実務に持ち込める入り口として機能している。MITライセンスのため商用プロジェクトへの組み込みにも制限はない。