# Claude Code 的 effort 不用自己挑了:effortless 快速上手(安裝、上方列、3 個用法) - 網址:https://agentwei.pages.dev/posts/claude-code-effortless/ - 發布日期:2026-10-11 - 更新日期:2026-10-11 - 分類:AI 工具教學 > effortless 是 Claude Code 的開源插件,每條 prompt 先讓 Haiku 5.5 判斷該開多少推理 effort,並在輸入框上方顯示上下文用量與快取狀態。這篇整理安裝方式、上方列怎麼看、3 個用法和作者自測數字。 ## 有沒有這種經驗:每條 prompt 都要想一次 effort 開多少 用 Claude Code 的人,每送出一條 prompt,背後都有一個小選擇:推理 effort 開多少。 一律開最高,省得想。每次手動切,又多一個每條都要做的判斷。 開高開低差多少?README 有一組作者自測:同樣四個寫 code 任務,Opus 5.5 開 xhigh,每個任務 $0.257、44 秒;開 medium,$0.190、24 秒。 我最近看到一個開源插件 effortless,就是處理這件事。effortless 是 Claude Code 的 mod,每條 prompt 先讓 Haiku 5.5 判斷該開多少推理 effort,簡單問題給 Low,難的工作給 High,你不用再碰 Effort 設定。 它還在輸入框上方放一條列(README 叫它 bar),顯示對話的上下文有多滿、prompt 快取還能熱多久,對話太重時一鍵 Handoff 或 Compact。 ![effortless 頂部橫幅:輸入框上方一條列,替每條 prompt 挑推理 effort](/images/claude-code-effortless/official-banner.png) ## 為什麼值得 整理 README,理由有三個。 **1. effort 交給 judge 判斷。** README 說 judge 每條 prompt 讀一次,大約一秒給答案,跑在你自己的 Claude 登入上。預設的 Haiku 不用任何 key。 **2. 作者自測有省錢數字。** 四個真實寫 code 任務,用 Opus 5.5 跑,每個任務的 API 費用比 Anthropic 建議的 medium 少 21%、比 high 少 29%、比 xhigh 少 42%,答案全對。這是作者自測,限制很多,後面「省多少」整段講。 **3. 快取狀態看得見。** README 說每個 request 都會重讀整段對話。作者看了 80k 個真實 Claude Code request,大約 76% 的費用花在這個重讀。列上的快取倒數,就是為了讓你在快取變冷前先處理對話。 Haiku 5.5 本身也便宜。README 說它比 Haiku 4.5 便宜大約 75%,而且 Anthropic 把 compaction 和快速、定義清楚的工作列為它擅長的事。effortless 用 Haiku 5.5 做三件事: | 用在哪 | 做什麼 | | --- | --- | | judge | 讀每條 prompt、挑 effort,大約一秒,用你自己的 Claude 登入 | | 能換就換便宜模型 | 實驗功能,預設關閉。打開後,judge 判成簡單的 prompt 可能改跑 Haiku 5.5(或 Sonnet),不會高過對話本身的模型 | | Compaction | 每次壓縮對話(包括 `/compact` 和自動壓縮)都由 Haiku 5.5 寫摘要;Haiku 失敗就照 Claude Code 原本的方式壓縮 | ![effortless 在 Claude Code 對話裡的整體示範:每條 prompt 的 effort、Handoff、快取變冷、對話變重、額度與設定](/images/claude-code-effortless/official-story.gif) ## 安裝:三種方式選一種 README 說安裝有兩種方式,都只要一分鐘左右,不用開終端機。第二種「打指令」另外給了終端機一行版,所以下面整理成三種。 ### 方式 1:請 Claude 幫你裝(README 說最簡單) 1. 打開 Claude Code。 2. 把下面這段原文貼進對話框,按 Enter。 ```text Install the effortless plugin for me: run `claude plugin marketplace add HeyCubit/effortless` and then `claude plugin install effortless@effortless`. When both succeed, tell me to run /reload-plugins. ``` 3. 兩個指令都成功後,Claude 會請你執行 `/reload-plugins`。 ### 方式 2:在 Claude Code 對話框打兩行指令 1. 輸入第一行,加入 marketplace: ```text /plugin marketplace add HeyCubit/effortless ``` 2. 輸入第二行,安裝插件: ```text /plugin install effortless@effortless ``` ### 方式 3:在終端機打一行 ```bash claude plugin marketplace add HeyCubit/effortless; claude plugin install effortless@effortless ``` ### 裝好之後 1. 執行 `/reload-plugins`,或重開 Claude Code。 2. 輸入框上方會跳出簡短設定。選只用 Haiku(一鍵、不用 key),或加上 Jev(要 TypeSafe 的 key,README 說判斷 effort 大約快 4 倍)。 3. 在同一個設定裡選偏便宜還是偏聰明,以及 handoff 要怎麼寫。 4. 想重跑一次設定,輸入 `/effortless setup`。之後任何一項都能在 ⚙ 改。 更新不用自己追。新版本出來時,輸入框上方會出現一張卡片,選 **Update** 或 **Later**。按 Update,新版本就在你按下的那個對話載入,不用打字。 ### 在終端機 CLI 用 effortless 在終端機版也能畫出那條列(還有會動的像素圖)。不過 README 說,Claude Code 在終端機可能還不會載入插件的程式碼。重開後 `/effortless` 說 mod 沒載入,就把這段加進 `~/.claude/settings.json`,再重開一次: ```json { "env": { "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1" } } ``` 作者在 Claude Code 2.1.285(stable)、2.1.286、2.1.288 測過,欄寬 80 和 120。欄寬小於 90 時,像素圖會拿掉。 ## 上方列怎麼看 ![上方列:先顯示 Deciding,簡單問題變 Low,重構變 High](/images/claude-code-effortless/official-hero.gif) | 列上看到的 | 意思 | | --- | --- | | **High · Opus** | Auto 替這條 prompt 挑的 effort,加上對話用的模型。judge 還在想時顯示 `Deciding`;換檔時閃一下紫色,再淡回白色 | | **◔ 38%** | 對話上下文用了多少 | | **cache 59:00** | 離 prompt 快取變冷還有多久。變冷之後,下一則訊息要用全價重讀整段對話 | | *Haiku: a refactor…* | 誰判的、為什麼這樣判 | | **Auto** | judge 的開關。你自己在 app 裡改 effort,下一則訊息起 Auto 就關掉,而且會告訴你。README 原話是「you always win」 | | **Compact** | 壓縮對話。Haiku 判斷開新對話比較划算時,它會變成發亮的 **Handoff**,Compact 縮成旁邊的小字 | | **⚙** | 設定 | ### 快取變冷時 大對話的快取一旦變冷,整條列會變成冰的樣子,列上有 **Compact** 和 **Handoff** 兩個按鈕。 ![對話變冷時的列,會像呼吸一樣明暗變化](/images/claude-code-effortless/official-cold.gif) ### Handoff Handoff 會寫一份對話摘要,然後在乾淨的新對話接著做。 - **Quick**:幾秒鐘。 - **Full**:會檢查 git,存一份 `HANDOFF.md`(或改跑你自己的 skill)。 寫完之後有三個選擇:清掉對話接著做、清掉對話先等,或保留對話、只複製摘要。 ![Handoff 列,有 Quick 和 Full 兩種](/images/claude-code-effortless/official-handoff.png) 什麼時候會建議 Handoff?README 說,上下文用到 30% 起,Haiku 每隔一則訊息看一次:這段對話原本要做什麼、話題怎麼走、最新一則回覆、上下文多滿。只有理由明確,它才會說開新對話比較好,Compact 按鈕就變成亮著的 Handoff,旁邊寫原因。想讓 Handoff 一直留在列上,到 Settings → Handoff → Handoff button 選 **Always**。 ### Compact Compact 可以加一段備註,告訴摘要要保留什麼。 ![Compact 列,有一個選填的摘要欄](/images/claude-code-effortless/official-compact.png) 每次壓縮預設由 Haiku 5.5 寫摘要,`/compact` 和自動壓縮也一樣。要改,到 Settings → Handoff → Compact with 切換。 ### 列還會提醒的三件事 - 對話被塞爆(每則訊息都要重讀大量上下文)。 - 5 小時或每週額度超過 80%。這時列會給一個 Save mode,把 effort 上限壓在 Medium。 - 你選的 judge 沒有回應。 ### 設定 ![設定面板,圖上四張卡片是 Effort、Judge、Handoff、Appearance](/images/claude-code-effortless/official-settings.png) 不喜歡列一直在那邊?Settings → Customize 有 **Minimal** 外觀,不顯示列。同一頁還能設 **Appearance**(跟 Claude Code 一樣、深色或淺色)和 **Theme**(紫色、Claude 橘或櫻花)。 ## 3 個用法 ### 用法 1:日常寫 code,effort 交給 Auto Auto 開著的時候,你什麼都不用做。 - 每條 prompt 送出,列上先顯示 `Deciding`,判完顯示 effort 和理由。 - 只打「go」「ok」「yes」這類短回覆,effortless 沿用上一個 effort,不問 judge。 - 想自己決定,直接在 app 裡改 effort,Auto 會在下一則訊息關掉並告訴你。要再打開,輸入 `/effortless auto`。 有加 Jev 的話,順序是 Jev 先判,Jev 不確定時換 Haiku。Jev 失敗或超過 3 秒,那一條改由 Haiku 判,effortless 每個 session 會告訴你一次原因(額度用完、key 被拒、沒有回應)。judge 的設定有三種: | 設定 | 做什麼 | | --- | --- | | `auto`(預設) | 用 Haiku;設定裡或 `TYPESAFE_API_KEY` 有 TypeSafe key 時,也用 Jev | | `haiku` | 只用 Haiku,永遠不用 key | | `jev` | Haiku 加 Jev,key 也可以從 `~/.config/jev/.env` 讀 | ### 用法 2:長對話快冷了,先 Handoff 或 Compact 這個用法對應前面那個 76%。README 說,讓對話保持短、在快取變冷前先壓縮,省的就是重讀那一塊。 1. 盯著列上的 `cache` 倒數。 2. 倒數快到、或列變成冰的,選 **Compact**,在備註寫要保留什麼。 3. 想換新對話,選 **Handoff**。趕時間用 Quick,要留紀錄用 Full(會存 `HANDOFF.md`)。 4. 不想點列,輸入 `/effortless handoff` 或 `/effortless handoff full`,沿用你上次選的後續動作。 桌面版 app 開 split view 時,Claude Code 只在左邊畫插件的列。右邊對話變冷、被塞爆或跑太熱時,最新一則回覆下方會掛一張小卡,寫出對應指令:`/compact`、`/effortless handoff` 或 `/effortless save`。 ### 用法 3:額度快用完,或想知道錢花在哪 1. 5 小時或每週額度超過 80% 時,列會提醒,開 Save mode 就把 effort 上限壓在 Medium。 2. 輸入 `/effortless stats`,看這個 session 裡 Auto 調過的 prompt,各 effort 花了多少,judge 用掉多少。 3. 輸入 `/effortless debug`,最末一行會寫上一個 request 實際跑的模型和 effort。 4. 想先看各種警告長什麼樣,輸入 `/effortless cold`、`swamp`、`hot` 或 `down`,列會立刻顯示那一種。 ## 省多少:作者自測的數字 先講清楚「省」是什麼:這是 Anthropic API 計價下,每個任務的費用。不是訂閱方案的額度。 作者的做法:在 repo 的乾淨副本裡跑四個真實寫 code 任務,每個任務 effortless 開、關各跑 3 次,走 Anthropic API,費用是真的扣款。每個答案都檢查過。2026-10-10 跑,共 96 次。 | Opus 5.5 | 答對 | 每個任務費用 | Request 數 | 時間 | | --- | --- | --- | --- | --- | | medium(建議值),沒開 effortless | 12/12 | $0.190 | 7.3 | 24 秒 | | high,沒開 effortless | 12/12 | $0.209 | 8.0 | 27 秒 | | xhigh,沒開 effortless | 12/12 | $0.257 | 9.9 | 44 秒 | | **開 effortless** | **12/12** | **$0.149** | **5.8** | **20 秒** | 換算下來,比 medium 少 21%,比 high 少 29%,比 xhigh 少 42%。 Sonnet 的結果比較平:對 medium 打平(README 說 Sonnet 開 medium 本來就很省),對 high 省 10%,對 xhigh 省 35%。 省在哪?README 說省在步驟變少。每個 request 都重讀整段對話,effort 低一點,模型發的 request 就少一點(表上 7.3 降到 5.8)。作者看了 80k 個真實 Claude Code request,費用大約 76% 是重讀、16% 是寫入快取、8% 是輸出。 限制也要一起看,作者自己列了: - 只有 4 個任務,各跑 3 次。 - 多半是簡單工作,effortless 會往低調。工作難的時候,它會挑比較高的 effort,省得比較少。 - 每次都是新對話、走 API,不是訂閱方案上的長對話。 想自己重跑,指令是 `bash bench/agentic/run.sh`。完整數字和限制在 repo 的 `bench/RESULTS.md`。 ## 判得準不準 effortless 內建 `/effortless bench`。它拿一組有標註的 prompt,丟給你設好的每個 judge,走的程式路徑和真實 prompt 一樣,再對照標準答案打分。每一題都列出「一個細心的人在那個模型上會接受的 effort」。題目在 `bench/judge-cases.json`,可以自己跑。 作者在 1.5.1 版跑了兩次,73 題,模型是 Sonnet 和 Opus 5.5: | Judge | 73 題全部 | 保留的 20 題 | 判太低 | 判太高 | 中位時間 | | --- | --- | --- | --- | --- | --- | | 永遠 medium | 44% | 40% | 17 | 24 | - | | 永遠 high | 51% | 50% | 0 | 36 | - | | Haiku | 92–93% | 95% | 1 | 4–5 | 0.75 秒 | | Jev | 99% | 100% | 0 | 1 | 0.24 秒 | README 自己寫了這張表能看什麼、不能看什麼: - 它量的是 judge 挑的 effort 合不合理,不是一個 session 花多少錢,也不是答案好不好。 - 73 題不多,judge 也不是每次結果都一樣,兩次之間差幾個百分點。 - judge 的 prompt 是用其中 53 題調的。另外 20 題沒拿來調,README 說那一欄才是誠實的數字。但這 20 題是第一次跑完、看出哪類訊息會判錯之後才寫的,所以也不算盲測。 - Haiku 剩下的誤判,大多是做完難的工作後,你回一句「yes」或「thanks」,它還把 effort 留在高檔。 這些準確度數字都是作者自己跑的測試。我覺得最容易判錯的,會是爬蟲相關的任務。 ## 使用時要注意的事 ### 1. Fable 5.1 和舊模型上,Auto 會暫停 README 說 effort 只在 Opus 5.5 和 Sonnet 5.5 上會變。在 Fable 5.1 和更舊的模型上,兩個 request 之間換 effort,會重寫大部分 prompt 快取,花的比省的多,所以 Auto 在那些模型上暫停,底部顯示 `Paused`。Haiku 本身沒有 effort 設定。 ### 2. 為什麼預設不換便宜模型 把一條簡單 prompt 移給 Haiku,單看那一條很划算:作者測的 30 題裡,有 27 題便宜模型的答案夠用,費用少 60% 到 77%。 問題在快取。每個模型有自己的 prompt 快取,對話到一半換模型,要先把整段對話寫進另一個模型的快取。作者在 80k token 的對話上量到,這樣做大約是留在已經熱好的 Opus 上的 5 倍費用(換 Sonnet 是 10 倍)。所以「能換就換便宜模型」預設關閉,標成實驗功能。要打開,到 Settings → Model。 ### 3. 金鑰與信任 - 預設的 judge 不用 key,Haiku 跑在你自己的 Claude 登入上。 - 只有加 Jev 才需要 key。用 `/plugin configure effortless@effortless` 輸入,不要打在命令列上,免得留在 shell 歷史;這樣 key 會存在 Claude Code 的安全儲存區。 - 在設定引導或 Judge 卡片裡貼的 key,會用明文存到 `~/.config/jev/.env`。共用電腦上,README 建議用 `/plugin configure`。 - key 只會送到 TypeSafe,不會送去別的地方。provider 有提供花費上限的話,README 建議用有上限的 key。 ### 4. 它會在你的電腦上執行程式 跟所有 Claude Code 插件一樣,effortless 會在你的電腦上跑程式。程式碼都在 repo 的 `hooks/`,README 建議:不認識作者,就先讀過再裝。 它會啟動的程式只有三種: - `claude` 本身:你按更新或解除安裝時用。 - `git`:檢查有沒有新版本。 - 按 Update 時,把新版本的檔案直接複製到你目前對話執行的資料夾。 README 也寫,除了把你的 prompt 送給你選的 judge,它不會把任何東西送出去。選了 Jev,那個 judge 就是 TypeSafe 的服務。 ## 我的看法 effortless 這種做法,我覺得像醫院的檢傷分類:先用簡短標準判斷急迫程度,再分配資源。 effort 一律開最高,代價是價錢差很多,還有等待時間。 以我自己工作上的經驗,Opus 寫得出來的 code 品質,其實交給 Sonnet 也沒問題。 不知道其他人的 effort 是一律開最高,還是每次手動切? ## 資料來源 - effortless GitHub repo(MIT 授權):https://github.com/HeyCubit/effortless - README(本文依據,擷取版本 commit 90154fa):https://github.com/HeyCubit/effortless/blob/main/README.md - 作者自測完整數字與限制:https://github.com/HeyCubit/effortless/blob/main/bench/RESULTS.md - judge 準確度測試題目:https://github.com/HeyCubit/effortless/blob/main/bench/judge-cases.json - 官方網站:https://heycubit.github.io/effortless/ - 文中圖片取自 effortless GitHub README。