AIDive

4 款 Claude Code 省 token 工具實測:一款反而更貴

AIDive · 發布

編碼 agent

JetBrains 說不行,我的機器說 1160 萬

2026 年 7 月,JetBrains 花了約 320 美元的 API 額度、425 次計費試跑,去驗證 rtk 這個數萬名開發者拿來在 Claude Code 省 token 的 shell 代理。結論是:每個任務反而貴了 7.6%。兩週前,同一批人量測了號稱能砍掉 65% token 的 skill caveman,得到的數字是 8.5%。而在我自己的機器上,rtk gain 顯示 25,599 個指令共省下 1160 萬 token。

兩組數字都是真的,只是量的不是同一件事:一個是完成一個任務的成本,另一個是 bash 輸出的位元組。

數字 量的是什麼 來源
每任務 +7.6%(p=0.004) 裝了 rtk 之後一個任務的端到端成本 JetBrains,425 次試跑,約 320 美元
輸出 token 的 8.5% caveman 在代理式工作上的實測節省 JetBrains,82 組配對任務
65% caveman 宣稱的節省 caveman README
省下 1160 萬(41.6%) rtk 壓縮掉的 bash 輸出位元組 rtk gain,25,599 個指令

這就是四件工具組成的 stack:graphify、rtk、Superpowers 和 caveman,截至 2026-09-02 合計 575,612 顆 GitHub 星。每一個都碰到帳單的不同區塊。

工具 星數(2026-09-02) 語言 授權
Superpowers 280,792 Markdown skills MIT
graphify 113,946 Python Apache-2.0
caveman 102,548 Go MIT(skill)
rtk 78,326 Rust Apache-2.0

token 到底花在哪裡

Claude Code 的帳單有兩面。輸入 token 是模型讀的一切:每個 shell 指令的輸出、你的 prompt、系統 prompt,以及每次呼叫都重播一遍的完整對話歷史。輸出 token 是模型寫的一切。

rtk 自己的文件畫的正是這棵樹,還加上一句它的發表文從沒說過的話:「一個少顯示 90% 輸出位元組的指令,不會讓你的 session 便宜 90%。」

JetBrains 替讀取端補上了數字:重跑 83 個基準 session,190 萬個字元的工具輸出。

模型所讀內容的區塊 字元數 佔比
rtk 能壓縮的 shell 輸出 373,339 19.7%
rtk 沒有規則的 shell 輸出 879,326 46.3%
完全繞過 rtk 的檔案讀取與搜尋工具 646,613 34.0%

模型讀的內容中,只有五分之一是 shell 代理壓得到的——Claude Code 內建的 ReadGrepGlob 從來不經過 Bash hook。

由此可以畫出四件工具的地圖:graphify 縮小 agent 讀的量,rtk 縮小 shell 回傳的量,Superpowers 縮小每個任務背負的歷史並決定由哪個模型背,caveman 縮小 agent 講的量。讀取端是帳單較大的那一半,所以排名從那裡開始。

graphify:走節點,不讀行

graphify 是一個 skill,能把一整個 codebase——連同文件、SQL schema、設定檔和 PDF——變成可查詢的知識圖譜。你在 Claude Code、Cursor、Codex 或 Gemini CLI 輸入 /graphify .,專案就被建圖一次,之後 agent 就查圖,而不是 grep 檔案。

程式碼用 tree-sitter AST 在約 40 種語言上本機解析:決定性、不呼叫 LLM、沒有任何東西離開機器。建圖花費的 LLM 額度是零。它產生三個檔案:可以點開瀏覽的 graph.htmlGRAPH_REPORT.md,以及圖本身 graph.json,不必重讀檔案就能查詢。每個節點是一個概念(檔案、函式、類別),每條邊都被標記:原始碼中明寫的標 EXTRACTED,由 graphify 推導出來的標 INFERRED。節點以 Leiden 演算法分群成子系統。

在我們自己的一個專案上跑內建 benchmark 的結果:

指標 數值
節點 34,031
56,865
偵測到的社群 967
邊的來源 76% EXTRACTED · 24% INFERRED
整份語料的樸素讀取 1,701,550 字 ≈ 2,268,733 token
平均一次圖查詢 約 24,702 token
縮減 每次查詢少 91.8 倍 token

不同問題差距很大:「what is the main entry point」是 679.1 倍,「what connects the data layer to the api」只有 34.0 倍。

兩個限制。這個比較的基準是「全部讀一遍」,而以 grep 為主的 session 本來就沒那麼貴,所以實際收益更小。另外圖會過期——用 graphify update <path>--watch 或 git hooks 更新——而針對文件、PDF 和圖片的語意處理確實會呼叫模型,確實會花 token。

安裝:uv tool install graphifyy(套件名有兩個 y),接著 graphify install

rtk:shell 代理上法庭

rtk 是 Claude Code 和你的 shell 之間的 CLI 代理。lscatgit status 這類普通指令會回傳一大堆雜訊,而 agent 必須把它當輸入 token 讀進去:檔案權限、進度條、一百行通過的測試。rtk 執行同樣的指令,回傳一個精簡版:單一 Rust binary、支援 100 多個指令、額外開銷低於 10 毫秒。一個 PreToolUse hook 會在執行前改寫每個符合條件的 Bash 呼叫(git statusrtk git status),所以 agent 完全不用記。

作者的發表文宣稱兩週省下 1020 萬 token、89.2%,例子包括 cargo test 從 155 行變成 3 行。我們自己的儀表板,在 25,599 個指令之後:

指令 呼叫次數 省下 token 比率
rtk find 354 220 萬 46.6%
rtk read 3,504 220 萬 10.4%
rtk grep 2,760 190 萬 47.7%
rtk ps aux 24 110 萬 98.0%
rtk diff 39 54.11 萬 92.2%
合計 25,599 1160 萬 41.6%

接著是審判。JetBrains 照原樣安裝 rtk,在 claude-sonnet-5 上把 86 個任務各跑兩次。

JetBrains 的發現 數值
rtk 能改寫的 shell 指令 1,056 個中的 349 個(三分之一)
總節省的上限 帳單的約 3%
每任務成本,低 reasoning effort +7.6%(p=0.004)
每任務回合數 +13.8%(p=0.03)
每任務成本,高 effort ±0%
任務品質 不變

rtk 的 README 現在講得很直白:最多壓掉 90% 的 bash 輸出,「這和把你的帳單砍 90% 不是同一回事」,而且它自己的計數是用 bytes / 4 估的。

結論:免費,壓縮是真的,用 JetBrains 的話說「常常很有品味」。留著給 bash 很多的 session 用,但別指望它動得了帳單。

Superpowers:先定框架,再切成小到不會失敗的任務

Superpowers 是 Jesse Vincent 為 Claude Code 寫的外掛——280,792 顆星、十四個 skill、一行安裝指令(/plugin install superpowers@claude-plugins-official)。它不壓縮任何東西,卻能省 token。

一切從 brainstorming skill 開始,檔案開頭就是一道硬閘:在明確意圖被核可之前,不准寫程式、不准搭骨架、不准載入任何實作 skill。skill 一載入,agent 就變成腦力激盪的夥伴,實務上在動工之前,專案的好幾個部分會被重新想過。這是最重要的階段,因為最貴的 token 就是花在做錯東西上的那些。

skill 會把工作分成 spike、有界的變更、架構性的變更,而規則就寫在檔案裡:「在兩條路之間猶豫時,選比較重的那條。」它甚至替失敗模式取了名字,有一節反模式叫「Too Simple To Need Approval」。架構這條路會產出一份你要驗收的 spec,然後是實作計畫。

可靠度來自計畫。writing-plans skill 把工作切成每步只做一件事、2 到 5 分鐘的步驟:寫一個會失敗的測試、跑一次確認它失敗、寫最少的程式碼讓它通過、再跑一次測試、commit。計畫是以「工程師沒有任何背景知識」為前提寫的。這麼小的任務放進全新的 context window 還綽綽有餘,agent 永遠不會在 window 飽和的狀態下做到任務尾聲——而幻覺程式碼正是從飽和的 window 出來的。

限制在於儀式感。檔案說它會隨任務規模調整,但一行的修正照樣觸發那道閘,那也是 token。

Superpowers:一個任務、一個 subagent、一個剛好的模型

然後計畫開始執行,token 的算式就變了。一個任務,一個 subagent。每個 subagent 都用只裝著自己任務的全新 context 啟動,從不帶 session 歷史,所以協調者的 window 保持小、subagent 的 window 保持乾淨。每個任務結束後協調者檢查結果:OK 就下一個任務,不 OK 就把修正丟回一個 subagent。每個任務最多五輪——第 1 到 3 輪由原本的實作者續做,第 4 輪換一個全新實作者、用更強的模型,第 5 輪協調者自己裁決。

真正付得起這一切的規則是模型選擇:「為了省成本,每個角色都用能勝任的最弱模型。」協調者替每個任務評難度,挑對應的模型。

任務類型 模型層級
機械式、規格明確;計畫裡已經有程式碼 最便宜/小型模型
跨檔案協調、除錯 標準模型
架構、branch 最終審查 最強模型
未指定模型 沿用 session 的模型

同一份檔案裡還有一個細節:「回合數勝過 token 單價。」一個要三回合才做完的便宜模型並不便宜。實務上,這就是讓 Opus 和 Fable 在 20 美元 Pro 方案上可用的原因——貴的模型只碰少數幾個任務,而不是整個 session。

最後一項好處是文件。每份 spec 和計畫都是 markdown 檔,存在 docs/superpowers/specs/docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md,工作結束時 commit。在這個頻道自己的 pipeline 裡,遷移到目前這套影片引擎就是一份 spec 加一份十四個任務的計畫,現在還能打開、在新 session 裡引用、繼續往上疊。agent 做過的事沒有一件沒被記錄。

caveman 和 Concise 風格:少說話

最後一塊是 agent 說了什麼。agent 很愛敘述——「當然」、「很樂意幫忙」、「你遇到的問題可能是因為」——這些都是白花的輸出 token。

caveman 是 Julius Brussee 的 skill,102,548 顆星,讓 agent 講話像穴居人:拿掉冠詞、贅字、客套和模稜兩可,照著 [東西] [動作] [原因]。[下一步]。 的句型走。程式碼、指令、檔案路徑和精確的錯誤訊息絕不會被動到,只有周圍的散文會。它有三個等級(/caveman lite|full|ultra)和一個開機就啟用的 SessionStart hook。

它自己的表格顯示,用 Claude API 送十個 prompt,不開 skill 平均 1,214 個輸出 token,開了是 294——65%,最好的情況 87%,最差 22%。

現實檢驗也是 README 自己給的:這個 skill 只縮短輸出,輸入和推理 token 不變,而且它自己的規則每回合要花掉約 1 到 1.5k 個輸入 token。JetBrains 在 82 組配對的代理式任務上量測,成本約 106 美元。

caveman 宣稱 實測(JetBrains)
輸出 token 節省 65% 8.5%(59.2 萬 → 54.2 萬)
品質影響 偵測不到退化(符號檢定 p=0.82)

落差是結構性的:agent 的輸出大多是程式碼和工具呼叫,而 caveman 很正確地不去碰它們。JetBrains 的建議是:「喜歡就用。它很有趣,而且在品質上不會讓你付出任何量得出來的代價。」

而且從 Claude Code v2.1.237 起就有內建版本了,也就是 Concise 輸出風格:Claude「先講結果,跳過鋪陳和敘述,預設把回覆保持簡短」。在 /config → Output style 選它,設定會存進 .claude/settings.local.json/clear 或開新 session 之後生效。兩者共同的限制是:輸出風格只作用於主對話——subagent 跑的是自己的系統 prompt。

結論:什麼動得了帳單,什麼只動零頭

依照每個工具真正動到的部分排名,並列出它們各自的代價。

名次 工具 動的是什麼 實測效果 代價
1 Superpowers 每個任務的歷史+由哪個模型讀 貴的模型只處理少數任務,而非整個 session 每個任務都有閘,一行的修正也不例外
2 graphify agent 讀的東西 相對於樸素讀取整份語料,每次查詢少 91.8 倍 token(我們的專案) 圖會過期;語意處理會花 token
3 rtk bash 輸出位元組 上限約帳單的 3%;JetBrains 測試中低 effort 每任務 +7.6% 三個 shell 指令中只有一個有規則
4 caveman / Concise agent 寫的散文 輸出 token 的 8.5%,品質不變 每回合約 1 到 1.5k 輸入 token

Superpowers 勝出,而且不是靠任何壓縮:每個任務一份全新 context,加上用做得來的最便宜模型,這兩件事改變了「讀什麼」和「誰來讀」。graphify 第二,因為少讀是帳單裡較大的那一半。rtk 真實、免費、無害,但三分之二的 shell 指令和所有檔案讀取都繞過它。caveman,或者 Claude Code 現在內建的 Concise 風格,修的是最小的那一塊。

四個安裝都免費——graphify 和 rtk 採 Apache-2.0,Superpowers 採 MIT,caveman skill 採 MIT。超過 57 萬顆星說明大家都想要奇蹟。誠實的版本是一份排名。

來源

常見問題

在 Claude Code 省 token 最好的方法是什麼?
改變 agent 讀什麼、以及由哪個模型讀,而不是壓縮文字。Superpowers 外掛給每個任務一份只裝著該任務的全新 subagent context,並指派能勝任的最弱模型。這比任何輸出壓縮器都更能動到帳單。
rtk 真的能降低 Claude Code 的成本嗎?
幾乎不能。它對 shell 輸出的壓縮是真的,但 JetBrains 發現三個 shell 指令中只有一個有規則,而模型所讀的內容只有五分之一壓得到,因此節省上限大約是帳單的 3%。在他們 86 個任務的 A/B 中,rtk 在低 reasoning effort 下每任務貴 7.6%,在高 effort 下持平,品質不變。
既然帳單沒降,rtk 為什麼回報省下數百萬 token?
rtk 數的是它移除掉的 bash 輸出位元組,以 bytes/4 估算,而不是金額。我們的儀表板顯示 25,599 個指令省下 1160 萬 token(41.6%)。它自己的文件講得很直接:一個少顯示 90% 位元組的指令,不會讓你的 session 便宜 90%。
graphify 是什麼?它能省 token 嗎?
graphify 是一個 /graphify skill,用 tree-sitter 在本機把 codebase 解析成可查詢的知識圖譜,不呼叫 LLM,建圖零額度。之後 agent 會走邏輯節點,而不是 grep 檔案。在我們的專案上,內建 benchmark 測到每次查詢比讀完整份語料少 91.8 倍 token,不過那個基準是樸素的全讀,不是以 grep 為主的 session。
caveman skill 值得裝嗎?
只有在你覺得好玩的時候。它宣稱能砍 65%,但 JetBrains 在 82 組配對任務上量到的是輸出 token 的 8.5%,而且偵測不到品質退化,因為程式碼和工具呼叫被正確地保留。此外它自己的規則每回合還會多花約 1 到 1.5k 個輸入 token。
Claude Code 的 Concise 輸出風格是什麼?
從 Claude Code v2.1.237 起內建的輸出風格,讓 Claude 先講結果、跳過鋪陳與敘述、預設把回覆保持簡短。在 /config 裡選擇,設定存進 .claude/settings.local.json,而且只作用於主對話——subagent 仍使用自己的系統 prompt。
Superpowers 怎麼讓 Opus 或 Fable 在 20 美元方案上可用?
它的 subagent-driven-development skill 要求協調者為每個角色使用能勝任的最弱模型:規格明確的機械式任務用最便宜的層級,跨檔案工作與除錯用標準模型,只有架構和最終審查才用最強的模型。這樣貴的模型只碰少數幾個任務,而不是整個 session。

相關影片