実行プログラムと拡張機能
最終更新
agent-memory:コーディングエージェントにセッションを越えた記憶を持たせる
セッションが閉じると消えていた文脈をファイルとして残します
agent-memoryはコーディングエージェントの記憶をMarkdownファイルとして残す実行ツールです。ファイルが原本で、SQLiteの索引は削除して作り直せるキャッシュです。想起のときは本文を貼り付けず、ファイルのパスと要約で答えるため、エージェントは必要な分だけ開きます。
セッションが閉じると消えていたものを残します
エージェントはセッションを閉じると、その中で学んだことを忘れます。どのファイルをなぜ直したのか、どの試みが失敗したのかは次のセッションには残りません。agent-memoryはこの欠落を埋める実行ツールです。
記憶の扱い方は二つに分かれています。一つは埋め込みと知識グラフで探す検索エンジン、もう一つはエージェントが直接読むファイルシステムです。前者はよく見つかりますが中身を検査しにくく、後者は読みやすいものの検索は苦手です。
このツールは両方を一つの保存先にまとめます。ファイルはそのままにして索引を重ね、検索は索引が、読むのはファイルが担当します。
記憶は会話全文を貼り付けた塊ではありません。何をなぜしたのかを1つのファイルに書き、関連するファイル同士をリンクでつなぎます。

Markdownが原本で、索引はキャッシュです
記憶はMarkdownファイル一つひとつが単位です。ファイル内のリンクが関係を作り、同じフォルダのファイル同士は隣人になります。グラフデータベースを別に置かなくても関係は保たれます。
| 経路 | 処理内容 |
|---|---|
| セッション開始時の注入 | MEMORY.mdをそのまま読み込む |
| 索引検索 | FTS5で検索し、ベクトルも混ぜられる |
| フォルダの直接探索 | lsとgrepで直接探す |
索引はいつでも削除できます。索引フォルダを消して作り直しても失う知識はなく、これは文書の約束ではなくテストで確認しています。
rm -rf .index/ && mem rebuildインストールして保存先を作ります
まだPyPIにないためリポジトリからインストールします。Python 3.12以上が必要で、インストールするとmemとMCP1サーバー、フックの実行ファイルが一緒に作られます。
uv sync --all-packages保存先を作った後は、使っているエージェントに合わせて設定を結びつけます。ホストごとに設定ファイルの場所が違うため、コマンドにホスト名を入れます。
想起はパスで答え、ファイルで読みます
検索すると本文ではなく一行の要約とファイルのパス、スコアが返ります。エージェントはその一覧を見て、必要なファイルだけを必要な深さで開きます。
| 段階 | 返ってくるもの |
|---|---|
| 一覧 | 一行の要約、パス、スコア |
| 概要 | 見出しのみ |
| 要約 | ファイルの要約 |
| 全文 | ファイル全体 |
| 原本 | 引用された元のメッセージ |
本文を貼り付けるとコンテキストがすぐ埋まり、何を読んだかも確認しづらくなります。パスで答えると、開いたファイルと開かなかったファイルが会話記録に残ります。

書き込みは会話の境界で起こります
エージェントが記憶を残すと判断するのを待ちません。会話が切れる地点で整理が始まり、その作業が進行中の仕事を止めることはありません。
残す価値のあることは、たいてい作業が終わる瞬間に現れます。どんな選択をし、何が失敗したかがそのとき整理されます。
整理の前に元の会話記録を先に複製します。そのため整理の段階で取りこぼした内容がシステムから消えることはありません。
ライブラリの中にモデルのクライアントはありません。判断はホストのエージェントのCLI2が行い、その判断は会話記録に残るので後から確認できます。
眠っている間に整理し、忘れます
会話がないときに統合処理が走ります。新しく入った記憶をまとめ、価値の低いものを忘れます。この処理は独自の周期で動くため、リクエストを待ちません。
人のいない間にできることとできないことが分かれています。追加と更新は自分で行いますが、削除は提案としてのみ残し、確認を受けます。
忘れることも機能です。同じ内容が複数のファイルに散らばると検索結果が重複し、古い判断が最新の判断を覆い隠します。
更新しても以前の記録は消えません。特定の日付を指定すればその時点の記憶で答えられるため、何がいつ変わったかを追えます。

記憶がある場合とない場合を比較しました
開発チームはLongMemEval-Sを120エピソードに縮めて測定しました。検索範囲は12セッションに制限し、ホストはClaude Haiku 4.5、採点はSonnet 5が担当しました。
| 方式 | 正答 |
|---|---|
| agent-memory | 52.9% (127/240) |
| MemCore | 35.8% (86/240) |
| 記憶なし | 5.8% (7/120) |
この数字は文章の品質や推論能力を測ったものではありません。以前のセッションの事実をどれだけ正確に取り戻せるかだけを見ています。
3つのホストが1つの保存先を共有します
Claude Codeが残した記憶をCodex CLIが見つけ、Hermesが再び使う組み合わせを確認しました。3つのホストを使う9通りの順序の組み合わせがすべて通り、特定の内容もそのまま残っていました。
ホストを変えても記憶が続くのは、保存先がファイルだからです。特定アプリのデータベースに閉じ込められていると、他のアプリからは取り出せません。
記憶なしで始めた場合と比べると36回中2回から13回に増えました。ホストを変えても記憶が引き継がれるという意味です。
初期バージョンなので確認すべき点があります
バージョンは0.1.0で、まだPyPIにはありません。コマンド名や設定項目が変わる可能性があるため、インストールした時点の文書に沿うのが安全です。
測定値は検索範囲を12セッションに制限した実験です。そのためこの数字は記憶の書き方についての比較であり、大きなコーパスでの性能比較ではありません。
エージェントを変えるとフックと設定を入れ直す必要があります。記憶そのものはMarkdownとして残りますが、どのホストがいつ書くかは設定によります。
用語の注釈
よくある質問
- この記事で最初に確認すべきことは何ですか?
- agent-memoryはコーディングエージェントの記憶をMarkdownファイルとして残す実行ツールです。ファイルが原本で、SQLiteの索引は削除して作り直せるキャッシュです。想起のときは本文を貼り付けず、ファイルのパスと要約で答えるため、エージェントは必要な分だけ開きます。
