クロード・コード セッション・メモリー
セッション・メモリーは各クロード・コード・セッションを要約し、次回プロジェクトを開いたときに関連するセッションをリロードする。Ctrl+Oで展開する。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。
問題:新しいClaude Codeセッションを起動し、最初の5分間を使って昨日構築した内容を振り返る。認証フローは完了している。データベーススキーマも選定済みだ。APIの形状も決定済みだ。しかし、そのどれもがモデルの頭の中にはない。
即効策:設定で「Session Memory」がすでに有効になっているか確認する。Claude Codeが起動したら、ターミナルで次のような行が表示されるか確認する:
Recalled 3 memories (ctrl+o to expand)
この行が表示されていれば、このプロジェクトの以前の作業の要約が自動的に読み込まれている。ctrl+o を実行すれば、具体的に何が読み込まれたかを確認できる。まだこの行が表示されない場合は、このガイドの残りの部分で、この機能がいつ、どのように有効になるかを説明する。
セッションメモリとは何か
セッションメモリを、バックグラウンドで働く事務員のようなものと考えてほしい。セッションのたびに自動的に動作し、何が起きているかに注意を払い、会話の中から有用な部分を抽出し、構造化された要約としてディスクに書き留める。CLAUDE.mdはその逆だ。CLAUDE.mdは手作業で作成・管理する。セッションメモリはユーザーからの操作を一切必要としない。
動作していることを示す2種類のターミナルメッセージがある:
- セッションの開始時に**「Recalled X memories」**と表示される。同じプロジェクトにおける以前の作業の要約が、Claudeのコンテキストに読み込まれたばかりだ。
- 作業中に**「X件の記憶を書き込んだ」**と表示される。これは、現在のセッションの最新スナップショットが保存されたことを示す。
どちらの行にも(ctrl+o to expand)が付随するため、呼び出されたものや書き込まれたものを開くことができる。
内部の仕組み
開くセッションごとに、バックグラウンドプロセスがセッションメモリを処理する。その仕組みを理解しておく価値がある。
保存場所
サマリーは構造化されたマークダウンファイルとして保存され、セッションごとに1つずつ、予測可能なパスに配置される:
~/.claude/projects/<project-hash>/<session-id>/session-memory/summary.md
各セッションには独自のフォルダが割り当てられ、その中に独自のサマリーが保存される。フォルダは時間の経過とともに蓄積され、特定のプロジェクト内で取り組んだすべての作業の軌跡を形成する。
抽出の頻度
メッセージごとに保存が行われるわけではない。スケジュールは意図的に設定されている:
- 初回抽出:会話が約10,000トークンに達した時点でトリガーされる
- その後の更新:約5,000トークンごと、またはツール呼び出し3回ごとに、いずれか早い方
このリズムにより、要約は有用な状態を保ち、些細なやり取りによる計算負荷を抑える。5分間のタイプミス修正ではほとんど何も得られない。一方、深いアーキテクチャの議論からは多くの成果が得られる。
セッション横断的な参照
新しいセッションを開始すると、Claudeは関連する過去の要約を文脈に合わせて表示する。各要約には「現在のタスクとは関係がない可能性がある過去のセッションからのもの」という注記が付いている。Claudeはこれらを従うべき指示ではなく、背景情報として読み込む。
このタグ付けは重要だ。3週間前に下した決定が、絶対的なルールとして戻ってくることはない。陳腐な選択肢に縛られることなく、継続性を確保できるのだ。
何が記憶されるか
すべての要約は同じ形式に従う:
- セッションタイトル:取り組んだ内容の自動生成された説明(例:「ロールベースのアクセス制御を備えたユーザーダッシュボードの実装」)
- 現在の状況:完了した項目、議論点、未解決の課題
- 主な成果:重要な成果、下された決定、選択されたパターン
- 作業ログ:セッション中に実施されたアクションの時系列記録
要約は、メッセージを逐語的に再現するものではなく、_何_が成し遂げられたか、そして_なぜ_そうしたかを網羅するものだ。要点を凝縮することが肝心である。何時間にも及ぶ作業が、Claudeがほぼ瞬時に取り込めるような、焦点の絞られた要約へと凝縮される。
/remember コマンド
セッションメモリには生の履歴が保存される。/rememberコマンドは、その履歴を永続的なプロジェクトの知見へと変換するものだ。
/rememberを実行すると、Claudeは上記のパスにあるセッション要約を順に確認し、セッション間で繰り返し現れるパターンを探し出し、CLAUDE.local.mdへの更新案を作成する。追加される内容は、書き込まれる前にあなたが最終決定権を持つ。
例えば、3つのセッションにわたり、あなたが「APIのルートではなく、常にサーバーアクションを使用する」という同じルールを繰り返し調整していることにClaudeが気づいたとする。/rememberはその行を、恒久的な記憶に保存すべき適切な対象としてフラグを立てる。それがCLAUDE.local.mdに保存されると、次のセッションの最初のメッセージからそのパターンをClaudeが自動的に認識し、修正の必要はなくなる。
これは、自動的な記憶と意図的な設定の間の引き継ぎと考えるといい。
即時圧縮
セッションメモリが存在する前は、/compactを実行すると最大2分間のデッドタイムが発生していた。Claudeは会話全体を読み直し、その場で手動で要約を作成していたのだ。今では/compactは即座に返答する。
その理由は、要約がすでにディスク上に存在しているからだ。コンパクションは、一から新しい要約を作成する必要がなくなった。最新の要約を取得し、新しいコンテキストウィンドウに読み込み、すぐに制御をユーザーに返す。その結果、コンテキストのワークフローはより高速かつ予測可能になる。
この違いは、長時間のセッションにおいて最も重要だ。コンテキストの80%で発生する一時停止を恐れる代わりに、気まぐれにコンパクションを行える。要約は常に準備されている。
利用可能性と要件
Session Memoryは、Anthropicの自社サービスであるAPIで提供される。Claude CodeがClaude ProまたはMaxのサブスクリプションを通じてモデルと通信している場合、この機能はデフォルトで有効になっている。
利用状況について知っておくべき点:
- API プロバイダー:Bedrock、Vertex、FoundryのユーザーはSession Memoryを利用できない。この機能にはAnthropicのネイティブAPIインフラストラクチャが必要だ。
- 機能の制御: Session Memoryは、
tengu_session_memoryのStatsig機能フラグによって制御されている。関連するフラグであるtengu_sm_compactは、即時圧縮動作を有効にする。 - タイムライン:基盤となるシステムは、2025年後半のv2.0.64頃から存在していた。目に見えるターミナルメッセージ(「Recalled/Wrote memories」)が顕著になったのは、2026年2月上旬のv2.1.30およびv2.1.31頃である。
サポート対象のプランを利用しているのに、リコールの行が表示されないか? おそらく、アカウントへの適用がまだ完了していない。展開は段階的に行われている。
セッションメモリの操作
保存されたメモリの確認
セッションメモリを直接閲覧する:
# Find your project's memory directory
ls ~/.claude/projects/
# List all sessions for a specific project
ls ~/.claude/projects/<project-hash>/
# Read a specific session's summary
cat ~/.claude/projects/<project-hash>/<session-id>/session-memory/summary.mdキャプチャされる内容を最大化
セッションの構造が明確であればあるほど、生成される要約は充実したものになる:
- 意図を早めに伝える:「Stripeを使って決済連携を構築している」と伝えることで、Claudeに明確なセッションタイトルが与えられる
- 決定事項を明確に要約する:「ポーリングではなくWebhookベースの同期を採用することにした」という記述が重要な成果となる
- Claudeに文書化を依頼する:「今決定したアーキテクチャの決定事項を文書化して」と指示すると、より詳細な抽出が行われる
CLAUDE.mdとの関係を理解する
2つのシステムは異なる役割を担い、互いにうまく連携する:
| 側面 | セッションメモリ | CLAUDE.md |
|---|---|---|
| 作成者 | Claude(自動) | あなた(手動) |
| スコープ | セッションごとのスナップショット | 永続的なプロジェクトルール |
| 優先度 | 背景情報 | 優先度の高い指示 |
| 最適 | 継続性、文脈の想起 | 標準、アーキテクチャ、コマンド |
両方を併用する設定が最も強力だ。自動システムはセッション間の連続性を確保する。CLAUDE.mdは、Claudeが実際に従わなければならないルールを提供する。/rememberコマンドは橋渡し役となり、一方からもう一方へパターンを移行させる。
次のステップ
- 永続的なプロジェクト指示のためのCLAUDE.mdメモリシステムを設定する
- 自動メモリ機能を試して、Claudeにプロジェクトに関する独自のメモを取らせる
- トークン制限内で作業するためのコンテキスト管理戦略を学ぶ
- 高度なセッション間ワークフローのためのコンテキスト管理を探求する
- 本番環境のAIシステムに向けたコンテキストエンジニアリングを理解する
最高の機能とは、気づかなくなるようなものだ。セッションメモリはセッションの背後で動作し、保存すべき部分を捕捉し、次に必要になった時にすぐに利用できるようにしておく。新しいセッションを開けば、Claudeが昨日の作業内容をすでに把握していることに気づくだろう。それが、静かにその役割を果たしている機能なのだ。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。