本網站為獨立社群專案,與 OpenClaw 官方無任何關聯。內容僅供參考。 了解更多

翻譯文件

本頁為社群翻譯版本,可能與官方最新內容有出入。 查看官方英文原文 →

工作階段修剪

OpenClaw 的工作階段修剪機制,用於在 LLM 呼叫前移除過時的工具結果,最佳化成本與快取效率。

核心功能

工作階段修剪會在 LLM 呼叫前從記憶體中的上下文移除過時的工具結果,而不會變更永久的工作階段歷史檔案。此功能最佳化 Anthropic 模型的成本與快取行為。

啟用條件

mode: "cache-ttl" 已啟用且該工作階段的上一次 Anthropic API 呼叫超過 TTL 閾值時,修剪便會生效。此功能僅影響該特定請求中發送的訊息,且僅適用於 Anthropic API 呼叫(以及 OpenRouter 的 Anthropic 模型)。

修剪策略

此過程區分兩種方式:

  • 軟修剪(Soft-trim):壓縮過大的結果,保留開頭與結尾部分
  • 硬清除(Hard-clear):將整個工具結果替換為佔位字串

使用者與助手訊息始終受保護;僅 toolResult 訊息可被移除,包含圖片區塊的訊息除外。預設會保護最後 3 則助手訊息。

預設設定

系統會自動為 OAuth 和 API 金鑰設定檔啟用 TTL 感知修剪。預設設定包括:

  • 5 分鐘 TTL
  • 保護最後 3 則助手訊息
  • 50,000 字元的最低閾值,超過後才啟動修剪

成本效益

修剪會在 TTL 過期後的首次請求中減少 cacheWrite 大小。這可防止在閒置後恢復工作階段時,對完整對話歷史進行昂貴的重新快取。系統在修剪後會重置 TTL 視窗,讓後續請求能利用新快取的內容。

設定選項

使用者可透過允許/拒絕模式搭配萬用字元支援,將修剪限制在特定工具上,實現對哪些輸出進行修剪的精細控制。

提示: 修剪與 compaction 不同。修剪僅在每次請求時於記憶體中移除工具結果,而 compaction 會摘要並持久化至 JSONL。詳見 Compaction