メモリツールは現在ベータ版です。有効にするには、APIリクエストでベータヘッダー
context-management-2025-06-27
を使用してください。この機能についてのフィードバックをフィードバックフォームを通じてお聞かせください。使用例
- 複数のエージェント実行にわたってプロジェクトコンテキストを維持
- 過去のやり取り、決定、フィードバックから学習
- 時間をかけて知識ベースを構築
- Claudeが繰り返しワークフローで改善する会話間学習を可能にする
動作原理
有効にすると、Claudeはタスクを開始する前に自動的にメモリディレクトリをチェックします。Claudeは/memories
ディレクトリ内でファイルを作成、読み取り、更新、削除して作業中に学んだことを保存し、将来の会話でそれらのメモリを参照して類似のタスクをより効果的に処理したり、中断したところから再開したりできます。
これはクライアントサイドツールなので、Claudeはメモリ操作を実行するためにツール呼び出しを行い、アプリケーションがそれらの操作をローカルで実行します。これにより、メモリがどこにどのように保存されるかを完全に制御できます。セキュリティのため、すべてのメモリ操作を/memories
ディレクトリに制限する必要があります。
例:メモリツール呼び出しの動作
Claudeにタスクの支援を求めると、Claudeは自動的に最初にメモリディレクトリをチェックします。典型的なやり取りは次のようになります: 1. ユーザーリクエスト:サポートされているモデル
メモリツールは以下で利用可能です:- Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929
) - Claude Sonnet 4 (
claude-sonnet-4-20250514
) - Claude Opus 4.1 (
claude-opus-4-1-20250805
) - Claude Opus 4 (
claude-opus-4-20250514
)
はじめに
メモリツールを使用するには:- APIリクエストにベータヘッダー
context-management-2025-06-27
を含める - リクエストにメモリツールを追加
- メモリ操作のクライアントサイドハンドラーを実装
アプリケーションでメモリツール操作を処理するには、各メモリコマンドのハンドラーを実装する必要があります。SDKはツールインターフェースを処理するメモリツールヘルパーを提供しています—
BetaAbstractMemoryTool
(Python)をサブクラス化するか、betaMemoryTool
(TypeScript)を使用して独自のメモリバックエンド(ファイルベース、データベース、クラウドストレージ、暗号化ファイルなど)を実装できます。実用的な例については、以下を参照してください:- Python: examples/memory/basic.py
- TypeScript: examples/tools-helpers-memory.ts
基本的な使用法
ツールコマンド
クライアントサイド実装では、これらのメモリツールコマンドを処理する必要があります:view
オプションの行範囲でディレクトリの内容またはファイルの内容を表示:create
ファイルを作成または上書き:str_replace
ファイル内のテキストを置換:insert
特定の行にテキストを挿入:delete
ファイルまたはディレクトリを削除:rename
ファイル/ディレクトリの名前を変更または移動:プロンプトガイダンス
メモリツールが含まれている場合、システムプロンプトに次の指示を自動的に含めます:注意:メモリフォルダを編集する際は、常にその内容を最新で一貫性があり整理された状態に保つようにしてください。もはや関連性のないファイルは名前を変更したり削除したりできます。必要でない限り新しいファイルを作成しないでください。Claudeがメモリに書き込む内容をガイドすることもできます。例:「メモリシステムには<トピック>に関連する情報のみを書き留めてください。」
セキュリティ上の考慮事項
メモリストアを実装する際の重要なセキュリティ上の懸念事項は次のとおりです:機密情報
Claudeは通常、メモリファイルに機密情報を書き込むことを拒否します。ただし、潜在的に機密性の高い情報を除去するより厳格な検証を実装することをお勧めします。ファイルストレージサイズ
メモリファイルのサイズを追跡し、ファイルが大きくなりすぎることを防ぐことを検討してください。メモリ読み取りコマンドが返すことができる最大文字数を追加し、Claudeが内容をページ分割できるようにすることを検討してください。メモリの有効期限
長期間アクセスされていないメモリファイルを定期的にクリアすることを検討してください。パストラバーサル保護
悪意のあるパス入力は、
/memories
ディレクトリ外のファイルにアクセスしようとする可能性があります。実装では、ディレクトリトラバーサル攻撃を防ぐためにすべてのパスを検証する必要があります。- すべてのパスが
/memories
で始まることを検証 - パスを正規形式に解決し、メモリディレクトリ内に留まることを確認
../
、..\\
、またはその他のトラバーサルパターンを含むパスを拒否- URL エンコードされたトラバーサルシーケンス(
%2e%2e%2f
)に注意 - 言語の組み込みパスセキュリティユーティリティを使用(例:Pythonの
pathlib.Path.resolve()
とrelative_to()
)