導讀
一則 GitHub issue 炸翻了整個開發者社群:有人發現,在 Claude Code 裡關閉遙測(telemetry)功能後,原本享有的1 小時 prompt 快取存活時間(TTL)會悄悄退回5 分鐘。34 萬人圍觀,4500 人按讚,開發者們集體崩潰——「你要隱私,就要付出 12 倍的代價。」Anthropic 工程師隨後出面承認了這個現象,但堅稱這不是「懲罰」,而是實驗閘門與預設值耦合的副作用。然而,怒火已經蔓延。
一個開關,悄悄改變了你的成本
故事從一個環境變數開始。
有開發者在使用 Claude Code 時,習慣性地設定了 `DISABLE_TELEMETRY=1`——這是很多注重隱私的工程師的標準操作,沒什麼特別的。
但他們隨後發現,帳單變了。
不是大幅漲價,而是一種更隱蔽的變化:同樣的工作流程,同樣的程式碼庫,中斷後恢復的速度變慢了,配額消耗變快了,長時間的工作階段越來越難維持。
直到有人開始扒本地端的 JSONL 紀錄檔。
Claude Code 會把每次 API 呼叫的詳細資料寫入 `~/.claude/projects/` 目錄。裡面有兩個欄位:
• `usage.cache_creation.ephemeral_1h_input_tokens`
• `usage.cache_creation.ephemeral_5m_input_tokens`
一對比,真相浮出水面。
▲ Can Vardar(34.3 萬次瀏覽,4500 讚):「Claude Code 竟然因為你關閉遙測就懲罰你??」
數據不會說謊:baseline 對比 telemetry-off
社群裡有人直接寫了 Python 腳本來重現這個問題。方法很簡單:分別跑三種設定,然後讀取 JSONL 裡的 token 欄位。
結果如下:
baseline: ttl=60m 1h=8215 5m=0
disable_telemetry: ttl=5m 1h=0 5m=8094
disable_nonessential_traffic: ttl=5m 1h=0 5m=8099
同一個 Claude Code,同一個模型,同一段程式碼。唯一的差別就是那個遙測開關。
1 小時 token 欄位從 8215 直接歸零,5 分鐘 token 欄位從 0 跳到 8094。
這不是感覺,這是可以從本地端檔案裡讀出來的鐵證。
隨後,跨平台的獨立重現接連出現:
• macOS + Claude Code 2.1.104 + Max 方案:重現成功
• macOS + Opus 4.5:重現成功
• Windows/WSL2 + Max 方案:移除 `DISABLE_TELEMETRY=1` 後,新工作階段立刻切回 1 小時
▲ Carlos Villuendas(24.5 萬次瀏覽,2700 讚):「禁用遙測,Anthropic 就把你的快取從 1 小時改成 5 分鐘。你的隱私要付出 12 倍的代價。」
GitHub issue #45381:這不是玄學,這是 bug 回報
這件事真正引爆的轉捩點,是 GitHub 上的 issue #45381。
標題寫得非常直接:
[BUG] Disabling telemetry also disables 1-hour prompt cache TTL
▲ anthropics/claude-code#45381,多位開發者獨立重現,最終被官方關閉並承諾修復
這個 issue 的價值不只是「有人投訴」,而是它把整件事從「我感覺變貴了」升級成了:
一個跨平台、多人可觀察、可從本地端 JSONL 欄位獨立驗證的真實行為。
Anthropic 工程師出面了,但答案讓人更不舒服
issue 提交後,Anthropic 工程師 `bcherny` 出現了。
他的解釋可以概括成幾句話:
「1 小時 prompt 快取很微妙,不是所有請求都該用 1 小時。我們一直在給訂閱用戶測試不同的啟發式策略,目的是提高快取命中率、降低平均 token 使用和延遲。這些策略透過實驗閘門(experiment gates)控制,閘門結果會在客戶端快取。當你關閉遙測時,我們也關閉了實驗閘門,因為這代表『不要回傳資料』。一旦閘門關閉,Claude Code 就回到預設值——而這個預設值是 5 分鐘。」
然後他補了一句:
「Fix going out in the next release!」
▲ Anthropic 工程師 bcherny 在 issue 中承認現象,解釋為實驗閘門與遙測耦合,並承諾下個版本修復
等等。
所以官方的意思是:
1. 我們在做實驗,實驗結果決定你拿到 1 小時還是 5 分鐘
2. 實驗需要遙測才能運作
3. 你關了遙測,實驗閘門也關了
4. 閘門關了,你就拿到預設值 5 分鐘
這個解釋在技術上是自洽的。但它同時也意味著:你的快取收益,從一開始就不是你的權利,而是一個實驗的副產品。
「Silent rug pull」:真正讓開發者崩潰的不是 5 分鐘
Daniel Nguyen 從本地端 119,866 次 API 呼叫紀錄裡,回溯了 2026 年 1 月到 4 月的 TTL 分布狀況。
他發現:2 月到 3 月初,1 小時 TTL 長期占主導。3 月 6-8 日附近,5 分鐘開始大幅反超。
▲ Daniel Nguyen(12.9 萬次瀏覽,1300 讚):實際成本 $78.99,若保持 1 小時 TTL 應為 $37.54,多付 $41.45,浪費 52.5%
Sigrid Jin 用了一個詞:「silent rug pull」(悄悄撤走地毯)。
▲ Sigrid Jin:「悄悄把 Claude Code 快取 TTL 從 1 小時降到 5 分鐘,這是瘋狂的 rug pull」
這個詞擊中了很多人。
因為真正讓開發者憤怒的,不只是「我多花了錢」,而是:
這件事是開發者自己扒 JSONL 才發現的,不是從更新日誌裡讀到的,不是從文件裡提前知道的。
你訂閱了 Max 方案,你以為你知道自己買了什麼。然後有一天,有人告訴你:其實你一直在跑一個實驗,實驗結果決定你拿到什麼,而你從來不知道這件事。
「12 倍」是真的嗎?官方說:沒那麼誇張
X 上傳播最廣的說法是「隱私成本 12 倍」。
Anthropic 工程師直接回應:
「the token savings is nowhere near 12x」
從技術角度看,這個說法確實有誇大成分。1 小時和 5 分鐘的差異取決於具體工作流程:
• 對長時間工作階段、頻繁中斷恢復的重度用戶:影響顯著
• 對 subagent、單次短請求:幾乎沒有差異,甚至 1 小時反而更貴(因為快取寫入成本更高)
但「12 倍」這個數字能傳播,本身就說明了一件事:開發者對這套快取機制的透明度,已經累積了相當多的不信任。
▲ 「privacy costs 12x token」的說法在 X 上迅速擴散
更大的背景:Claude Code 的快取策略一直在變
issue #46829 補上了另一條線索。
Anthropic 工程師 `Jarred-Sumner` 解釋,3 月 6 日附近的變化是「ongoing optimization work」,不是迴歸 bug。團隊會按請求類型選擇 TTL,因為:
• 1 小時寫入比 5 分鐘寫入更貴
• 很多 subagent 請求間隔極短,根本不需要 1 小時
• 對這些請求,5 分鐘反而更省
▲ Anthropic 工程師 Jarred-Sumner:3 月變化是主動優化,不是事故
這個解釋在邏輯上站得住腳。
但它同時也意味著:Anthropic 一直在動態調整你的快取策略,而你不知道。
對 API 按 token 計費的用戶,這可能真的省錢。但對 Max 訂閱用戶,問題不是單價,而是:配額、體驗、以及「我以為我買了什麼」這個根本問題。
結局:issue 已關閉,修復已承諾
好消息是,#45381 已經關閉,官方承諾下個版本修復。
具體方向包括:
• 把某些查詢的客戶端預設值改成 1 小時
• 未來給用戶環境變數強制指定 TTL(1 小時或 5 分鐘)
壞消息是,這件事暴露的問題比一個 bug 更深:
當 AI 程式開發工具越來越黑箱化,當快取策略、實驗閘門、訂閱收益全都在你看不見的地方動態調整,「別信,自己驗」正在成為開發者文化的新常態。
有人已經在寫腳本監控自己的 JSONL 了。
有人已經在問:「還有什麼是我不知道的?」
這不是一個關於 5 分鐘快取的故事。這是一個關於信任的故事。
▲ 事件持續發酵,Mario Nawfal 等大 V 帳號跟進傳播
— END —