使用 opencode 進行開發時,AI 代理會頻繁執行系統命令來完成任務。這些命令的輸出會消耗大量的 token,尤其是在處理大型專案或複雜命令時。rtk (Rust Token Killer) 是一個專門為 CLI 操作設計的 token 優化工具,可以節省 60-90% 的 token 使用量。
這篇文章紀錄怎樣在 opencode 內整合 rtk,讓 AI 代理執行的命令都能自動優化輸出,減少 token 消耗同時保持資訊完整性。
rtk 是一個用 Rust 編寫的 CLI 代理工具,主要功能是:
舉例來說,一般的 git status 輸出可能包含大量對 AI 無用的裝飾性文字,而 rtk git status 會輸出精簡版本,只保留檔案狀態等核心資訊。
RTK 透過 Homebrew 安裝(目前僅支援 macOS):
brew install rtk安裝完成後,確認安裝成功:
rtk --versionopencode 透過 openrtk plugin 自動整合 rtk。當 rtk 安裝後,所有系統命令都會自動透過 rtk 執行,無需手動修改命令。
在 opencode 內執行一般命令,觀察輸出格式:
git status如果 rtk 正常運作,輸出會比一般 git status 更精簡,只保留關鍵資訊。
使用 rtk gain 命令查看 token 節省情況:
rtk gain輸出會顯示:
範例輸出:
RTK Token Savings (Global Scope)
════════════════════════════════════════════════════════════
Total commands: 3
Input tokens: 325
Output tokens: 160
Tokens saved: 165 (50.8%)
Total exec time: 66ms (avg 22ms)
Efficiency meter: ████████████░░░░░░░░░░░░ 50.8%| 命令 | 說明 |
|---|---|
rtk gain | 顯示 token 節省統計 |
rtk gain --history | 顯示命令使用歷史及節省情況 |
rtk discover | 分析歷史命令,找出未優化的機會 |
rtk proxy <cmd> | 以原始模式執行命令(不壓縮) |
雖然 rtk 預設會優化所有命令輸出,但某些情況下需要原始輸出:
使用方式:
rtk proxy git status這樣會執行原始的 git status 命令,不經過任何壓縮處理。
根據實際使用經驗,rtk 在不同命令上的節省效果:
| 命令類型 | 節省比例 | 說明 |
|---|---|---|
git status | 50-60% | 移除裝飾性文字,保留檔案狀態 |
npm install | 70-80% | 過濾進度訊息,保留結果 |
ls -la | 40-50% | 精簡格式,保留關鍵欄位 |
find | 80-90% | 移除冗餘路徑資訊 |
在 opencode 內整合 rtk 可以顯著減少 token 使用量,特別是在頻繁執行系統命令的場景下。對於需要大量 CLI 操作的 AI 代理工作流,這是一個非常實用的優化手段。
建議的安裝步驟:
透過這種方式,可以在不影響開發效率的前提下,有效降低 LLM 的 token 消耗。