![]()
9倍成本差距。這不是優化,是生死線。
Anthropic的Claude Code團隊最近公開了一個內部秘密:他們把「提示緩存命中率」當成產品生命線。這個數字每掉0.1%,工程師群里就會響起警報。不是夸張——他們真的用Wu-Tang Clan的歌詞當團隊 motto:「Cache Rules Everything Around Me」。現金曾經統治一切,現在換成KV張量(Key-Value tensors,模型預填充階段計算出的關鍵中間結果)說了算。
大多數開發者正在無意識地把錢扔進火里。6000 token的系統提示、12個工具定義、15輪對話——如果你命中緩存,賬單是150美元/月;如果你沒命中,1350美元。同樣的功能,9倍價差。沒人告訴你,因為提示緩存被藏得太深,深到連用它的人都不一定知道存在。
緩存到底是什么:給金魚的記憶做手術
每次調用Claude API,系統要組裝一個四層結構的提示:系統提示(角色設定、安全規則)、工具定義(函數簽名和描述)、對話歷史(之前的來回)、用戶新消息。沒有緩存時,Claude像一條金魚——每次都要把前面8000 token的系統提示當成新書從頭讀起,把15個工具定義重新理解一遍,把40輪對話歷史全部重算。
提示緩存做的,就是把「預填充階段」算好的KV張量存下來。這些張量是模型理解提示的「中間筆記」——數學上很重,計算上很貴,但內容完全可復用。下次請求時,如果開頭部分和緩存完全匹配,系統直接調取筆記,只處理新增的那一小段。
結果是:命中緩存,成本降到1/10,延遲砍掉85%。沒命中,全額付費,全額等待。
Claude Code團隊的原話是:「這不是nice-to-have的優化,是load-bearing wall(承重墻)。」拆掉它,整棟房子塌掉。
為什么你一直在「破緩存」
![]()
緩存的匹配規則極其苛刻:必須前綴完全匹配,錯一個字符就失效。這意味著大多數開發者自以為安全的操作,實際上在親手砸自己的緩存。
最常見的自殺行為:動態時間戳。很多人在系統提示里塞了「當前時間是{{timestamp}}」,每次請求都變,緩存永遠命中不了。或者用戶ID、會話ID、隨機數——任何動態注入的前綴內容都是緩存毒藥。
工具定義的順序變動也會破緩存。你以為只是調了下函數排列,Claude看到的卻是完全不同的前綴字符串。對話歷史的截斷策略同理:如果你每次按固定輪數滑動窗口,新對話的開頭永遠在變,緩存鍵跟著變。
一位開發者在Hacker News吐槽:「我花了兩周排查為什么生產環境比測試環境貴8倍,最后發現是測試環境沒開緩存監控。」
Claude Code團隊的監控儀表盤把這個指標放在最顯眼位置。命中率掉0.1%,PagerDuty(運維告警系統)就會響。他們的邏輯很簡單:緩存失效不是成本問題,是產品可用性問題——延遲飆升85%的用戶體驗,等同于服務降級。
怎么不踩坑:把動態內容往后挪
緩存只檢查前綴匹配。這意味著設計提示的核心策略是:靜態內容放前面,動態內容塞后面。
系統提示的主體——角色設定、安全約束、核心知識——應該完全固定。時間戳、用戶上下文、臨時變量,全部移到用戶消息層或單獨的上下文塊。工具定義按固定順序排列,永遠不要動態排序。對話歷史的滑動窗口,考慮從后往前截斷而非從前往后,讓早期輪次保持穩定。
Anthropic的文檔里藏了一個細節:緩存條目存活時間5分鐘,可主動續期。對于長會話,每4分鐘發一個「ping」請求(空消息或輕量調用)就能維持緩存活性。這個設計明顯是為Claude Code這類持續交互場景優化的——IDE里的AI助手不能讓用戶等5秒才響應。
![]()
成本結構上,緩存寫入本身有費用——約為正常輸入token的1.25倍。但寫入一次、讀取多次,數學上很快回本。Claude Code團隊的內部閾值是:同一會話內超過2輪交互,緩存就劃算。
一位獨立開發者分享了他的重構結果:把動態用戶ID從系統提示移到工具調用的參數里,月賬單從890美元降到97美元。改動代碼12行。
行業暗戰:緩存成了新的基礎設施戰場
提示緩存不是Anthropic獨有。OpenAI去年推出類似功能,Google的Gemini也有上下文緩存,但實現細節和定價策略差異巨大。Anthropic的激進之處在于:他們把緩存做成了Claude Code的默認行為,而非可選開關。
這背后是AI基礎設施的殘酷算術。大模型API的成本結構里,輸入token占大頭,而輸入token的成本里,預填充計算又占大頭。緩存把預填充變成攤銷成本——第一次貴,后面幾乎免費。對于多輪對話產品,這是盈虧分界線。
Claude Code作為面向開發者的AI編程工具,平均會話輪次遠超普通聊天場景。沒有緩存,這個產品在經濟模型上不成立。Anthropic的工程師在推文中透露,他們內部把緩存命中率納入SLO(服務等級目標),和可用性、延遲并列。
更隱蔽的影響在生態層面。提示緩存的設計偏好,正在重塑開發者寫prompt的方式。靜態前置、動態后置的結構,和傳統的模板注入思維截然相反。新一代的「緩存原生」提示工程正在形成——不是讓模型理解得更好,而是讓系統匹配得更快。
一位前OpenAI工程師在評論區寫道:「我們2023年就在內部討論這個,但產品化優先級被推理優化擠掉了。Anthropic賭對了場景——開發者工具才是緩存的第一戰場。」
你的提示結構,現在是一個性能問題了嗎?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.