用 Claude Code 的人遲早會遇到這個時刻:產出不如預期,打開設定,畫面上有兩個看起來都能「讓答案變好」的選項,一個是模型(Sonnet、Opus 或 Fable),另一個是努力程度(effort)。不少人的直覺是兩個都拉高,反正越強越好。
Claude Code 團隊技術成員 Lydia Hallie 在 Anthropic 官方部落格撰文,專門拆解這兩個設定。核心訊息是:模型決定 Claude「知道多少」,努力程度決定它「做多少工」,兩者對應完全不同的問題。
換言之,若選錯開關,輕則多付冤枉錢,重則怎麼調都得不到想要的結果。
她先點出一個「半對半錯」的常見認知。大家以為選 Fable 這類大模型會比 Sonnet 聰明;這一半是對的,Anthropic 表示依業界標準基準測試,最大的模型確實更有能力。但大家同時以為調高努力程度只是「讓 Claude 想久一點」,這一半就錯了。
依官方文件的說法,努力程度控制的是「自適應推理」(adaptive reasoning),由模型視任務複雜度決定每一步要不要想、想多深;Hallie 則描述了它的外顯行為:會讀幾個檔案、驗證做多徹底、多步驟任務要自己推進多遠才回頭找你確認。努力調得越高,通常也代表更多 token 消耗。
換模型,換的是一顆訓練完就「凍結」的腦袋
要理解換模型到底換了什麼,Hallie 建議從你按下 Enter 那一刻看起。Claude Code 會把你的訊息、系統提示、工具定義、對話紀錄與相關檔案,打包成一個請求送到 API。但模型從頭到尾不會看到文字,伺服器的第一步是分詞(tokenization),把文字切成小片段,每個片段對應一個固定編號。在那之後,你的提示詞就是一串數字。
模型的工作只有一件:根據這串數字,預測下一個 token(文字片段)該是什麼。而把輸入轉成預測的,是「權重」(weights),也就是數十億個在訓練期間定下來的參數。權重是模型全部知識的所在,而且在你使用時是唯讀的:你的提示詞、CLAUDE.md 設定檔、貼進去的任何文件,都不會改變權重分毫。
這帶出全文最值得記住的區分:把資料放進上下文(context),只能「引導」模型,沒辦法「教會」它。
如果某個程式庫在模型訓練時還不存在,它就不在權重裡;你可以把文件貼給 Claude,它會照著用,但只影響這一次請求,模型本身什麼都沒留下。
Hallie 也順勢解釋了幻覺(hallucination)的本質:當 Claude 自信滿滿地呼叫一個不存在的 API,在沒有外部搜尋或工具驗證的情況下,這通常是權重依照訓練時看過的模式,拼出看似合理但不正確的內容,而不是哪一次「查資料」出了錯;若有接上搜尋或外部資料,錯誤也可能來自找回來的資料或給的脈絡不足。
簡言之,換模型就是把處理你請求的整套凍結權重換掉。嚴格來說,模型影響的不只是知識量,還包括推理、寫程式、長任務處理與驗證的能力;努力程度則是在同一個模型下,調整推理深度與成本的取捨。
努力程度調的不是單純思考時間,而是推理深度與 token 取捨
那努力程度呢?
要先建立一個觀念:Claude 工作時吐出的所有東西,包括思考過程、工具呼叫指令、回覆給你的文字,全都是同一個循環產生的 token,以相同費率計費。模型一次只預測一個 token,把它接上序列後再預測下一個;一段 200 token 的回覆,就是 200 次這樣的生成步驟。回覆越長、步驟越多,你的等待時間與輸出費用通常也跟著增加。
模型設定決定哪套權重來跑、每個 token 單價多少,但它不決定會生成多少 token。左右這件事的,正是努力程度。
努力程度的運作方式可能出乎意料:它是跟你的提示詞一起送進模型的一項輸入,模型在訓練時就學會了各個努力等級該有的行為。
白話說,努力程度設定的是 Claude 要做到多徹底、多有把握才算完工。 在官方的示意例子中,同一個提示詞,高努力路徑生成的 token 數約是低努力的 7 倍,換到的是把握度更高的答案。
在高努力下,Claude 傾向先擬計畫、多讀檔案、跑測試、反覆驗證才回報;在低努力下,它寧可回頭多問你幾句背景,也不花 token 自己推敲。
但 Hallie 強調,調高努力不代表 Claude 會在簡單任務上硬灌用量,「過度思考」(overthinking)是 Anthropic 訓練時特別盯防的行為。她的建議是:多數任務直接用預設值,把努力程度當成依工作型態設定的長期偏好,而不是逐任務調整的旋鈕。
依官方測試,Opus 4.8 的預設努力設定,能用與前代 Opus 4.7 大致相同的 token 量,在同一任務上換到更好的結果。(實務上,努力程度可透過 /effort 指令或模型選單調整;以 Fable 5、Sonnet 5、Opus 4.8 為例,提供 low、medium、high、xhigh、max 五級,級距依模型而異。)
出錯時,先問它是「不知道」還是「不夠認真」
這是全文最實用的判斷框架。Hallie 提醒,當 Claude 做錯,先別急著動設定,回頭檢查你給的脈絡:提示詞是否太模糊?工具接對了嗎?該給的檔案給了嗎? 多數「想調高努力」的情況,病根在上游。
如果脈絡給足了還是錯,再問這個問題:它是不夠認真,還是不夠聰明?
簡單來說,漏讀檔案、沒跑測試、沒複查就交卷,這是不夠認真,調高努力程度;給了完整脈絡、明顯努力過了、仍然錯,這是不夠聰明,建議換更大的模型。
Hallie 補充一個實務差異:大模型更擅長處理模糊指令,小模型則需要明確具體的指示才容易成功。
她用了一個好記的比喻:Fable 是其他人都卡關時才會找上的「疑難雜症專家」,Opus 是資深專家,Sonnet 是非常優秀的通才,努力程度則決定他們花多少時間在你的案子上。
Opus 開低努力,像跟閱歷豐富的專家談五分鐘,他自帶你的程式碼裡沒有的經驗,但五分鐘只夠快速掃一眼;Sonnet 開高努力,像通才花上一整個下午,把你的程式碼全部讀過、跑過、驗證過。
因此可以說,沒有哪種組合是普遍較好的:模型大致對應「多有能力」,努力程度大致對應「多徹底」,多數真實任務兩者都需要一些。
成本的算法也與直覺相反。例行任務上,大小模型都做得對,大模型還會多做驗證、單價又高,這時降級用小模型是純省錢。但在部分真正困難的多步驟任務上,等式可能翻轉:小模型得在能力極限反覆硬磨、燒掉大量來回,大模型幾步就到位,單價雖貴,整個任務的總成本反而可能更低。
Anthropic 並表示,在內部測試中,Fable 能完成 Opus 與 Sonnet 開到最高努力也做不完的工作,這也是它最該被省著用在硬仗上的原因。
要留意的是,官方將 Fable 5 定位為適合長時間、高難度任務的最強模型,但它並非 Claude Code 的預設模型,須手動切換;且它針對資安與生物領域內建安全分類機制,請求被標記時會自動改由 Opus 模型接手。
慎選模型,別浪費Token
Anthropic 解釋自家產品之餘,反覆勸用戶「預設值就好」、「把大模型留給難題」,教會用戶把昂貴的運算花在刀口上。
總之,當 AI coding 工具成為日常,「用多大的模型、開多少努力」會變成一門像雲端資源配置一樣的管理學。
建議讀主們先檢查脈絡,再動設定;先分清是知識問題還是執行問題,再決定換模型或調努力。
延伸閱讀:提示詞越寫越長反而害了你!Anthropic工程師:Claude Code團隊砍掉8成系統提示,模型才真正發揮
資料來源:Anthropic 官方部落格、Claude Code 官方 X 貼文、Claude Code 官方文件
本文初稿為AI編撰,整理.編輯/ 李先泰
