Memory
エージェントメモリの自動蓄積と活用
概要
エージェントメモリは、セッション終了時に会話内容からナレッジを自動抽出し、 次回以降のセッションに注入する仕組みです。 ユーザーの好み、フィードバック、プロジェクトの文脈、学習パターンなどが 会話を重ねるごとに蓄積されていきます。
メモリの種類
| タイプ | 説明 |
|---|---|
user | ユーザーの役割・専門性・好みに関する情報 |
feedback | ユーザーからの修正指示や作業方針のフィードバック |
project | プロジェクトの意思決定やコンテキスト |
reference | 外部リソースやシステムへのポインター |
learned | エージェントが学習したパターンや知識 |
ストレージ設定
| モード | 保存先 | 用途 |
|---|---|---|
| shared | .claude/agents/{name}.memory/ | プロジェクト内に保存。Gitで共有可能 |
| private | ~/.claude/agent-memory/{project-slug}/ | ローカルのみ。個人的なフィードバックなどに |
エージェントの frontmatter で memory: shared または memory: private で設定します。memory: false でメモリを無効化できます。
自動抽出の仕組み
- セッション終了時、Claude Codeが出力するJSONLトランスクリプト(
~/.claude/projects/配下)を読み取ります - 前回抽出済みの位置(オフセット)以降の新しいメッセージを取得します。 オフセットは
.extraction_offsets.jsonで管理されます - 会話内容をClaude(Sonnetモデル)に渡し、メモリとして保存すべき知識を抽出します
- 抽出されたメモリは個別の .md ファイルとして保存され、MEMORY.md インデックスが更新されます
JSONLが利用できない場合は、シェルの出力テキストからフォールバック抽出が行われます (ANSI エスケープシーケンスを除去後、最低500文字以上必要)。
メモリファイルの形式
--- name: feedback_testing_approach description: テスト時にモックDBを使わない方針 type: feedback createdAt: 2025-03-15T10:30:00Z updatedAt: 2025-03-15T10:30:00Z pinned: true --- 統合テストでは実データベースを使用し、モックは使わない。 理由: モックとプロダクションの乖離でバグを見逃した過去がある。
セッションへの注入
セッション起動時、メモリは --append-system-prompt フラグで注入されます。 注入ルール:
- ピン留めメモリは常に注入されます
- 残りのスロットは
updatedAtが新しい順に埋められます - 注入上限はエージェントの
memoryLimitで制御(デフォルト: 20件) - 注入されたメモリは
<agent-memory>タグで囲まれます
手動管理


インスペクターのメモリセクションでは以下の操作が可能です:
- ON/OFFトグル — メモリ機能の有効/無効切り替え
- ストレージ切り替え — shared / private の選択(プロジェクトスコープのエージェントのみ)
- 注入上限の設定 — 1〜100件で調整
- ピン留め — 重要なメモリをピン留めして常に注入
- 編集 — メモリをクリックして名前・タイプ・説明・内容を編集
- 削除 — 不要なメモリをファイルごと削除
メモリ一覧はピン留め → 更新日時順で表示され、初期表示は5件です。「もっと見る」ボタンで全件を展開できます。