YouMind
登入

使用 Claude Code:如何分配你的精力

@trq212
英語2026年9月25日
725K
4.6K
378
248
6.9K

TL;DR

本文解釋如何在 Claude Code 中有效運用努力等級,並根據任務複雜度及自主驗證需求,詳述何時應套用低、中、高或最高設定。

我們最新 Claude 模型最棒的一點,就是它們能在不破壞 Claude Code 中 prompt cache 的前提下,根據 effort(投入程度)來調整回應方式。不過,我也收到很多使用者關於這方面的提問:effort 到底是什麼?什麼時候該用哪一種 effort 等級?我們為什麼需要 effort?

為了回答這些問題,我決定深入研究 evals(評估測試),並針對日常工作親自測試不同 effort 的表現。

註:你可以在 https://claude.dev/blog/spending-your-effort/ 看到這篇文章的更多互動式圖表與說明。

整體來說,我發現 effort 是一個很好的機制,可以用來調整 Claude 進行驗證與邊界情況測試的程度,以及它運用自身判斷力的比例。

在硬體、程式碼審查和安全性等「驗證與邊界情況測試」特別有用的領域,較高的 effort 能帶來更好的結果。

但低與中等 effort 則非常適合快速完成工作,並讓你持續參與在與 Claude 的協作流程中。

在一般的軟體工程工作中,我現在會跑這樣一個循環:先讓模型訪談我,接著用低/中等 effort 實作,檢視它完成的內容,最後再用高 effort 進行驗證。

什麼是 effort?

概括來說,effort 能讓模型大致了解你希望它在這個任務上投入多少運算資源。這在某種程度上也反映了你對任務難度的預期。

你可以這樣想:如果有人要求你連續工作 12 小時來完成一件事,你可能會認為對方只想要你拚命把東西做出來。但如果有人要你在一小時內完成同樣的任務,你會試著先交出最符合需求、品質最好的版本,然後再從那裡開始迭代。

或者,你也可能會反駁說這個任務「至少」需要 3 小時,然後花 3 小時把它完成。

你應該用同樣的方式來理解 effort。Claude 永遠都會合理地嘗試完成你的任務,但較高的 effort 會讓 Claude 採取更多自主行動來進行判斷與驗證。

Effort 曲線

Fable 5.1 和 Opus 5.5 的 effort 曲線是我們目前表現最好的——在每個等級上,基準測試分數與 token 消耗量都會隨之提升。下圖是我為這篇文章執行 eval 時所測得、依 effort 區分的 Terminal Bench 3.0 分數圖表。

Thariq - inline image

但這在實際應用中代表什麼意思?為了評估這一點,我用不同的 effort 等級嘗試了多項任務,並仔細研究了各項基準測試數據。

使用 effort 進行開發

要理解模型的運作方式,最好的方法就是動手實驗。我在 Opus 5.5 上用幾種不同的 effort 等級執行相同的任務,藉此觀察它會怎麼處理工作。我測試了各種類型的工作,這裡先用幾個簡單的範例來說明。

規格不明確的開發任務

如果我請 Claude「做一個個人健身與訓練紀錄 App」,effort 會大幅影響這個 App 的完整度,同時也會讓 Claude 在過程中做出更多決策。在低 effort 下,健身 App 只是一個紀錄表和一張簡單的圖表;在較高的 effort 等級下,App 會變得更複雜、細節更豐富;而在最高 effort 下,甚至會出現熱力圖。

Thariq - inline image

如果我想要的是一個可以繼續迭代的簡單基礎,低 effort 就能搞定。而最高 effort 則適合我想讓 Claude 一次就拿出最佳成果的時候。

規格略為明確的設計任務

如果任務本身已經有相當明確的規格,但我還是想跟 Claude 一起探索看看呢?舉例來說,我請它重新設計 Claude Code 中的 /config 選單。每一次執行的核心想法都差不多:使用子選單和更好的搜尋功能。

在低 effort 下(花了 1 分鐘),我得到了一個能傳達概念的互動式草圖,但看起來不太像 Claude Code。

在最高 effort 下(花了 28 分鐘),我拿到了一份非常接近 Claude Code 風格的 mockup,還附上好幾種操作流程的導覽說明。

如果我的目標是迭代並提供回饋,低 effort 能讓我更快達到目的。但最高 effort 一開始就能給我精緻得多的成果。就這個特定任務而言,我認為自己比較偏好使用低 effort 來理解 Claude 的設計構想。

Thariq - inline image

規格高度明確的開發任務

如果我給 Claude 非常多細節呢?我試著請 Claude 針對健身 App 對我進行深度訪談,然後把這份規格交給不同的模型、用不同的 effort 等級去實作。

我發現有了這份規格後,各模型的行為變得相似許多。我拿到的設計看起來相當接近,實作方式也類似,只是細節有所不同;而在最高 effort 下,Claude 會多花一些時間來簡化部分細節。

Thariq - inline image

重點整理

對於一般的軟體工程工作,尤其是新功能開發,該用哪個 effort 等級很大程度上取決於我希望自己參與到什麼程度。低 effort 讓 Claude 能快速回應並提供起點;較高的 effort 等級能完成更多工作,但 Claude 也會替我做出更多假設。

在功能開發上,我一直在用的一個特別有效的循環是:

  • 給 Claude 一份規格,並請它針對我遺漏的任何細節訪談我
  • 用低 effort 實作
  • 檢視成果,確認它是否掌握了正確方向,必要時用低 effort 迭代
  • 用高 effort 進行驗證與測試

Effort 等級如何影響困難任務的輸出

當然,以上都是些簡單的範例,Claude 本來就能輕鬆完成。那麼,當差異在於「Claude 能不能完成任務」時,又會是什麼情況?

要找出這類難題,就得去看基準測試,所以我深入研究了一個我很喜歡的測試:Terminal Bench 3,這是一個由社群貢獻的基準測試。

Terminal-Bench 3.0 的問題大致可分為安全性、硬體、ML、科學、軟體、維運和媒體等類別。你可以在這裡看到所有問題:https://github.com/harbor-framework/terminal-bench/releases/tag/v3.0.0,這些題目都來自社群,任何人都可以貢獻。

這些題目很值得一讀,能讓你了解這類模型面對的是什麼樣的問題。我發現自己對其中許多任務的規模與企圖心感到驚訝,它們比我平常遇到的任務複雜得多。

舉例來說,部分任務包括:

  • 硬體 (retro-console-soc):用 Verilog 打造一台能放進小型 FPGA 且可渲染測試 ROM 的 8 位元遊戲機。
  • 科學 (takens-embedding-lean):在 Lean 4 中形式化證明 Takens 嵌入定理。
  • ML (mp-checkpoint-consolidation):將 mixture-of-experts checkpoint 的 16 個分片合併成單一檔案,並重現參考 logits。
  • 維運 (intrastat-meldung):端到端完成一家公司的歐盟月底貿易統計申報。
  • 媒體 (layout-config-recreation):將海報圖片重建為可編輯的版面檔案。

邊界情況多時,較高的 effort 更有幫助

閱讀 Terminal Bench 3 的結果後,我最大的心得是:對於隱藏大量邊界情況的任務,較高的 effort 效果最好。

一個很清楚的例子是 html-js-filter,這是 Terminal-Bench 3.0 中的一個任務,要求寫出一個 HTML 過濾器,攔截所有將 JavaScript 偷偷注入頁面的手法。Fable 5.1 在低 effort 下的成績是 1/5,到了 xhigh 則提升到 5/5。

低 effort 的典型嘗試大約耗時 2 分鐘。每次嘗試幾乎都是一次就把過濾器寫完,然後只用一個手寫的頁面進行測試。

高 effort 的執行則大約需要 33 分鐘。在我追蹤的那次執行中,它以對抗性的角度審視了自己的初稿,接著閱讀已安裝解析器的原始碼來檢查 bug,跑了許多乾淨的測試案例直到輸出與輸入一致,執行標準的 XSS 測試套件,最後還寫了一個隨機文件模糊測試工具。

對於像 HTML 過濾器這種充滿邊界情況的東西,多花這些 effort 絕對值得。對於效能優化或安全性審查這類生產環境要求高、又十分複雜的任務,多消耗一些 token 來換取嚴謹度也很合理。

但你不需要對每個任務都投入這麼高的 effort。

下圖展示了所有 Terminal-Bench 3.0 的結果,以及在不同模型與 effort 等級下的失敗原因。整體而言,提高 effort 往往能減少因漏掉邊界情況而導致的失敗(紫色區塊),但無法修正模型採用錯誤解法的情況(藍色區塊)。

Thariq - inline image

Effort 真正派得上用場的問題領域

在 TerminalBench 上評估這些模型時,我最感興趣的發現之一是:某些問題領域比其他領域更能從 effort 中獲益。你可以從下圖看到詳細分類:

Thariq - inline image

為了說明這一點,我從 Terminal Bench 3.0 的不同領域中挑了幾個問題——Opus 5.5 在低 effort 下失敗,但在高 effort 下成功,主要原因就是它進行了測試並考量了邊界情況:

mvcc-lsm-compaction: Terminal-Bench 3.0 的一個任務,要求根據崩潰報告修復儲存引擎的 bug,且不能破壞 compaction。Opus 5.5 在低 effort 下是 0/5,在 xhigh 下則是 4/5。

在低 effort 下(每次嘗試約 1 分鐘),Claude 會在編譯或執行重現腳本之前就修改程式碼,而且沒有檢查新寫的測試是否真能抓到原本的 bug。

在 xhigh 下(約 11 分鐘),Claude 會先重現崩潰,接著針對一個永不 compaction 的參考實作撰寫隨機測試,並確認自己的測試在半成品修復上會失敗。

cli-2ph-simple: Terminal-Bench 3.0 的一個任務,要求用 Python 寫一個 CLI 線性規劃求解器。Opus 5.5 在低 effort 下是 0/5,在高 effort 下則是 5/5。

低 effort 的嘗試會一次寫完求解器,用幾個小問題檢查後,在大約 10k token 時就停下來。在最後一則訊息中,Claude 警告說遇到大問題時可能會很慢,但並沒有實際驗證。

在高 effort 的嘗試中,Claude 會用隨機問題測試它的求解器,並與另一個暴力求解器比對,接著計時較大的問題,遇到執行過久或崩潰的情況,然後重新調整搜尋策略。

gsea-proteomics:Terminal-Bench 3.0 的一個任務,要求對蛋白質體學資料執行基因集富集分析(GSEA),找出八種療法中哪些與目標組織相似。Opus 5.5 在低 effort 下是 0/5,在高 effort 下則是 4/5。

在低 effort 下,Claude 挑了一種聽起來合理的方式來準備資料,用那一種方式跑完分析,然後回報結果。

在高 effort 下,Claude 嘗試了兩種資料準備方式,發現顯著療法的清單因此改變,於是深入探究原因,最後才選擇正確的做法。

如果有使用者參與在流程中,Claude 可能會詢問使用者該如何設定這個問題;但在沒有使用者參與的情況下,高 effort 的表現更好。

在 Claude Code 中何時該使用不同的 effort 等級

以下是我決定何時使用哪種 effort 等級的經驗法則:

  • Low:當我想要快速回應並保持參與感時,例如腦力激盪、畫草圖、簡單的修改。
  • Medium:用於我大部分的日常軟體工程工作,例如新功能實作。
  • High:用於驗證很重要或存在邊界情況的工作,例如修復 brownfield 程式碼庫中的 bug。
  • Max:當我希望 Claude 完全自主地解決困難問題時,例如端到端建構並驗證一個 App,或在關鍵軟體中找出安全漏洞。
Thariq - inline image

你可以根據任務需求,甚至在對話中途,透過在 Claude Code 中使用 /effort 來切換 Opus 5.5 和 Fable 5.1 的 effort 等級。試玩之後,歡迎跟我分享這是否符合你的直覺。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章