跳至主要内容

12|輸出壓縮成穴居人講話(JuliusBrussee/caveman)

輸出壓縮成穴居人講話

🎯 一句話:把 Agent 的輸出壓成「穴居人講話」——去冠詞、去填充詞、去客套,保留否定詞/技術詞/程式碼/數字不動,實測平均省 65% 輸出 token。

  • Repo:https://github.com/JuliusBrussee/caveman
  • 這篇只講 skills/caveman/MIT,單一 Skill,無需安裝其他東西)——repo 本體是更大的產品(proxy/CLI/runtime,BSL-1.1),本站不裝那部分
  • 相容:README 宣稱支援 30+ 種 Agent(Claude Code、Gemini、Cursor、Windsurf、Cline…),本站只驗證 Claude Code

JuliusBrussee/caveman README

repo 頁面 About 寫著「why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman」,本身就用 caveman 語氣寫。截圖時已有 98.3k star、5.7k fork——規模遠超一般個人 Skill 專案,skills/caveman/ 只是其中一小塊。


只裝 Skill,不裝 CLI/proxy

repo 分兩塊授權:skills/、CLI、Agent SDK 是 MIT;接 provider 流量做壓縮的 runtime/proxy 引擎是 BSL-1.1(2030-06-21 才轉 Apache-2.0)。README 給的完整安裝指令會一路裝到 @caveman-ai/clicaveman setup --install(本地 proxy,攔截並壓縮輸入輸出流量)——這篇文章與本站不採用這條路,理由:

  1. Skill 是純 prompt 層的行為指示(改 Claude 怎麼說話),MIT、無執行期依賴,符合本站「複製進 .claude/skills/ 在地化」的慣例(見 00|總覽)。
  2. proxy/CLI 是攔截 provider 流量的執行期元件,牽涉信任邊界與授權(BSL-1.1),不是「抄一份 Skill 檔案」這麼單純,需要另外評估才能裝。

要用只需要 skills/caveman/SKILL.md 這一份檔案。


Skill 做什麼

六個強度分級

強度做法
lite只去掉填充詞/模糊語氣詞,冠詞與完整句子保留
full(預設)去冠詞,允許片語不成句,用短同義詞,去裝飾性內容
ultra連接詞能省則省(前提是語意不流失),去冗長縮寫
wenyan-lite半文言,去填充詞但保留語法結構
wenyan-full文言文極簡句式,實測字數減 80–90%
wenyan-ultra文言文美學下的極限縮寫

去掉的東西:冠詞、填充詞(just/really/basically)、客套話、模糊語氣(hedging)。 保留不動的東西:否定詞(not/never/no)、技術詞彙、程式碼區塊、API 名稱、錯誤字串、數字與單位、使用者原本使用的語言。 明講不要做的事:工具呼叫過程口白、裝飾性表格/emoji、自創縮寫、因果箭頭符號。

自動恢復正常語氣的例外:安全警告、不可逆操作的確認、多步驟序列(片語化容易被誤讀時)——這幾種情境即使開著 caveman 模式也不壓縮,避免「省字省出事故」。

作用範圍只在聊天輸出:程式碼註解、文件、commit message、第三方訊息不受影響,維持正常語氣——這點跟本站 00|總覽 分類地圖裡「輸出風格層」的定位一致,跟 i-have-adhd(03)同屬「怎麼講話」這一層,但一個是格式(答案放第一行),一個是壓縮率(去冗字)。

觸發詞:「caveman mode」「talk like caveman」「less tokens」「be brief」、/caveman;關閉只認 "stop caveman""normal mode"


值得抄的一件事

用「保留清單」而不是「刪除清單」定義壓縮邊界。 大多數壓縮/精簡類 Skill 容易寫成「不要講廢話」這種模糊指令;caveman 反過來明確列「否定詞/程式碼/錯誤字串/數字」這些絕對不能壓縮的東西,再加一組「安全警告/不可逆操作」的自動例外規則——邊界寫清楚,壓縮才不會壓到語意跑掉。