如果有任何問題或建議,歡迎隨時聯繫我:
「Haiku 能做什麼?」
這是大部分人問的問題,而我覺得它問錯了方向。
問「便宜的模型能做什麼」,預設立場是它比較弱,我們在盤點它的殘餘能力——像在問一個實習生「你會做什麼」。這樣問,答案永遠是一份令人失望的清單。
換個問法:「有哪些任務,根本不需要那些貴的能力?」
同一件事,立場完全反過來了。前者是在將就,後者是在配對。
我拿一個實際的數字讓你有感。Day 2 我們算過相對成本:Haiku 4.5 是 1×,Fable 5 是 10×。但這還只是標準價——如果把 Haiku 4.5 加上批次處理,跟 Fable 5 的標準價相比:
| 每百萬 input token | 相對倍數 | |
|---|---|---|
| Claude Fable 5(標準) | $10 | 20× |
| Claude Haiku 4.5(批次) | $0.50 | 1× |
二十倍。
如果你手上有一批任務,是那種「量很大、每一筆都不難、但加起來很可觀」的任務——這二十倍就是你桌上的錢。
今天我們要弄清楚三件事:Haiku 4.5 到底是什麼、什麼任務適合它、以及它的天花板在哪裡。最後一點最重要,因為用錯地方的省,最後都會用更貴的方式還回去。
| 天數 | 主題 | 描述 |
|---|---|---|
| Day 1 | Claude 模型怎麼選?2026 最新四階模型完整比較 | Fable 5 / Opus 5 / Sonnet 5 / Haiku 4.5 的定位、規格與適用場景 |
| Day 2 | Claude 的計價邏輯:搞懂 input / output 為什麼差 5 倍 | 不背數字,理解計價結構,建立可長期沿用的成本直覺 |
| Day 3 | 不知道用哪個模型?官方建議「從 Opus 5 開始」背後的思維 | 為什麼預設起手不是最便宜、也不是最強的那個 |
| Day 4 | Claude Haiku 4.5 適合做什麼?便宜模型的正確用法 | 便宜模型不是次等品,是專用工具 |
| Day 5 | Claude context window 是什麼?1M token 到底能塞多少東西 | 用實際檔案量換算,破除「塞越多越好」的迷思 |
| Day 6 | Claude 模型選擇決策表:一張圖判斷你該用哪一個 | 把前五天濃縮成一張可以貼在螢幕旁的決策流程 |
| Day 7 | Token 是什麼?為什麼你的 Claude 帳單比想像中貴 | 從 tokenizer 原理理解中文為什麼特別燒錢 |
| Day 8 | Claude 省 token 的 5 個實用技巧(一般使用者也適用) | 不寫程式也能立刻套用的五個習慣 |
| Day 9 | Prompt Caching 是什麼?讓重複內容只算 10% 費用 | 快取寫入與命中的計價邏輯,以及什麼時候會虧 |
| Day 10 | Claude Batch API 教學:非即時任務直接省一半費用 | 用時間換金錢,非同步任務的正確打開方式 |
| Day 11 | 新世代 tokenizer:同樣的中文為什麼變貴了 | Claude 4.7 世代換了 tokenizer,這對中文使用者的實際影響 |
| Day 12 | 對話越長越燒錢?Claude 長對話的成本陷阱與解法 | 每一輪都重算全部歷史——以及三種切斷成本累積的做法 |
| Day 13 | Claude 用量怎麼監控?成本失控前的預警機制 | 從 usage 欄位到 Console 儀表板,把帳單變成可觀測系統 |
| Day 14 | Claude effort 參數是什麼?五個檔位該怎麼設 | low / medium / high / xhigh / max 的取捨與實測建議 |
| Day 15 | Adaptive Thinking 是什麼?為什麼你不用再寫「think step by step」 | 模型自己決定何時思考,舊 prompt 技巧為何失效 |
| Day 16 | Claude 回答變淺了?檢查這兩個隱藏設定 | 排查思路:先看 effort,再看 thinking 設定 |
| Day 17 | Claude Prompt 寫法教學:官方最佳實踐的骨架 | 一個可以套用在 90% 情境的 prompt 結構 |
| Day 18 | 用 XML 標籤讓 Claude 輸出更穩定(結構化輸出教學) | 為什麼 Claude 特別吃 XML,以及怎麼設計標籤 |
| Day 19 | System Prompt 怎麼寫?角色設定的正確姿勢 | system 與 user 的分工,以及「你是一位專家」為什麼沒用 |
| Day 20 | Claude 幻覺怎麼防?降低錯誤輸出的實用做法 | 引用來源、允許說不知道、把驗證寫進流程 |
| Day 21 | Claude Code 是什麼?安裝與第一次使用完整教學 | 從安裝到跑完第一個任務,含常見卡關點 |
| Day 22 | Claude Code 省 token 設定:別讓它讀完整個專案 | CLAUDE.md、忽略規則與 context 控制的實戰配置 |
| Day 23 | MCP 是什麼?把外部工具接進 Claude 的原理與實作 | Model Context Protocol 的設計哲學與一個可跑的範例 |
| Day 24 | 前端如何呼叫 Claude API?Messages 端點入門 | 第一支 API 請求,以及為什麼不該在瀏覽器直接呼叫 |
| Day 25 | Claude 串流輸出(Streaming):打造即時回應體驗 | SSE 事件流解析與前端逐字渲染 |
| Day 26 | Claude API 錯誤處理與重試:正式環境該注意什麼 | 429 / 529 的正確退避策略與冪等性設計 |
| Day 27 | 模型分流(Model Routing)是什麼?別再一支模型用到底 | 依任務難度動態選模型的判斷邏輯 |
| Day 28 | LLM 成本優化架構:小模型前置分流 + 大模型收尾 | 一套可落地的分層架構與失敗處理 |
| Day 29 | 從「會用」到「用得對、用得省」:我 30 天的踩坑與心法 | 誠實記錄過程中判斷錯誤的地方 |
| Day 30 | Claude 使用總整理:模型、成本、設定一次看懂 | 全系列濃縮成一份可以收藏的速查表 |
要用對一個工具,得先知道它的邊界在哪。我把 Haiku 4.5 相對於新世代三兄弟缺少的東西全部列出來——不美化:
| 項目 | Haiku 4.5 | 新世代(Opus 5 等) |
|---|---|---|
| Context window | 200k | 1M(5 倍) |
| 最大輸出 | 64k | 128k |
| 可靠知識截止日 | 2025 年 2 月 | 最新到 2026 年 5 月 |
| Adaptive thinking | ❌ 不支援 | ✅ |
effort 參數 |
❌ 不在支援清單內 | ✅ 五個檔位 |
| Interleaved thinking | ❌ 不支援 | ✅ 自動 |
| 單次請求圖片/PDF 頁數 | 100 | 600 |
這張表的最後三列,是我覺得最該提醒的:
effort 對它無效。 這件事很多人會踩到。你在 Day 14 學到的所有 effort 調校技巧,套到 Haiku 4.5 上完全沒用——因為它根本不在支援清單裡。它的思考深度只能用舊的 budget_tokens 參數設定(而且預設是關閉的)。
它的知識停在 2025 年 2 月。 這是四個模型裡最舊的,比 Opus 5 舊了一年三個月。任何跟「最近」有關的問題,它會很有自信地給你過時的答案。
它有一個新世代 Opus 沒有的東西:context awareness。 官方文件提到,Sonnet 5、Sonnet 4.6、Sonnet 4.5 和 Haiku 4.5 具備「脈絡感知」——API 會在系統提示裡告訴模型它的總預算,並在每次工具呼叫後更新剩餘量:
<budget:token_budget>200000</budget:token_budget>
<system_warning>Token usage: 35000/200000; 165000 remaining</system_warning>
反而是 Opus 4.7 之後的 Opus 系列和 Fable 5 沒有這些注入標籤。又一個「越貴不一定越多」的例子。
Day 1 的自我挑戰我給過四個問題,今天把它變成正式的判斷流程。對任何一個任務,依序問:
① 這個任務需要超過 200k 的 context 嗎?
200k 大概是一份完整的技術文件加幾個檔案。如果你要餵整個 repo 進去——不行,換模型。
② 這個任務需要 2025 年 2 月之後的知識嗎?
注意,這裡問的是「需要模型自己知道」。如果你把最新資料直接放進 prompt 裡,那不算它的知識,那是 context——這題就過關了。很多看似需要新知識的任務,只要改成把資料餵進去就能降級。
③ 這個任務需要深度推理嗎?
判斷方式:這件事你自己做,需要「想一下」嗎?
「把這段話分成正面/中性/負面」——不用想,看一眼就知道。能降級。
「這段程式碼的並行邏輯有沒有 race condition」——要想,而且要想很久。不能降級。
④ 有人正在等這個回應嗎?
如果有——Haiku 4.5 是最快的那個,這反而是加分項。如果沒有——那你還能再疊一層批次折扣。
四題都通過,交給 Haiku 4.5。 有任何一題卡住,往上一階。
把上面的判準套用到實務上,會落在這五類:
① 分類與標記
情緒分析、垃圾訊息判定、工單分派、內容分級。輸入短、輸出更短、答案在固定集合內。
② 結構化抽取
從一段自由文字裡撈出欄位——發票金額、日期、人名、地址。這類任務的難度不在推理,在格式穩定,而 Haiku 4.5 配合 XML 標籤(Day 18)表現得相當可靠。
③ 格式轉換
Markdown 轉 HTML、JSON 重組、把口語紀錄整理成條列。原始資訊都在,只是換個殼。
④ 路由與前置判斷
這一類值得特別點名——用 Haiku 4.5 判斷「這個問題難不難」,難的才往上送給 Opus 5。這就是模型分流的骨架,Day 27、Day 28 會完整拆解。它是把「便宜模型」的價值放到最大的用法。
⑤ 高頻的小事
自動補全、即時建議、輸入檢查。這類任務單次都很便宜,但次數多到會累積成一筆可觀的帳。而且使用者盯著螢幕,速度就是體驗——Haiku 4.5 兩個優勢都佔到了。
省錯地方的代價,通常比省下來的錢貴。三個紅線:
① 需要「發現你沒問的問題」的任務
「幫我 review 這段程式碼」——你要的其實是它找出你沒想到的問題。這需要主動探索,正是深度推理的核心。Haiku 4.5 會給你一份看起來很完整的 review,但它找到的都是表層的東西。
危險之處在於:它不會告訴你它漏掉了什麼。 你會拿到一份自信的答案,然後以為沒問題了。
② 多步驟、有狀態的工作流
它不支援 interleaved thinking(工具呼叫之間的思考),也不支援 adaptive thinking。跑一個要串五個工具、每步都得根據上一步結果調整的流程,它會在中途失去方向。
這正是 Fable 5 存在的理由(Day 1 的「跑馬拉松的那個」)——光譜的兩端。
③ 錯了不會被發現的任務
這條是原則,不只針對 Haiku。如果一個任務出錯之後沒有任何機制會抓到,那它就不該被降級。
分類錯了會被下游流程擋下來 → 可以降級。
摘要漏了關鍵資訊直接寄給客戶 → 不要降級。
這其實是 Day 3 那句話的延伸:降級的許可證是評測給的。 而當一個任務連「錯了」都偵測不到時,你根本沒辦法做評測——那就代表你沒有拿到許可證。
如果任務通過了四道判準,而且不趕時間,折扣是可以疊加的。官方明載快取與批次的乘數會互相疊加:
❌ Before:五千筆客服對話分類,用 Fable 5 標準呼叫
for text in conversations: # 5,000 筆,逐一同步呼叫
client.messages.create(
model="claude-fable-5", # input 10× / output 50×
max_tokens=16,
messages=[{"role": "user", "content": SYSTEM_RULES + text}],
)
# 每一筆都重付一次 SYSTEM_RULES 的 input
✅ After:換模型 + 快取共用前綴 + 批次提交
requests = [
{
"custom_id": f"conv-{i}",
"params": {
"model": "claude-haiku-4-5", # input 1× / output 5×
"max_tokens": 16,
"system": [{
"type": "text",
"text": SYSTEM_RULES,
"cache_control": {"type": "ephemeral"}, # 共用前綴進快取
}],
"messages": [{"role": "user", "content": text}],
},
}
for i, text in enumerate(conversations)
]
client.messages.batches.create(requests=requests) # 批次再打 5 折
拆開看這三層各省了什麼:
換模型:input 從 10× 降到 1×,這是最大的一刀。
快取:SYSTEM_RULES那段分類規則五千筆都一樣,第一次寫入 1.25×,之後每次命中只要 0.1×。原本要重付五千次的東西,現在幾乎免費。
批次:input 和 output 再一起打 5 折,代價是不保證即時回來。三層疊起來,同樣的工作、同樣的結果,帳單落在完全不同的量級。而且——這五千筆分類本來就不需要 Fable 5 的任何一項能力。 省下來的錢沒有換走任何東西。
(快取與批次的完整用法分別是 Day 9 和 Day 10,今天先讓你看到它們疊起來的樣子。)
這是我自己踩過、而且踩得最重的一個坑:把原本給 Opus 5 用的 prompt 原封不動搬到 Haiku 4.5 上,然後判定「Haiku 不行」。
那不是 Haiku 不行,那是我沒改 prompt。
差別在哪?能力強的模型會自己補完你的意圖。 你寫「幫我看一下這則評論」,Opus 5 會自己判斷你大概想要情緒分析,然後給你一個結構合理的答案。Haiku 4.5 不會做這種推測——它會照字面做,然後你拿到一段沒有固定格式的自由發揮。
所以降級的時候,prompt 要跟著做三件事:
① 把開放式改成封閉式
不要問「這則評論怎麼樣」,要問「這則評論屬於下列哪一類:正面 / 中性 / 負面」。
限定輸出空間是對便宜模型最有效的一招。選項越明確,它越不會發散。
② 給範例,不要只給描述
「請判斷情緒」是描述。給它兩三個實際的輸入輸出範例(few-shot),效果好得多。
而且這招對便宜模型的邊際效益明顯大於對貴模型——貴模型光看描述就能推斷你要什麼,便宜模型需要你直接示範。
③ 用結構鎖住格式
XML 標籤(Day 18 的主題)在這裡特別有用。與其在指令裡拜託它「請只回答分類結果」,不如直接要求它把答案放進 <result></result> 裡——這樣你的程式也好解析。
❌ Before:直接把貴模型的 prompt 搬過來
prompt = f"幫我分析一下這則客戶評論:\n{review}"
# Haiku 4.5 回:一段三百字的自由發揮,格式每次都不一樣
✅ After:限定空間、給範例、鎖住格式
prompt = f"""將客戶評論分類為 positive、neutral、negative 其中之一。
<examples>
<example><input>東西很好用,出貨也快</input><result>positive</result></example>
<example><input>還可以,沒什麼特別的</input><result>neutral</result></example>
<example><input>等了兩週還沒到,客服也不回</input><result>negative</result></example>
</examples>
<input>{review}</input>
只輸出 <result> 標籤及其內容,不要其他文字。"""
後者多花的 input token 大概一百出頭——但它換來的是穩定可解析的輸出,而且省下 output(三百字變成一個詞,那可是 5× 單價的東西)。
更重要的是:它讓「Haiku 到底行不行」變成一個可以公平回答的問題。 用沒調整過的 prompt 去測便宜模型,測到的不是模型能力,是你的 prompt 有多依賴模型的腦補。
換句話說——降級失敗時,先檢查是不是 prompt 沒跟著降級。
今日挑戰:拿 Day 3 你列的那 20 個測試輸入,用 Haiku 4.5 跑一遍,跟 Opus 5 的基準逐案比對。
但比對時請只看那 3~5 個難的案例。簡單案例通過是理所當然的,沒有資訊量。真正要記錄的是:它在哪一個案例上開始失守?失守的方式是什麼?(是答錯?還是格式跑掉?還是它自信地漏掉了東西?)
失守的方式比失守這件事本身更有價值——它會告訴你 Day 27 的分流條件該怎麼寫。
反思:文中我說「它不會告訴你它漏掉了什麼」,這其實是所有便宜模型最危險的地方——失敗是靜默的。你有沒有遇過這種情況:一個結果看起來完全合理,你採信了,過了很久才發現它少了關鍵的一塊?那次你是怎麼發現的?如果重來一次,你會在流程的哪個位置放一道檢查?
今天想改掉一個問法。不要問「便宜的模型能做什麼」,要問「有哪些任務不需要那些貴的能力」——前者是將就,後者是配對。
Haiku 4.5 確實少了很多東西:200k context、知識停在 2025 年 2 月、不支援 adaptive thinking、甚至不在 effort 參數的支援清單裡。但它有一件事做得最好——又快又便宜地處理不需要思考的事。分類、抽取、格式轉換、路由前置判斷、高頻小事,這五類是它的主場。
判斷方法是四個問題:要不要超過 200k?要不要新知識?要不要深度推理?有沒有人在等? 四題都過,交給它;任一題卡住,往上一階。
而三條紅線要記牢:需要「發現你沒問的問題」的任務、多步驟有狀態的工作流、以及錯了不會被發現的任務——最後這條最重要,因為那代表你根本無法評測,也就拿不到降級的許可證。
本日關鍵字回顧
budget_tokens:extended thinking 的思考預算參數。Haiku 4.5 只能用它,不能用 effort。明天我們處理另一個被誤解的東西:1M context。大家聽到「能塞一百萬 token」的第一反應都是「太好了,全部丟進去」。但官方文件裡有一句很直白的警告——「more context isn't automatically better」,而且他們給這個現象取了名字。
Day 5,我們聊 context window 與「脈絡腐化」。