Claude Codeでメモリ永続化を実現するClaude-memの使い方

Ashley Goolam

Ashley Goolam

4 2月 2026

Claude Codeでメモリ永続化を実現するClaude-memの使い方

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

開発期間中の数週間にわたるあらゆるアーキテクチャ上の決定、バグ修正、リファクタリングセッションをAIアシスタントが記憶していたらどうでしょうか?Claude-memは、ツール使用の観測を自動的にキャプチャし、それらを意味的要約に圧縮し、関連する履歴をすべての新しいClaude Codeセッションに注入することで、失われたコンテキストによる摩擦を解消します。

問題:AIアシスト開発におけるコンテキストの記憶喪失

すべてのClaude Codeセッションは白紙の状態から始まります。ターミナルを閉じたり、セッションから切断したりすると、Claudeはすべてを忘れてしまいます。プロジェクト構造、最近のリファクタリングの決定、デバッグの発見、アーキテクチャパターンなどです。これにより、コードベースを繰り返し説明する必要が生じ、冗長なコンテキストにトークンを消費し、ワークフローの継続性を妨げます。

開発者は現在、CLAUDE.mdファイルを手動で管理したり、別のドキュメントにメモを取ったり、セッションの開始時にプロジェクトのコンテキストを再説明したりすることで、この問題を回避しています。これらのアプローチは脆弱で時間がかかり、開発履歴の豊かな情報を完全にキャプチャすることはありません。Claude-memは、すべてのツール呼び出しを自動的に監視し、その出力を検索可能な意味記憶に圧縮し、必要なときにインテリジェントに関連コンテキストを取得することで、この問題を解決します。

💡
美しいAPIドキュメントを生成する優れたAPIテストツールをお探しですか?

開発チームが最大の生産性で共同作業できる、統合されたオールインワンプラットフォームをお探しですか?

Apidogはすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
button

Claude-memのアーキテクチャを理解する

Claude-memは、Claude Codeのライフサイクルに組み込まれる永続的なメモリ圧縮システムとして動作します。ツール出力(通常1,000〜10,000トークン)をキャプチャし、ClaudeのAgent SDKを使用して約500トークンの意味的な観測結果に圧縮します。これらの観測結果はタイプ(決定、バグ修正、機能、リファクタリング、発見、変更)で分類され、関連する概念やファイル参照でタグ付けされた後、全文検索機能を備えたローカルのSQLiteデータベースに保存されます。

このシステムは、コンテキストをキャプチャするために5つのライフサイクルフックを使用します。

このアーキテクチャは、プログレッシブ開示(Progressive Disclosure)を可能にします。これは、カバレッジとトークン効率のバランスをとる階層化されたメモリ取得システムです。履歴全体をコンテキストにダンプする代わりに、Claude-memは観測結果を層状に取得し、手動でのコンテキスト管理と比較して、セッションあたり約2,250トークンを節約します。

インストールとシステム要件

Claude-memには、Node.js 18.0.0以降、プラグインサポート付きの最新のClaude Code、およびJavaScriptランタイムとプロセスマネージャーとしてBunが必要です(不足している場合は自動インストールされます)。SQLite 3は永続ストレージのためにバンドルされています。このプラグインは、Windows、macOS、Linuxでクロスプラットフォームに動作します。

claude code

クイックスタートインストール

Claude-memは、プラグインマーケットプレイスから2つのコマンドで直接インストールできます。

/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem

インストール後、Claude Codeを再起動してください。プラグインは、プリビルドされたバイナリを自動的にダウンロードし、BunとSQLiteを含む依存関係をインストールし、セッションライフサイクル管理用のフックを設定し、最初のセッションでワーカーサービスを自動起動します。

claude-mem from the claude code plugin marketplace

ソースからの高度なインストール

開発またはテストのために、GitHub上のソースからクローンしてビルドしてください。

git clone https://github.com/thedotmack/claude-mem.git
cd claude-mem
npm install
npm run build
npm run worker:start

このアプローチは、プラグインを変更したり、Endless Modeなどのベータ機能を実行したりする必要がある場合に便利です。

claude-mem on github

インストール後の検証

インストール後、すべてが機能していることを確認してください。

cat plugin/hooks/hooks.json
curl http://localhost:37777/api/health
npm run worker:logs

新しいClaude Codeセッションを開始してコンテキスト取得をテストします。初期プロンプトで以前のセッションからのコンテキストが自動的に読み込まれるはずです。

データストレージと設定

Claude-memは、すべてのデータを~/.claude-mem/にローカルに保存します。

デフォルトのデータディレクトリは環境変数で上書きできます。

export CLAUDE_MEM_DATA_DIR=/custom/path

設定オプション

設定は~/.claude-mem/settings.jsonで管理されます(初回実行時に自動作成)。主要な設定には以下が含まれます。

Claude-memがコンテキストをキャプチャし処理する方法

claude-memを有効にしてClaude Codeを使用すると、システムはすべてのツール呼び出しを自動的にキャプチャします。Claudeがファイルを読み込んだり、bashコマンドを実行したり、globパターンで検索したり、コードを編集したりするたびに、claude-memはその入力と出力を監視します。

ワーカーサービスはこれらの観測結果を処理し、以下の情報を抽出します。

この圧縮は手動介入なしに自動的に行われます。生のツール出力は5,000トークンになることがありますが、データベースに保存される意味的な観測結果は約500トークンであり、ノイズを排除しながら意味を保持します。

セッションの要約

Claudeが応答を終えたとき(Stopフックがトリガーされたとき)、claude-memはセッションの要約を自動的に生成します。これには以下の情報が含まれます。

これらの要約は、個々の観測結果とともに将来のセッションに注入され、詳細な情報と高レベルのナラティブコンテキストの両方を提供します。

MCP検索ツールを使用して記憶を照会する

Claude-memは、トークン効率の高い3層ワークフローパターンに従う4つのMCPツールを公開しています。この設計は、トークン使用量を最小限に抑えながら関連性を最大化し、コンテキストを段階的に取得します。

3層ワークフロー

  1. search: IDを含むコンパクトなインデックスを取得(結果あたり約50-100トークン)
  2. timeline: 興味深い結果の周辺の時系列コンテキストを取得
  3. get_observations: フィルタリングされたIDのみの完全な詳細を取得(結果あたり約500-1,000トークン)

このアプローチは、完全な詳細を取得する前にフィルタリングすることで、約10倍のトークン節約を実現します。

利用可能なMCPツール

  1. search: 全文検索クエリでメモリインデックスを検索します。タイプ、日付、またはプロジェクトでフィルタリングできます。
  2. timeline: 特定の観測またはクエリに関する時系列コンテキストを取得します。特定の決定やバグ修正に至った経緯を理解するのに役立ちます。
  3. get_observations: IDで完全な観測詳細を取得します。オーバーヘッドを最小限に抑えるために、常に複数のIDを単一の呼び出しでバッチ処理してください。
  4. __IMPORTANT: Claudeがメモリシステムを効果的に使用する方法を説明する、常に表示されるワークフロー文書。

使用パターン例

特定のバグ修正を見つける:

// ステップ1: バグを検索
search(query="authentication bug", type="bugfix", limit=10)

// ステップ2: インデックスを確認し、関連するIDを特定(例: #123, #456)

// ステップ3: 関連する観測結果の完全な詳細を取得
get_observations(ids=[123, 456])

最近のアーキテクチャ上の決定を調査する:

search(query="database schema", type="decision", limit=5)

特定のファイルに関連するすべてを見つける:

search(query="worker-service.ts", limit=20)

自然言語クエリ

プロジェクトの履歴についてClaudeに自然に質問できます。

Claudeは適切なMCPツールを自動的に呼び出して関連するコンテキストを取得し、特定の観測結果を参照するclaude-mem:// URI引用付きで結果を提示します。

フォルダーコンテキストファイルとCLAUDE.mdの自動生成

Claude-memは、プロジェクトフォルダー内にCLAUDE.mdファイルを自動生成し、グローバルメモリデータベースを補完するアクティビティタイムラインを作成します。

フォルダーコンテキストの仕組み

フォルダー内のファイルを操作するとき、claude-memは以下の処理を行います。

  1. 触れられたファイルから一意のフォルダーパスを特定する
  2. 各フォルダーに関連する最近の観測結果を照会する
  3. フォーマットされたアクティビティのタイムラインを生成する
  4. そのフォルダーのCLAUDE.mdに(<claude-mem-context>タグ内に)書き込む

各フォルダーのCLAUDE.mdには、観測ID、タイムスタンプ、タイプインジケータ(バグ修正、機能、発見)、簡単なタイトル、および推定トークン数を示す「最近のアクティビティ」セクションが含まれています。

ユーザーコンテンツの保存

自動生成されたコンテンツは<claude-mem-context>タグで囲まれています。これらのタグの外に記述したコンテンツは、ファイルが再生成されても保持されます。これにより、以下のことが可能になります。

CLAUDE.mdの例の構造:

# Authentication Module

This folder contains all authentication-related code.
Follow the established patterns for new auth providers.

<claude-mem-context>
# Recent Activity

| ID | Time | Type | Title | Tokens |
|----|------|------|-------|--------|
| #1234 | 4:30 PM | 🔵 | Implemented user authentication | ~250 |
| #1235 | 4:45 PM | 🔴 | Fixed login redirect bug | ~180 |
</claude-mem-context>

## Manual Notes

- OAuth providers go in /providers/
- Session handling uses Redis

プライバシー制御とセキュリティ

Claude-memは、機密データがメモリシステムに入り込むのを防ぐためのきめ細かなプライバシー制御を提供します。

プライベートコンテンツタグ

機密コンテンツを<private>タグで囲むことで、ストレージから除外できます。

<private>
API_KEY=sk-live-abc123xyz789
DATABASE_PASSWORD=supersecret456
</private>

エッジ処理により、プライベートコンテンツがデータベースに到達することはありません。これは、APIキー、資格情報、および独自のロジックにとって重要です。

デュアルタグプライバシーシステム

Claude-memはデュアルタグアプローチを使用しています。

WebビューアUIとリアルタイム監視

Claude-memは、リアルタイムのメモリストリーム視覚化のためにhttp://localhost:37777でウェブビューアを実行します。このインターフェースは以下を表示します。

このUIは基本的な使用にはオプションですが、claude-memが何をキャプチャし、どのように開発履歴を整理しているかを理解するには非常に貴重です。

ベータ機能:エンドレスモード

ベータチャネルでは、拡張セッション向けの生物模倣型メモリアーキテクチャであるエンドレスモードが提供されます。50回のツール使用後にコンテキストの制限に達する代わりに、エンドレスモードは約1,000回の使用を約束します。これは20倍の増加です。これは、ツール出力をリアルタイムで圧縮することで、トークンを約95%削減し、スケーリングをO(N²)の二次関数からO(N)の線形関数に変更することで実現されます。

トレードオフ: 観測結果の生成には、ツール呼び出しあたり60〜90秒が追加されます。数日または数週間にわたる深く思慮深いコーディングセッションの場合、この遅延は許容されるかもしれません。しかし、高速なツール使用の場合、これは prohibitive(実行不可能)になる可能性があります。

ベータ機能は、ウェブビューアUI(http://localhost:37777 → 設定 → バージョンチャネル)から有効にできます。

よくある問題のトラブルシューティング

ワーカーサービスが起動しない

ワーカーがポート37777で起動しない場合:

lsof -i :37777
export CLAUDE_MEM_WORKER_PORT=8080
bun plugin/scripts/worker-service.cjs

メモリが保存されない

Claudeが以前のセッションを記憶していない場合:

npm run worker:status
ls -la ~/.claude-mem/claude-mem.db
npm run worker:logs

コンテキスト注入の問題

セッション開始時にコンテキストが多すぎる、または少なすぎる場合:

観測制限を調整してください:

export CLAUDE_MEM_CONTEXT_OBSERVATIONS=10  # 減らす
export CLAUDE_MEM_CONTEXT_OBSERVATIONS=100 # 増やす

空のCLAUDE.mdファイル

claude-memがプロジェクト全体に空のCLAUDE.mdファイルを生成する場合、これはv9.0.5の既知の問題です。現在の回避策としては、手動で作成されたディレクトリを削除する、.gitignoreにパターンを追加する、または次期リリースでの修正を待つことが挙げられます。

Claude Desktopとの統合

Claude-memはMCPサーバー設定を通じてClaude Desktopと連携します。mcp-searchサーバーをClaude Desktopの設定に追加し、claude-memインストールのMCPサーバースクリプトを指し示し、Claude Desktopを再起動します。

設定が完了したら、過去の作業について自然に質問できます。

メモリがキャプチャされていることを確認するには、localhost:37777のウェブビューアを使用し、接続に失敗した場合はClaude Desktopのログを確認してください。

claude desktop

手動ワーカー管理コマンド

claude-memディレクトリから、ワーカーサービスを管理できます。

npm run worker:start    # ワーカーサービスを開始
npm run worker:stop     # ワーカーサービスを停止
npm run worker:restart  # ワーカーサービスを再起動
npm run worker:logs     # ワーカーログを表示
npm run worker:status   # ワーカーの状態を確認

結論

Claude-memは、Claude Codeをステートレスなアシスタントから、時間とともにコードベースに関する知識を蓄積する永続的な開発パートナーへと変革します。ツール使用を自動的にキャプチャし、観測結果を検索可能な記憶に圧縮し、関連するコンテキストをインテリジェントに取得することで、AIアシスト開発を遅らせる反復的なコンテキスト構築作業を排除します。

このシステムのプログレッシブ開示アーキテクチャ(MCPツールによる階層型取得、フォルダーベースのCLAUDE.mdファイル、およびプライバシー制御)は、手動でのコンテキスト管理と比較して約10倍のトークン効率を提供し、データの完全な局所性とセキュリティを維持します。

Claude-memを強化したワークフローでAPIを構築したり外部サービスを操作したりする際は、Apidogでテストを効率化してください。Apidogは、視覚的なAPIテスト、自動ドキュメント生成、および永続的なメモリ設定を補完するコラボレーティブなデバッグ機能を提供します。

button

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる