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ライセンスのため商用プロジェクトへの組み込みにも制限はない。