---
title: Claude Code 的 effort 不用自己挑了：effortless 快速上手（安裝、上方列、3 個用法）
description: effortless 是 Claude Code 的開源插件，每條 prompt 先讓 Haiku 5.5 判斷該開多少推理 effort，並在輸入框上方顯示上下文用量與快取狀態。這篇整理安裝方式、上方列怎麼看、3 個用法和作者自測數字。
date: 2026-10-11
category: ai-tools
tags: [Claude Code, effortless, 插件, 推理 effort, Haiku 5.5]
tldr:
  - effortless 每條 prompt 先讓 Haiku 5.5 挑推理 effort，簡單問題給 Low，難的工作給 High。
  - 作者用 Opus 5.5 跑四個寫 code 任務，每個任務的 API 費用比 medium 少 21%、比 xhigh 少 42%，答案全對；這是作者自測，樣本很小。
  - 輸入框上方的列顯示上下文用量與快取倒數，對話太重時可以一鍵 Handoff 或 Compact。
cover: /images/claude-code-effortless/cover.jpg
draft: false
---

## 有沒有這種經驗：每條 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。
