跳到內容

OpenClaw Token 使用與成本優化指南

開發 AI 應用最頭痛的就是每個月收到帳單時的驚嚇。有時候你只是多聊了幾句,或者讓 AI 讀了幾個大檔案,Context 就會迅速膨脹。如果你不清楚 System Prompt 裡面到底塞了什麼,就很難精確控管成本,甚至會發現明明沒改什麼設定,費用卻越來越高。

要解決這個問題,你需要先搞清楚 OpenClaw 是如何處理 Token 的,以及有哪些內建指令可以幫你監控這些支出。

  • 已安裝並運行的 OpenClaw
  • API Key(若要顯示預估金額)
  • 支援 Prompt Caching 的模型(如 Anthropic 系列)

想在 5 分鐘內掌握你的 Token 用量,可以跟著這幾步走:

  1. 查看現狀:在聊天視窗輸入 /status,你會看到一個資訊豐富的狀態卡,包含模型、Context 使用量與最後一次回覆的估計成本。
  2. 開啟即時監控:輸入 /usage full。這會在每一則回覆下方顯示該次的 Token 用量與費用。
  3. 分析 Context:輸入 /context list 或 /context detail,找出是哪些檔案或 Tool 佔用了空間。
  4. 檢查歷史紀錄:輸入 /usage cost 查看當前 Session 的本地成本統計。

OpenClaw 計算的是 Token 而非字元。對於英文來說,1 個 Token 大約等於 4 個字元。最重要的是,OpenClaw 每次執行都會重新組建 System Prompt,這部分也會佔用你的 Context Window。

System Prompt 包含以下內容:

  • Tool 列表與簡短描述。
  • Skills 列表(僅包含 Metadata,具體指令在需要時才透過 read 載入)。
  • 自動更新指令與運行時 Metadata(Host/OS/模型)。
  • Workspace 檔案:如 AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md 等。

如果你的檔案太大,OpenClaw 會根據 agents.defaults.bootstrapMaxChars(預設 20000)進行截斷。

如果你使用 Anthropic 的模型,善用 Prompt Caching 可以省下不少錢。Cache Read 比 Input Token 便宜得多,但 Cache 有 TTL(生存時間)。如果 Session 閒置太久,Cache 就會失效。

你可以設定 Heartbeat 來維持 Cache 的「熱度」。例如,如果模型 Cache TTL 是 1 小時,你可以將 Heartbeat 設定為 55 分鐘:

agents:
defaults:
model:
primary: "anthropic/claude-opus-4-6"
models:
"anthropic/claude-opus-4-6":
params:
cacheRetention: "long"
heartbeat:
every: "55m"

此外,OpenClaw 支援 Cache-TTL Pruning。當 Cache 過期時,它會主動修剪 Session 並重置 Cache 視窗,讓後續請求重新利用新鮮的緩存,避免重複支付高額的 Cache Write 費用。

  • 定期壓縮:使用 /compact 總結冗長的對話。
  • 精簡 Skills:保持 Skill 描述簡短,因為 Skill 列表會直接注入 Prompt。
  • 處理輸出:在 Workflow 中修剪過大的 Tool 輸出。
  • 模型選擇:進行大量發散式對話時,優先選擇較小的模型。
  • 看不到美金成本? 如果你使用的是 OAuth 認證,系統會隱藏成本資訊。請確保你在 models.providers.<provider>.models[].cost 中正確配置了每 1M Token 的單價。
  • Context 突然暴增? 使用 /context detail 檢查是否有大型檔案被引入。
  • Cache 沒生效? 確認你的模型支援 Prompt Caching,且 cacheRetention 已設定。

如果你需要針對特定的模型配置提供建議,可以詢問 AI Setup Assistant。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。