setup drift 和 context 膨脹,才是 OpenClaw 帳單裡最大的隱形成本
r/openclaw 最近出現兩篇很有代表性的討論,讀完覺得可以整理一下,因為這兩個案例其實反映的是完全不同的問題,但很多人在遇到帳單壓力時,容易把它們混成同一件事。
第一篇是有人抱怨用 OpenClaw 搭 Claude API 很貴。評論區裡幾個人的補充比原文更值得看。核心問題是:OpenClaw 的 chat harness 本身就會帶大量 context,Claude 的 context window 是 200k,但帶越多就燒越多。如果 session 不乾淨、知識都堆在上下文裡、什麼任務都丟給大模型,token 會浪費得很誇張。評論裡有人建議把知識改放到 lossless-claw 或 wiki 等可檢索位置,把重複性任務分給更便宜的模型,調低 thinking intensity。這些建議方向是對的。
第二篇是一位非技術背景的用戶用了 managed hosting,原本期待 persistent memory 跟 agent action 開箱即用,結果 agent 不斷忘記自己在 managed instance 上、一直給出錯誤的環境設定指令,兩天都卡在登入。他估算大概花了約 300 美元加上一個半月,最後放棄了。
這兩個案例代表兩種性質不同的成本來源。
第一種是模型費,也就是 token 消耗本身。Claude API 計費看 input 加 output tokens,單次 session 如果 context 精簡、任務明確,這個費用其實是可以預測和控制的。
第二種我自己叫它「workflow 設計費」。你的 session 裡有多少背景資訊是每次都被重新塞進去的?有沒有把應該放在 skills 或文件的知識改成每次都堆 context?有沒有把可以用輕量模型處理的事情都丟給 Opus?這些選擇都會反映在帳單上,但根源不是 Claude 貴,是設計讓它貴。從 SRE 的角度來看,context 膨脹跟 memory leak 有點像,初期很難察覺,等你發現 token 消耗暴增才回頭找,問題往往已經很久了。
setup drift 又是另一回事。第二篇那位用戶的困境不是單一 bug,是預期和實際環境之間的落差在持續累積。managed instance 跟自己在 Hetzner 上跑 Ubuntu、或者用 Tailscale 接自己的機器、或者透過 OpenRouter 跑不同模型,這些環境的行為差異很大。如果 agent 在 SOUL 或 skills 裡沒有明確的環境描述,它會一直猜自己在哪裡,然後一直給出不適用的指令。兩天卡在 setup,根本原因是環境文件沒有寫清楚,不是模型不夠聰明。
要注意的是,這兩個問題的解法完全不同,混著處理沒有用。如果問題是模型費,要解的是 context 設計:知識外置、任務分流、降低 thinking intensity。如果問題是 setup drift,要解的是環境描述:在 SOUL.md 或 AGENTS.md 裡明確說明這個 agent 在什麼環境上跑、有哪些限制,讓它每次啟動都能校準自己。
我看過很多人換了模型或調低 context 限制,但 setup drift 沒解,agent 繼續在環境猜錯的情況下重試,結果 token 繼續白白消耗在無效的嘗試上。
另外補充兩個可以用來自我診斷的指標:一是單次 session 的平均 input token 數,二是 agent 重試同一個任務的頻率。前者高代表 context 設計有問題,後者高代表環境描述或任務拆分有問題。這兩個比光看帳單總額更有診斷價值,可以更快定位到真正的問題在哪。
作者:承翰