Claude Fable 5 vs Fable 5.1:快取讀取只要四分之一價
同一格價位、同一個 tokenizer、同樣 1M context,官方定價表上這兩顆只差一欄:快取讀取從 $1.00 掉到 $0.25。這一欄把「該不該買 1 小時 TTL」整個翻掉,回本點從 7.5 次讀取變成 30 次。代價是三個會讓現有程式直接回 400 的破壞性變更。
目錄(15 節)
這是同一顆模型的兩個版本,不是兩顆模型的較量。所以問題不是「誰比較強」,是「升不升」。
把官方定價表兩列疊起來,八個欄位裡有七個一模一樣。只有快取讀取不同:$1.00 對 $0.25。
而那一欄,會讓你原本算好的快取策略整個作廢。
先講清楚前提:Fable 5 沒有退場,兩顆都還在服務,型號指定哪一個就跑哪一個。所以這是一個可以選擇不做的決定,不是被時程推著走的遷移。
先給選擇規則
| 情況 | 選誰 |
|---|---|
| 長時間跑的 agent,前綴一直重讀 | Fable 5.1,快取讀取那條帳單直接砍到四分之一 |
| 你的 harness 會改寫歷史訊息 | 先別升,改成只往後追加、不動舊訊息再說 |
程式碼裡有強制 tool_choice |
先別升,那會直接回 400 |
| 要用 Priority Tier | 留在 Fable 5,5.1 沒有 |
| 零資料保留(ZDR)的組織 | 兩顆都用不了,除非另外取得授權 |
| 只是偶爾單次呼叫、沒在用快取 | 升不升都行,帳單不會有感覺 |
本表是下面各節結論的摘要,不含新資料,每一條的依據見對應章節。
兩顆的規格表幾乎可以疊在一起
先確認沒有藏起來的差異。模型總覽與定價頁交叉比對的結果如下。
| 項目 | Claude Fable 5 | Claude Fable 5.1 |
|---|---|---|
| 輸入 / 輸出(每 1M token) | $10 / $50 | $10 / $50 |
| 5 分鐘 cache write | $12.50 | $12.50 |
| 1 小時 cache write | $20 | $20 |
| 快取讀取 | $1.00 | $0.25 |
| Batch 輸入 / 輸出 | $5 / $25 | $5 / $25 |
| Context window | 1M | 1M |
| 最大輸出 | 128K | 128K |
| Tokenizer | Claude 4.7 世代 | 同左(本站實測驗過,見下節) |
牌價層面,這篇文章的全部差異就是被標粗的那一列。
同一個 tokenizer 這件事有實際意義:本站量到的繁中係數可以直接沿用,不必重測。
唯一差的那一格:$1.00 變 $0.25
官方的說法是倍率變了。其他 Claude 模型的快取讀取是輸入價的 0.1 倍,Fable 5.1 是 0.025 倍。
換算成繁體中文
本站在 2026-08-12 用五種語料實測過 Anthropic 5 世代的 tokenizer,技術長文是每字 0.9955 個 token(方法與完整係數見繁中 token 成本)。
拿這個係數換算,一份 100 萬字的繁體中文技術文件當作快取前綴,每重讀一次要付:
| 讀法 | Fable 5 | Fable 5.1 |
|---|---|---|
| 快取命中 | $1.00 | $0.25 |
| 沒命中,整包當新輸入 | $9.95 | $9.95 |
沿用係數的前提,是兩顆的 tokenizer 真的一樣。這件事本站直接驗過。
方法是打 Anthropic 官方的 token counting 端點,同一段文字、同一個訊息結構,只換 model 欄位,從 1 個字量到 2,600 個字:
| 語料長度 | Fable 5 | Fable 5.1 | 差 | 差 % |
|---|---|---|---|---|
| 1 字 | 7 | 9 | 2 | 28.57% |
| 30 字 | 38 | 40 | 2 | 5.26% |
| 65 字 | 77 | 79 | 2 | 2.60% |
| 650 字 | 716 | 718 | 2 | 0.28% |
| 2,600 字 | 2,846 | 2,848 | 2 | 0.07% |
實測 2026-09-02,直連 api.anthropic.com。原始資料:bench/tokenizer/fable_5_1_token_delta_2026-09-02.json
差距固定是 2 個 token,從 1 個字到 2,600 個字都一樣。那就不是 tokenizer 的差別,是每次請求固定多算的 overhead,所以上面那張成本表可以照用。
但這裡有個陷阱值得記著。只量繁體中文的話,Fable 5.1 那個 184 剛好等於 Claude 4.6 世代的數字,看起來像是退回舊 tokenizer。改量英文才分得開:Fable 5.1 是 64、Fable 5 是 62,而 4.6 世代是 49。判斷 tokenizer 世代不能只用中文語料。
固定 overhead 的實務意涵也有例外。2,600 字的請求上它是 0.07%,可以忽略;但在只有一個字的請求上是 28.6%。負載如果是海量極短請求,這 2 個 token 就不能當作沒有。
一個 30 回合的 agent 迴圈
下面這張是照牌價試算,不是實跑的帳單。假設前綴穩定在 80,000 token(約 8 萬個繁中字),跑 30 個回合,每回合新增 2,000 token 輸入、產出 1,500 token,開頭寫一次 5 分鐘快取。
| 項目 | Fable 5 | Fable 5.1 |
|---|---|---|
| Cache write | $1.00 | $1.00 |
| Cache read(30 次) | $2.40 | $0.60 |
| 新增輸入 | $0.60 | $0.60 |
| 輸出 | $2.25 | $2.25 |
| 合計 | $6.25 | $4.45 |
快取讀取那條省了 75%,但整包只省 28.8%。輸出那 $2.25 沒有變便宜,這是省不掉的地板。
所以省的比例完全看你的負載長什麼樣。前綴越大、回合越多、輸出越短,省得越多;反過來說,一個吐長文的單次請求,換 5.1 一毛都不會省。
要判斷值不值得,先去看自己的 usage 裡 cache_read_input_tokens 佔總輸入的比例。那個比例就是這次升級能碰到的帳單上限。
真正翻掉的是 TTL 的選擇
這件事不在任何規格表上,但它會改掉你程式裡的一個參數。
快取有兩種 TTL:5 分鐘(write 1.25 倍)與 1 小時(write 2 倍)。空檔超過 5 分鐘,你有兩個選擇:付 1 小時 TTL 的溢價,或是每隔幾分鐘送一個 max_tokens: 0 的空請求把快取續命。
續命一次的成本,就是一次快取讀取。
1 小時 TTL 比 5 分鐘貴 $7.50(每 1M token)。這筆溢價要用「少送幾次續命」來賺回來,回本點是:
| 模型 | 溢價 ÷ 單次讀取 | 回本點 |
|---|---|---|
| Fable 5 | $7.50 ÷ $1.00 | 7.5 次續命 |
| Fable 5.1 | $7.50 ÷ $0.25 | 30 次續命 |
這個比值跟前綴多大無關,兩邊都會被同一個數字約掉。
用每 4 分鐘續命一次來換算:在 Fable 5 上,空檔超過約 30 分鐘就該買 1 小時 TTL。在 Fable 5.1 上,同樣的頻率要 120 分鐘才回本,可是 1 小時 TTL 只活 60 分鐘。
換句話說,以一般的續命頻率算,1 小時 TTL 在 Fable 5.1 上撐不到回本就過期了。同一段程式碼,換個型號,這個選擇就從「該買」變成「不該買」。
這句話有前提,講清楚比較好。回本要 30 次續命,60 分鐘內要湊滿,得每 2 分鐘送一次。真的用這種頻率的話 1 小時 TTL 還是會回本,但那已經比 5 分鐘 TTL 的必要頻率密一倍,多花的錢會回到請求數上。
快取變便宜,失效反而變得更貴
還有一個方向相反的效果。
沒命中的代價是輸入原價 $10,命中是 $0.25。兩者相差 40 倍,在 Fable 5 上只差 10 倍。
絕對金額當然是變便宜了。但要不要花力氣去避免失效,看的是命中與沒命中差幾倍,而不是差幾塊錢。那個倍數變成四倍。
本站先前追過一次快取失效的成因,主因不是切模型,是人坐在螢幕前想事情的空檔(見 AI coding agent 的快取成本與快取機制怎麼運作)。
那個空檔正是上一節的續命要填的東西,而在 Fable 5.1 上續命一次只要四分之一的錢。所以結論不是「快取變便宜了可以少管」,是反過來:值得管的門檻降低了。
代價是三個破壞性變更
升級不是換個字串就好。官方遷移指南列了三個會讓現有請求直接失敗的變更。
一、強制 tool_choice 直接回 400
tool_choice 的 any 與 tool 在 Fable 5.1 上不再支援,連 count_tokens 與 Batch 都一樣。auto 與 none 不受影響。
三種改法:想「引導」就留 auto 並在 prompt 裡點名工具;想保證參數合法就在工具定義上加 strict: true(見 tool use 文件);如果當初強制呼叫只是為了拿到 JSON,改用 structured outputs。
二、thinking block 只有原模型讀得懂
每個 thinking block 會記住是誰產生的。除了 Mythos 5.1 之外,沒有別的模型讀得懂 Fable 5.1 的 thinking block。
不過這一條不用改程式。讀不懂的 block 會被 API 在計價前丟掉,不計費也不報錯,你反而不該自己去剝除它們,剝錯順序會換來 400。
三、改寫歷史會讓後面的 thinking 全部失效
這一條最容易中。thinking block 的簽章綁住了產生它的那段對話前綴:top-level system、tools 陣列,以及它之前的每一則訊息。
改動任何一項,後面的 thinking block 全部失效。常見的踩法有四種:
- 每次請求重建
system或tools - 往舊回合插入一行「當下狀態」然後下次拿掉
- 客戶端自己刪掉舊的 tool result
- 保留尾巴的壓縮(summarize 舊回合、保留最近幾輪原文)
對應的改法都是同一個方向:改成 append-only。指令變更改用 mid-conversation system message、工具變更用 tool_addition 區塊、清理歷史改用伺服器端壓縮,那不算改寫。
目前只有 2026-08-31 之後開的帳號會被強制執行,但官方說後續模型會對所有人生效。
除了這三條會報錯的,還有兩件是安靜退化:Fable 5 有 Priority Tier 而 5.1 沒有,原本靠它撐 SLA 的人升級等於失去;兩顆共用同一個 Fable 5.x 速率限制池,遷移期間同時跑兩顆不會多拿到額度。
還有一條限制兩顆都一樣,不是升級才有的,但很容易被誤診。這兩顆都要求 30 天資料保留,零資料保留的組織除非另外取得授權,呼叫會直接收到 400,錯誤訊息說的是保留設定不符。踩到這條的人通常會先回頭查 payload,方向就錯了,該去看的是組織或工作區的保留設定。
Fable 5.1 多了什麼
除了漲上來的能力,有三個新的請求層功能,都還在 beta,而且都跟快取有關。
每則訊息可以改 effort。 在 messages 裡塞一則空內容的 system 訊息帶 output_config,effort 從那一點之後改變,快取不用重來。在 Fable 5 上,要改 effort 只能動 top-level 的值,那會把整包快取作廢。
只活一回合的 system 訊息。 帶 clear_at 的系統訊息渲染一輪之後自動失效,但留在歷史裡不用刪。這剛好繞開上面第三條的地雷:以前「插入提醒、下次拿掉」的寫法,現在會弄壞後面所有 thinking block。
工具呼叫之間的進度更新。 把 thinking.display 設成 updates,模型在兩次工具呼叫之間寫的短進度會回傳成文字。預設是不回傳的,所以一個跑好幾分鐘的長回合,在介面上看起來會像當掉。
另外官方建議重跑一次 effort 掃描:level 的名字在不同模型上不代表同樣的思考量,5.1 的 medium 大約等於 Fable 5 的水準而更便宜。
該不該升到 Fable 5.1?
該升的是長時間跑的 agent。它的帳單結構就是「大前綴重讀很多次」,快取讀取那條佔比最高,而且官方說 5.1 在長時程 agentic coding、文件與試算表工作、多步研究、視覺與長 context 檢索上都更強。
不該升的是兩種人:harness 會改寫歷史而且還沒改成 append-only 的,以及靠 Priority Tier 撐 SLA 的。
第一種人要注意的是,這筆改造不是為了這次升級才做。官方已經說後續模型會把同一條檢查對所有帳號生效,所以那是遲早要付的成本,差別只在你想在哪一次升級的時候付。
其餘的人可以慢慢來。牌價沒有變,不升級不會多付錢,而遷移指南建議的做法本來就是先在一個工作區跑完再全面換。
本站沒有的數字
誠實交代一下這篇的邊界。
本站對這兩顆沒有自己的品質實測,定價頁上那兩列的分數欄是空的。上面所有能力面的敘述都來自官方文件,不是本站量到的。
延遲也還沒有可以發表的數字。這篇發稿前試過一次,經 MixRoute 從台灣交錯呼叫兩顆各 8 輪:首字中位數是 2,917 對 3,077 毫秒,差距落在雜訊裡;但總時間中位數差到兩倍以上,而且有五輪的串流沒有回傳用量資訊。樣本太少、變異太大,那個兩倍不知道是模型還是當下的網路,所以不寫進上面的結論。
本站量到而且真的用在這篇的有兩項:Anthropic 5 世代 tokenizer 的繁中係數,以及這次為了這篇補做的 tokenizer 一致性驗證。快取那幾張表的每一格,都是用前者把美元換算成繁中字算出來的。
資料來源
- Anthropic 官方定價頁(本文所有牌價的來源,實查 2026-09-02)
- Anthropic 模型總覽(context window、max output、tokenizer 世代)
- Anthropic 模型遷移指南(三個破壞性變更的官方說明)
- Anthropic Prompt caching 文件(TTL 與 cache write 倍率)
- Anthropic Tool use 文件(tool_choice 與 strict tool use)
- Anthropic Structured outputs 文件(取代強制 tool_choice 的做法)
- Anthropic Compaction 文件(伺服器端壓縮,不算改寫歷史)
- Anthropic Token counting 端點(本站驗證兩顆 tokenizer 用的方法)