memory-patterns
mem0の統合パターン — メモリの使い分け、フック型の自動キャプチャ、スコープ戦略、およびエージェントタイプ別の実装例
description の原文を見る
mem0 integration patterns — when to use memory, hook-based auto-capture, scoping strategy, and practical examples per agent type
SKILL.md 本文
永続的なメモリを扱う際、またはメモリ自動化を設定する際にこのスキルを読み込んでください。
概要
mem0 は MCP サーバを通じてセッション間での永続的なメモリを提供します。メモリはすべてのエージェント間で共有され(デフォルトでは user_id スコープ)、コンテキスト圧縮、セッション再開、さらにはプロジェクト切り替え後も保持されます。
メモリの使用時機
プロアクティブなメモリ使用(推奨)
セッション間で永続化すべき情報を保存します:
- アーキテクチャ上の決定と根拠(選択肢の再説明を防止)
- ユーザー設定(会話中に発見されたコード スタイル、命名規則)
- プロジェクト固有のパターン(テスト構造、デプロイメント プロセス)
- 再発する問題への有効な解決策
- パフォーマンスの観察(どのモデルがどのタスクに最適か)
リアクティブなメモリ使用
以下の場合にメモリを検索します:
- ユーザーが「X について何を決定しましたか?」と質問する
- 既存プロジェクトに取り組みを開始する
- 再発する質問やパターンに気付く
- アーキテクチャ変更を提案する前(過去の決定を確認)
フック ベースの自動キャプチャ
フックを使用して重要なポイントでメモリを自動的にキャプチャします。.claude/hooks/examples/ に参照実装が用意されています(コピーしてカスタマイズしてください)。
PostToolUse パターン - コード スタイルのキャプチャ
Edit/Write 操作後、コード スタイルの設定を抽出します:
PostToolUse:
- matcher: "Edit|Write"
hooks:
- type: command
command: "$CLAUDE_PROJECT_DIR/.claude/hooks/examples/capture-code-style.sh"
キャプチャする内容:
- インデント設定(タブとスペース)
- インポート整理のパターン
- 観察された命名規則
- テストパターン
PreCompact パターン - 重要なコンテキストの保持
コンテキスト圧縮前に、失われるべき重要な情報を保存します:
PreCompact:
- hooks:
- type: command
command: "$CLAUDE_PROJECT_DIR/.claude/hooks/examples/preserve-context.sh"
キャプチャする内容:
- 現在のセッションからの主要なアーキテクチャ決定
- フォローアップのためにフラグされた未解決の問題
- 発見されたパフォーマンス インサイト
- 表現されたユーザー設定
SessionEnd パターン - セッション サマリー
セッション終了時に、検索可能なサマリーを作成します:
SessionEnd:
- hooks:
- type: command
command: "$CLAUDE_PROJECT_DIR/.claude/hooks/examples/session-summary.sh"
キャプチャする内容:
- 完了したタスク
- 下した決定
- 解決した問題
- 観察されたパターン
Stop パターン - 会話インサイト
各エージェント応答後、必要に応じてインサイトを抽出します:
Stop:
- hooks:
- type: command
command: "$CLAUDE_PROJECT_DIR/.claude/hooks/examples/conversation-insights.sh"
控えめに使用してください - 頻繁に実行されます。最適な用途:
- 高価値なアーキテクチャ議論
- エージェント パフォーマンスに関するユーザー フィードバック
- 明示的な設定ステートメント
メモリ スコープ戦略
デフォルト スコープ: user_id(すべてのエージェント間で共有)
# メモリを追加(すべてのエージェントに表示)
mem0_add_memory(
text="User prefers functional components over class components in React",
user_id="default" # エージェント間で共有
)
# メモリを検索(すべてのエージェントがこれを見つけられます)
mem0_search_memories(
query="React component preferences"
)
agent_id スコープを使用する場合:
- エージェント固有のパフォーマンス データ
- エージェント固有の学習動作
- エージェント メモリを明示的に分離する場合
# エージェント固有のメモリ
mem0_add_memory(
text="@llm-engineer: qwen3:4b performs better than llama3.3:8b for structured output on this project",
agent_id="llm-engineer"
)
メモリの衛生管理
削除すべき場合:
- 古いアーキテクチャ決定(旧版をマーク、新版を保存)
- 廃止された設定(ユーザーが考えを変えた)
- プロジェクト終了時のプロジェクト固有メモリ
# 古いメモリをクリーンアップ
mem0_delete_all_memories(user_id="default") # 全削除
mem0_delete_memory(memory_id="specific_id") # 特定削除
更新すべき場合:
- 既存の設定を洗練する
- 誤解されたパターンを修正する
mem0_update_memory(
memory_id="abc123",
text="Updated: User prefers 88-char line length (not 80)"
)
エージェント固有のパターン
@architect
保存: アーキテクチャ決定、設計トレードオフ、リファクタリング戦略 検索: 大規模な構造変更を提案する前 例: 「パフォーマンス コストにもかかわらず保守性のため SQLAlchemy を選択した」
@llm-engineer
保存: モデル パフォーマンスの観察、効果的なプロンプト パターン、プロバイダーの特性 検索: モデルを選択またはプロンプトを設計する前 例: 「小規模モデル(4B)は制約付き生成による構造化出力で 8B を上回る」
@prompt-engineer
保存: 成功したプロンプト テンプレート、機能した少数ショット例 検索: 同様のタスク用に新しいプロンプトを設計する際 例: 「チェーン・オブ・ソート プロンプティングはこのタスクで小規模モデルのハルシネーション を削減する」
@security-reviewer
保存: コードベースで見つかったセキュリティ パターン、発見された脆弱性、適用された修正 検索: 同様のコードを監査する前 例: 「このプロジェクトはパスワード ハッシング用に bcrypt ではなく cryptography ライブラリを使用」
@github-ops
保存: PR マージ パターン、チーム レビュアー設定、CI/CD の特性 検索: PR またはリリースを作成する前 例: 「チームはスカッシュ マージを好む、API 変更は常に @reviewer-name をタグ付け」
@frontend-dev
保存: UI/UX 決定、ユーザー フィードバック、コンポーネント パターン 検索: 同様の UI 機能を実装する前 例: 「ユーザーは不定形操作にプログレス バーではなくスピナーを好む」
アンチパターン
❌ 一時的な状態を保存しない(現在のファイル内容、一時変数) ❌ 既に AGENTS.md またはプロジェクト ドキュメントにある情報を複製しない ❌ 頻繁に保存しない(ノイズが生じるため、代わりに PreCompact を使用) ❌ 検索を忘れない 類似情報を保存する前 ✅ コンテキスト付きで決定を保存する(何だけではなく、なぜ) ✅ 説明的なメモリ テキストを使用する(検索可能で具体的) ✅ 定期的にメモリを見直す(古い情報を削除)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- pvliesdonk
- リポジトリ
- pvliesdonk/agents.md
- ライセンス
- MIT
- 最終更新
- 2026/3/21
Source: https://github.com/pvliesdonk/agents.md / ライセンス: MIT