AIディープダイブ

Claude-Mem:Claude Codeのための永続メモリ完全ガイド

AIコーディングエージェントは、セッションが変わるたびにすべてを忘れてしまいます。 Claude-Mem はこれを解決します — ツールの使用状況を自動的にキャプチャし、AIで観察結果を圧縮して、関連するコンテキストを将来のセッションに注入します。そのアーキテクチャ、インストール方法、そしてなぜAIコーディング・エコシステムで最も急速に成長しているオープンソース・プラグインの1つになったのかを詳しく解説します。

Claude-Mem:AIコーディングのための永続メモリ・プラグイン — コードエディタに接続された光り輝く神経回路の脳と、コーディング・セッション間のコンテキスト保持を表現する流れるようなデータストリーム

AIコーディングエージェントを使用しているすべての開発者が経験したことがあるでしょう。プロジェクトのアーキテクチャ、好み、規約をClaude Codeに1時間かけて説明したとします。セッションが終了し、新しいセッションを開始すると、そこにあるのは 白紙の状態です。 Claude-Mem はこの問題を解決するオープンソース・プラグインであり、AIコーディング・エコシステムで最も人気のあるツールの1つになりました。私たちは GitHub、Reddit、Twitter/X、そしてソースコード自体 を通じて調査を行いました — これがその決定版ガイドです。

Get the latest on AI, LLMs & developer tools

New MCP servers, model updates, and guides like this one — delivered weekly.

1. なぜ重要なのか

Claude-Memは、 最も多くのスターを獲得しているプラグインの1つです。 Claude Code エコシステムにおいて、数万件の GitHub スター、数百件のリリース、数千件のフォークを獲得しています。AI コーディングエージェントに実質的にメモリを追加するプラグインとしては、驚異的な普及を遂げています。これはフレームワークでもライブラリでもありません — これは 行動拡張(behavioral augmentation) (Claude Code 用)です。

なぜこれが重要なのか

AI エージェントは設計上ステートレスであり — 各セッションは新しく開始されます。しかし、実際の開発プロジェクトは 数週間や数ヶ月にわたります。説明を繰り返すたびにトークンや時間が浪費され、すでに明確にした内容をエージェントが誤解するリスクも生じます。Claude-Mem はこのギャップを自動的に埋めます。

このプロジェクトは主に TypeScript、および JavaScriptシェルスクリプト、そして HTML Web ビューア用として構成されています。ライセンスは AGPL-3.0です。これは、自由に利用・改変できますが、ネットワーク上で公開される派生作品もオープンソースにする必要があることを意味します。

2. 誕生の背景

Claude-Mem は Alex Newman によって作成されました。、オンラインでは @thedotmackとして知られています。Newman氏のバックグラウンドは、AIプロダクトマネジメント、ソリューションアーキテクチャ、フォワードデプロイエンジニアリングにわたります — この経歴の組み合わせが、claude-memがホビープロジェクトというよりも、本番環境のインフラのように感じられる理由を物語っています。

このプロジェクトは、あるシンプルな気づきから始まりました。Claude Codeは非常に強力ですが、すべてのセッションをまるで初対面であるかのように扱います。Newman氏は自身の悩みを解決するためにclaude-memを構築しました — そして、それは開発者コミュニティから大きな支持を得ることとなりました。

重要な洞察

Newman氏は、問題は 記憶を保存すること ではなく — 効率的な圧縮と 検索にあると気づきました。生の会話ログはサイズが大きすぎ、焦点がぼやけてしまいます。Claude-MemはAI自体を活用して各セッションで起きたことのセマンティックな要約を生成し、次のセッションでは関連するコンテキストのみを抽出します。

このプロジェクトには公式のX/Twitterアカウント(@Claude_Memory)、 Discordコミュニティ、そして claude-mem.ai には包括的なドキュメントが用意された公式サイトもあります。

3. 解決する課題

Claude CodeやCursor、あるいは何らかのAIコーディングエージェントを1日以上使ったことがあれば、その苦労がわかるはずです。

課題1:コンテキストの健忘症(Context Amnesia)

プロジェクトのアーキテクチャ、データベーススキーマ、コーディング規約を説明します。セッションが終了します。次のセッションで「これはどのようなプロジェクトですか?」と聞かれます。毎回、必ずです。

問題 2:繰り返される意思決定

特定のパターン(例:“always use server actions, never API routes”)を使うことに決めます。次のセッションで、エージェントはあなたの好みを覚えていないため、API routesを生成します。

問題 3:失われたバグのコンテキスト

厄介なレースコンディションのデバッグに30分費やしました。修正には、相互に作用する3つのサービスを理解する必要がありました。次のセッションで、エージェントはあなたがすでに試して却下したのと全く同じアプローチを提案してきます。

問題 4:トークンの浪費

再説明のたびにトークンを消費します。従量課金プランを利用している場合、コンテキストの再構築にかかるコストは、1日に数十回行われるセッション全体ですぐに積み上がります。

Claude-Memはこれら4つの問題をすべて解決します。バックグラウンドで静かに動作し、Claudeが 行ったこと (あなたが 言ったこと)だけでなく、それらの観察結果をセマンティックな要約に圧縮し、新しいセッションの開始時に関連するものを注入します。

4. 仕組み

Claude-Memは、 6つのコアコンポーネントを通じて動作し、これらすべてが連携してシームレスなメモリレイヤーを構築します:

コンポーネント役割
5つのライフサイクルフックSessionStart, UserPromptSubmit, PostToolUse, Stop, SessionEnd — あらゆる段階でイベントをキャプチャします
スマートインストールフックの前に実行されるキャッシュ済み依存関係チェッカー(Bun、uv、および依存関係の準備を保証)
ワーカーサービスポート37777で動作するHTTP API。WebビューアUIと10個の検索エンドポイントを備え、Bunによって管理されます
SQLite データベースセッション、観察内容(observations)、要約をFTS5全文検索とともにローカルに保存
mem-search スキルプロジェクト履歴を照会するための、段階的開示(progressive disclosure)を用いた自然言語クエリ
Chroma ベクトル DBインテリジェントなコンテキスト取得のための、セマンティック検索とキーワード検索のハイブリッド

ライフサイクルフロー

一般的なセッション中に実行される処理は以下の通りです:

セッションのライフサイクル

1. SessionStart フック
   → ワーカーサービスが起動(実行されていない場合)
   → 関連する過去の観察内容(observations)を取得
   → 圧縮されたコンテキストをセッションに注入

2. UserPromptSubmit フック
   → ユーザーの質問内容を記録

3. PostToolUse フック(すべてのツール実行後に実行)
   → ツール名 + 入力 + 出力をキャプチャ
   → AIを使用して実行結果(observation)を圧縮
   → SQLite + ベクトルDBに保存

4. Stop Hook
   → セッションの一時停止イベントをキャプチャ

5. SessionEnd Hook
   → セッションの要約を生成
   → 最終的なコンテキストのスナップショットを保存

ここでの重要な洞察は、 PostToolUse。Claude-Memは単にメッセージを記録するだけではありません — エージェントが何を 行ったか:読み取ったファイル、記述したコード、実行したテスト、発生したエラーなどを記録します。これにより、会話ログのみの場合よりもプロジェクトの状態をはるかに深く理解できるようになります。

5. 段階的開示(Progressive Disclosure)

これはclaude-memの最も革新的なデザインパターンです。すべてのメモリをコンテキストウィンドウに投入してトークンコストを増大させるのではなく、 3層のリトリーバルシステムを使用しています:

3層の段階的開示モデル

レイヤー1:セッション・プライミング (<500 tokens)
   → 軽量なプロジェクトの概要
   → 最近のセッションにおける主要な決定事項
   → SessionStart 時に自動的に注入

Layer 2: 検索インデックス (~50-100 トークン/結果)
   → コンパクトな observation ID + タイトル
   → エージェントがさらなるコンテキストを必要とする際に検索を実行
   → “これは関連があるか?”を判断するのに十分な情報

Layer 3: 詳細情報 (~500-1000 トークン/結果)
   → observation の全コンテンツ
   → 関連する ID に対してのみ取得
   → エージェントが必要なものを明示的にリクエスト

結果: すべてを投入するアプローチと比較して約 10 倍のトークン節約

これが claude-mem を大規模環境で実用的にするためのアーキテクチャです。段階的な情報開示(progressive disclosure)がなければ、メモリシステムはトークンを消費しすぎる(高コストで、フォーカスを分散させる)か、取得が少なすぎる(重要なコンテキストを逃す)かのどちらかになります。Claude-mem's の 3 レイヤーシステムにより、エージェント自身が関連性を判断できるようになります。

6. MCP 検索ツール

Claude-Mem は 4 つの MCP ツールを公開しており、 Claude はこれを使用して自身のメモリをクエリできます:

ツール目的トークンコスト
searchフィルタ(type、date、project)を使用した全文検索~50-100/結果
timeline特定の observation 周辺の時系列コンテキスト~100-200/結果
get_observationsobservation ID による詳細情報の取得(一括)~500-1000/結果

例:メモリの検索

// Step 1: Search for compact index
search(query="authentication bug",
       type="bugfix", limit=10)

// Step 2: Review index, identify relevant IDs
// e.g., observations #123, #456 look relevant

// Step 3: Fetch full details ONLY for those
get_observations(ids=[123, 456])

このワークフローにより、Claudeはデータベース内のすべてのデータではなく、実際に必要なobservationに対してのみトークンコストを支払うことになります。検索レイヤーは フィルターとして機能し、リトリーバルレイヤーは 深さを提供します。

7. インストール方法

Claude-Memは3つのインストール方法を提供しています:

オプションA:npx(推奨)

最も速い方法 — コマンド1つで完了します:

# Claude Codeへのインストール
npx claude-mem install

# Gemini CLIへのインストール
npx claude-mem install --ide gemini-cli

オプションB:プラグインマーケットプレイス(Claude Code内)

# マーケットプレイスを追加
/plugin marketplace add thedotmack/claude-mem

# プラグインをインストール
/plugin install claude-mem

オプション C: OpenClaw Gateway

curl -fsSL https://install.cmem.ai/openclaw.sh | bash

⚠️ 重要な注意事項

npm install -g claude-mem このコマンドは SDK/ライブラリのみをインストールします — これだけでは not プラグインフックの登録やワーカーサービスのセットアップは行われません。常に npx claude-mem install または /plugin コマンドを使用してください。

システム要件

要件詳細
Node.js18.0.0 以上
Claude Codeプラグイン対応の最新バージョン
BunJavaScript ランタイム(未インストールの場合は自動インストールされます)
uvベクトル検索用のPythonパッケージマネージャー(自動インストール済み)
SQLite 3永続ストレージ用(同梱)

インストール後、Claude CodeまたはGemini CLIを再起動してください。以前のセッションのコンテキストは新しいセッションに自動的に表示されます — 手動での操作は不要です。

8. 主要機能の深掘り

🧠 永続メモリ

コア機能:セッションをまたいでコンテキストが維持されます。新しいセッションを開始すると、Claudeは以前どのファイルで作業したか、どのバグを修正したか、どのような設計上の決定を下したか、そしてどのようなパターンを好むかをすでに把握しています。

🖥️ WebビューアーUI

ブラウザで http://localhost:37777 にアクセスすると、リアルタイムのメモリストリームを確認できます。オブザベーションの閲覧、履歴の検索、claude-memがキャプチャしている内容の監視が可能です。また、ビューアーからはベータ機能へのアクセスやバージョンの切り替えも行えます。

🔒 プライバシーコントロール

コンテンツを <private> タグで囲むことで、保存対象から除外できます。APIキー、認証情報、個人情報 — これらのタグ内のデータは一切永続化されません。データはSQLite形式で完全にローカルマシン内に保持されます。

🔗 引用

すべてのオブザベーションには一意のIDが付与されます。IDを使用して過去のオブザベーションを参照し、以下を介してアクセスできます http://localhost:37777/api/observation/{id}。これにより、 正確に なぜClaudeが特定の決定を下したのかを追跡できます。

🧪 Beta Channel: Endless Mode

The experimental “Endless Mode” implements a biomimetic memory architecture designed for extended sessions that run for hours. It uses a different compression strategy that prevents context window saturation during marathon coding sessions. Switch between stable and beta from the web viewer UI.

⚙️ Context Configuration

Settings are managed in ~/.claude-mem/settings.json. You can configure the AI model used for compression, the worker port, the data directory, log level, and fine-grained control over what context gets injected and when.

9. Architecture Overview

Claude-Mem's architecture has evolved significantly through multiple major versions. Here's how the pieces fit together:

CLAUDE-MEM ARCHITECTURE

┌─────────────────────────────────────┐
│          Claude Code Session          │
│                                     │
│ SessionStart → PostToolUse → End  │
└────────────────┬────────────────────┘
                 │ Hooks
                 ▼
┌─────────────────────────────────────┐
│  Worker Service (Bun, port 37777)  │
│                                     │
│ ┌──────────┐  ┌──────────────────┐ │
│ │ Web UI   │  │ 10 API Endpoints │ │
│ └──────────┘  └──────────────────┘ │
└────────────────┬────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────┐
│           ストレージレイヤー            │
│                                     │
│ ┌──────────────┐  ┌──────────────┐│
│ │ SQLite + FTS5 │  │ Chroma VecDB ││
│ │ (構造化)      │  │ (セマンティック)   ││
│ └──────────────┘  └──────────────┘│
└─────────────────────────────────────┘

デュアルデータベース戦略

Claude-Memは2つのデータベースを組み合わせて使用します:

  • SQLite with FTS5 — 構造化クエリ、完全一致検索、時間ベースのフィルタリング用。高速、ローカル、zero-config。
  • Chroma Vector Database — セマンティック類似性検索用です。Claudeが“認証システムについて何をしたっけ?”と尋ねると、Chromaは正確な単語が一致しなくても、概念的に関連する観察結果を見つけ出します。

これらを組み合わせることで、以下を提供します: ハイブリッド検索:SQLiteによる完全一致と、Chromaによる曖昧/セマンティック一致です。これは、本番環境のRAGシステムで使用されているものと同じ検索アーキテクチャパターンであり、ローカル利用向けに小型化されています。

10. コミュニティの反応

以下のプラットフォームでの議論を調査しました: Reddit (r/ClaudeAI, r/ClaudeCode)、Twitter/X、および技術記事。コミュニティのコンセンサスは以下の通りです:

“白紙状態”キラー

Redditでの圧倒的な意見:claude-memは“白紙状態”問題に対する最良の解決策です。ユーザーの報告によると、これは 摩擦を大幅に軽減し、 プロジェクトのアーキテクチャを再説明する手間を省き、時間、トークン、そしてフラストレーションを削減します。r/ClaudeCodeの複数のスレッドでは、“必須”のプラグインとして紹介されています。

トークンエコノミーに関する議論

一部のユーザーは当初、トークンコストを懸念していました — AI呼び出しを使用して観察結果を圧縮するアクティブメモリシステム自体がトークンを消費する可能性があるためです。コミュニティのコンセンサスは以下の通りです: 段階的開示アーキテクチャ により、実質的にプラスとなります。コンテキストを再説明しないことで節約されるトークンは、メモリ圧縮に費やされるトークンをはるかに上回ります。

“ヘビー vs ライト”の分断

claude-memはフル機能のシステム(Bun、ベクトル検索用のPython、バックグラウンドワーカーサービスが必要)であるため、一部の開発者は以下のようなより軽量な代替案を作成しています: claude-mem-lite および memsearchこれらはよりシンプルなテキストベースのストレージを使用し、LLMの呼び出しを最小限に抑えます。コミュニティでは、これらを補完的なものと捉えています。数週間にわたる本格的なプロジェクトにはclaude-mem、迅速な実験にはより軽量なツール、といった使い分けです。

ワークフロー統合レイヤー

Redditのパワーユーザーは、claude-memを次のように表現しています。 基盤レイヤー カスタムワークフローのための基盤です。ユーザーはその上に特化した“スキル”を構築します。永続メモリをカスタムルールやドメイン固有の知識と組み合わせることで、特定のプロジェクトを深く理解するAIエージェントを作成しています。

コミュニティの評決

Claude-Memは、AIエージェントの永続メモリにおける最高クラスのソリューションとして広く認知されています。主な批判は、複数の依存関係を持つ複雑なシステムであり、“重い”という点です。それに対する反論は以下の通りです。 メモリ(記憶)は難しい問題である、そして単純な解決策は単純な結果しか生まない、ということです。

11. 結論:Claude-Memは使う価値があるか?

私たちの見解

はい、Claude Codeを複数のセッションにわたるプロジェクトで使用しているなら、使う価値があります。 Claude-Memは、AIコーディングエージェント向けの最高クラスの永続メモリソリューションです。段階的開示(progressive disclosure)アーキテクチャによりトークン効率が高く、SQLite + Chromaのデュアル検索により完全一致とセマンティック検索の両方が可能です。また、完全に自動で動作するため、手動のオーバーヘッドはゼロです。

次のような場合に適しています:

  • 複数のセッション(数日、数週間、数ヶ月)にわたるプロジェクトに取り組んでいる場合
  • セッションごとにプロジェクトのアーキテクチャを説明し直すのに疲れている場合
  • 過去の決定事項、バグ修正、却下されたアプローチなどをClaudeに覚えておいてほしい場合
  • 依存関係のフットプリント(Node.js、Bun、ベクトル検索用のPython)を許容できる場合

次の場合はスキップしてください:

  • Claude Codeを単発のクイックなタスクにのみ使用する場合
  • 最小限のツール構成を好み、バックグラウンドサービスを一切動かしたくない場合
  • CursorやWindsurfを使用している場合(claude-memはClaude Code、Gemini CLI、OpenClawでのみ動作します)
  • 適切にメンテナンスされた CLAUDE.md ファイルがあれば、あなたのワークフローには十分です

12. 代替案と比較

AIエージェントにメモリを持たせる他の手法と、claude-memはどう比較されますか?

手法メリットデメリット
CLAUDE.md (手動)シンプル、依存関係なし、完全に制御可能手動メンテナンス、自動キャプチャなし、静的
Claude-Mem自動、セマンティック検索、段階的な情報開示、リッチセットアップが複雑、Bun + Pythonが必要、バックグラウンドサービス
claude-mem-lite軽量、テキストベース、依存関係が少ないセマンティック検索なし、よりシンプルな圧縮
カスタムスクリプト完全にカスタマイズ可能、外部依存関係なしすべてが DIY、エコシステムによるサポートなし
Claude Memory 内蔵セットアップ不要、ネイティブ統合スコープが限定的、プロジェクト固有の永続性なし

本格的なマルチセッションプロジェクトに取り組む多くの開発者にとって、 claude-mem は最も充実した機能セットを提供します。迅速な実験や、最小限のツールを好む開発者の場合は、 適切に管理された CLAUDE.md ファイル とスキルファイル( Karpathy's skillsなど)の組み合わせで十分な場合があります。

13. 大きな展望

ステートレスからステートフルなエージェントへ

Claude-Mem は、AI コーディングエージェントに対する考え方の転換を象徴しています。第一世代の AI アシスタントは ステートレス — 各インタラクションが毎回リセットされていました。claude-mem のようなツールが登場した現在の世代は、 ステートフル — つまり、時間の経過とともにプロジェクトに関する知識を蓄積していくエージェントへと進化しています。

これには重大な意味があります。ステートフルなエージェントは、単にコードを書くだけではありません — それは あなたのコードベースを理解します。どのパターンが有効で、どれが却下されたのか、そしてその理由も把握しています。過去の移行時の制約により、認証システムが特定のトークン形式を使用していることも記憶しています。2週間前にパフォーマンスの問題をデバッグしたため、データベースクエリに特定のインデックスが必要であることも覚えています。

コンテキストエンジニアリングのエコシステム

Claude-Memは、より広範な “コンテキストエンジニアリング” エコシステムの一部であり、急速に成熟しつつあります:

  • CLAUDE.md / Rules ファイル — 静的コンテキスト(プロジェクトの規約、コーディング標準)
  • スキル / プラグイン — 振る舞いのガイドライン(Karpathy氏のスキルファイルのようなもの
  • メモリプラグイン — 動的コンテキスト(claude-mem、セッション履歴)
  • MCP サーバー — 外部知識(データベース、API、ドキュメント)

これらのレイヤーが組み合わさることで、エージェントは 特定のプロジェクトや開発者に深くカスタマイズ されたものになります。緩やかで構造化されていないAIとの対話である “vibe coding” の時代は、 “agentic engineering” — コンテキスト管理がプロンプトそのものと同じくらい重要となる、規律ある実践へと進化しています。

今後の展望

v12において、claude-memはすでにClaude Code、Gemini CLI、およびOpenClawゲートウェイをサポートしています。その軌道が指し示す先は、 ユニバーサル・エージェント・メモリ — あらゆるAIコーディングツール、エディタ、プラットフォームで動作する永続的なナレッジレイヤーです。$CMEMトークン(開発者が公式に採用したコミュニティ主導のSolanaトークン)は、リアルタイムのエージェントデータ共有や開発者間のコラボレーションに向けた、さらに野心的な計画を示唆しています。

14. よくある質問

Q: claude-memはGemini CLIでも動作しますか?それともClaude Code専用ですか?

Claude-MemはClaude CodeとGemini CLIの両方をサポートしています。Gemini CLIへのインストールは 'npx claude-mem install --ide gemini-cli' で行えます。また、OpenClawゲートウェイでも動作します。

Q: claude-memはコードやデータをクラウドに送信しますか?

いいえ。すべてのデータはローカルの ~/.claude-mem/claude-mem.db にある SQLite データベースに保存されます。マシン外にデータが出ることはありません。ポート 37777 で動作する HTTP API もローカルで実行され、認証は不要です。

Q: claude-memを使用すると追加のトークン費用がかかりますか?

観測内容の圧縮にトークンを使用しますが、progressive disclosureアーキテクチャにより、最終的には実質的な節約になります。セッションを跨いでコンテキストを再説明する必要がなくなることで節約されるトークン量は、圧縮にかかるコストを大幅に上回ります。

Q: ワーカーが起動しない、またはポート 37777 が使用中なのはなぜですか?

'lsof -i :37777' でポートを使用しているプロセスを確認し、'kill -9 $(lsof -t -i:37777)' で終了させてください。また、~/.claude-mem/settings.json でポート番号を変更することも可能です。

Q: claude-memとCLAUDE.mdの違いは何ですか?

CLAUDE.mdはプロジェクトの規約を手動で管理する静的ファイルです。一方、Claude-Memは自動的であり、コンテキストを動的にキャプチャ、圧縮、取得します。これらは相互に補完し合うものです。ルールにはCLAUDE.mdを、メモリにはclaude-memを使用してください。

Q: CursorやWindsurfでclaude-memを使用できますか?

いいえ。Claude-MemはClaude Codeのプラグイン/フックシステム専用に構築されています。Gemini CLIやOpenClawゲートウェイもサポートしていますが、CursorやWindsurf、その他のIDEには対応していません。

Q: claude-memのEndless Modeとは何ですか?

Endless Modeは、数時間に及ぶマラソン・コーディング・セッション向けに、生体模倣メモリ・アーキテクチャを実装したベータ機能です。コンテキストウィンドウの飽和を防ぐために、異なる圧縮戦略を採用しています。Web Viewer UIから切り替えることができます。

15. すべての情報源 & リンク

この記事は、以下のリサーチに基づいて作成されました。 マルチソース・リサーチ GitHub、Reddit、Twitter/X、Web記事、そしてソースコード自体を横断したリサーチです。以下にすべての主要な情報源を記載します。

主要な情報源

コミュニティ & ソーシャル

  • @Claude_Memory — 公式X/Twitterアカウント
  • Discordコミュニティ — 公式Discordサーバー
  • Reddit r/ClaudeAI — AIメモリソリューションに関するコミュニティの議論
  • Reddit r/ClaudeCode — プラグインアーキテクチャ、トークン管理に関する技術スレッド

技術リファレンス

著者

当サイトの関連記事

Sponsored AI assistant. Recommendations may be paid.