記憶工具目前處於測試階段。要啟用它,請在您的 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()
)