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 內建的 Read、Grep、Glob 從來不經過 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.html、GRAPH_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 代理。ls、cat、git status 這類普通指令會回傳一大堆雜訊,而 agent 必須把它當輸入 token 讀進去:檔案權限、進度條、一百行通過的測試。rtk 執行同樣的指令,回傳一個精簡版:單一 Rust binary、支援 100 多個指令、額外開銷低於 10 毫秒。一個 PreToolUse hook 會在執行前改寫每個符合條件的 Bash 呼叫(git status → rtk 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 萬顆星說明大家都想要奇蹟。誠實的版本是一份排名。
AIDive