用 caveman 讓 AI 閉嘴,只講重點

AI 每句話都先跟你客套三行。caveman 是一段 50 行的 prompt,把這層廢話整個砍掉,技術內容一個字都不少。我實測了中英日三種語言:中文能砍掉約 70%。

github.com/mattpocock/skills @ 2bf7005

1. AI 的客套,是你每天都在繳的一筆稅

你整天搭著 AI 寫程式,一天來回幾十輪。最煩的是什麼?

不是它不懂技術。是它每句話都先跟你客套三行:

當然!我很樂意幫你。你遇到的這個問題,其實很可能是因為……

真正有用的,就最後那一句。前面全是鋪陳。

這層鋪陳不只是看了礙眼。它實實在在地燒 token、拖慢回應,還把上下文視窗一點一點塞滿——你跟它聊得越久,這筆「客套稅」就繳得越兇。而你從頭到尾都沒想要它。

caveman 做的事,一句話就講得完:讓 AI 像個聰明的穴居人那樣講話。技術內容一個字都不少,客套、鋪陳、那些模稜兩可留後路的話,全砍掉。

它是 Matt Pocock 那套 skills 裡最小的一個——整個檔案 50 行。但你裝上、用過一次,大概就回不去了。

2. 它沒什麼玄機:一份「閉嘴只講重點」的約定

你可能以為這背後藏著什麼複雜機制。沒有。caveman 整個 SKILL.md 就是一份回話風格的約定,核心三條:

砍什麼。 砍掉沒有資訊量的虛字(其實、基本上、簡單來說)、客套話(當然、我很樂意),還有那些留後路、話不講死的措辭。一個詞講得清,就別用一整句。因果關係直接用箭頭:X -> Y

但有一條紅線,我特地幫你加粗:

技術名詞照舊,程式碼區塊原樣,錯誤訊息一字不改。

換句話說,它砍的是廢話,不是資訊。這跟「你給我講短一點」那種粗暴壓縮根本是兩回事——後者會把有用的細節一起丟掉,caveman 不會。

一旦開啟,就一直生效(skill 裡叫 Persistence)。不會聊個幾輪又慢慢飄回囉嗦。你不喊停,它就一直這樣講話。

遇到危險時,它會自己切回正常(skill 裡叫 Auto-Clarity 例外)。碰到刪資料庫、不可逆的操作、要分好幾步才講得清楚的事,它會暫時恢復完整表達,把話講明白,再切回去。

這第三條,正是 caveman 比「無腦求精簡」高明的地方:省 token,但不在該囉嗦的地方偷懶。 你細想一下,這個分寸是有設計過的。

3. 三步,馬上看見差別

光說不練沒意思。裝起來,你自己看一眼前後對比。

裝。 它是 mattpocock/skills 裡的一個 skill,用官方那行命令裝,跟著提示把 caveman 勾起來:

npx skills@latest add mattpocock/skills

(如果你已經把儲存庫 clone 到本機,也可以直接把那個目錄複製進你專案的 .claude/skills/。)

開。 對 Claude Code 講一句 caveman mode,或者敲 /caveman。不想要了就講 normal mode

比。 拿同一個問題問它——比如「為什麼我的 React 元件,父元件一渲染它就跟著重新渲染?」

平常它會丟給你三四段:預設行為、React.memouseMemo/useCallback、children,最後再叮嚀你別過早最佳化。caveman 模式下,長這樣(這是我真的跑出來的,不是我編的):

預設行為。父元件 render -> 子元件 render,不管 props 有沒有變。

砍掉重新渲染三招:

  • React.memo(子元件) -> props 淺比較,沒變就跳過
  • 傳給子元件的物件/陣列/函式:用 useMemo / useCallback 包起來,否則每次都是新參考 -> memo 失效
  • 狀態下沉,讓父元件別因為無關的 state 變動而 render

排查:裝 React DevTools Profiler,看誰在 render、為什麼。

React.memo、淺比較、參考穩定、狀態下沉、Profiler——一個資訊點都沒少。但你一眼就讀完了。

這就是第一個真結果。不用我吹,你自己跑一遍就信了。

4. 我替你算過帳:中文省 70%,但要分語言

caveman 的原始說明裡寫著它「省約 75% 的 token」。

但這是作者自己報的數字,沒附方法。這種話,聽聽就好——別人說省多少不算數,得自己量過才算

所以我量了,而且測了三種語言。我挑了 6 個開發者隨口會問的真問題(React 重新渲染、連線池、Node 記憶體洩漏、async/await、git 撤銷 commit、JWT vs session),讓 AI 分別用普通模式和 caveman 模式各答一遍,數字元。基線我用的是真實、不刻意囉嗦的回答——不是故意灌水拿來湊數的稻草人。

結果:

語言(各自普通 vs caveman)字元降幅
中文約 70%
英文約 63%
日文約 52%

約七成、六成、五成——都很可觀,而且資訊一個都沒丟。但你看出來了:降幅隨語言差挺多。 中文裡的客套和虛字最多、能擠的水分最大;日文就算普通模式也相對緊湊,caveman 能擠的空間就小一些。所以**「省 75%」不能當成放諸四海皆準的標語**——它跟你用什麼語言有關。

把方法攤開講,不假裝嚴謹:我用「不含空白的字元數」當替代指標,不是精確的 token 數(測試環境沒裝 tokenizer)。同一種語言裡,字元數的比例約等於 token 比例,所以同語言內的降幅可信;但跨語言的絕對字元數不能直接比,我比的是每種語言各自的降幅。樣本就 6 題,只是給你一個量級的感覺。

還有一個量出來的意外,順便跟你講:caveman 預設會往英文電報體飄——它本來就是為英文設計的,你用中文問,它常常用英文極簡回你。台灣開發者習慣中英夾雜,平常聊技術摻幾個英文詞無所謂;但 caveman 飄起來不是摻幾個詞,而是整段都變英文,你要的繁體中文就不見了。想要它乖乖用繁體中文回,開啟時就得明講一句「用繁體中文」。(我第一次測沒按住,數字就混進了「中文 → 英文」的語言切換,不乾淨;按住語言重測,才得到上面那張表。)

5. 但別整天開著——它有它的脾氣

caveman 很好用,可它不是那種「開了就一勞永逸」的開關。有幾件事先跟你講清楚:

  • 它會往英文飄(上面講了)。要哪種語言,開啟時就明講。
  • 碎句多,容錯低。 它砍連接詞、愛用短句碎句,資訊密度高,但你一恍神就容易讀岔。所以:要給別人看的產出、要發出去的正式文件、複雜的多步推理——別開 caveman。 那種場合,「講清楚」比「省 token」重要太多了。(好在 Auto-Clarity 會在危險和多步情境自動恢復,但你心裡得有數:它是給「你跟 AI 高速對話」用的,不是給「AI 寫給別人看」用的。)
  • 它是風格,不是能力。 caveman 不會幫你多做一件事,它只改變 AI 跟你講話的方式。把它當成一個常駐的「省流量模式」就好,別指望它替你跑完什麼工作流。

一句話:對話時開它,要正經輸出時關掉它。 這個分寸拿捏好,它就一直是你的好工具。

6. 速查卡

安裝:npx skills@latest add mattpocock/skills        # 跟著提示勾 caveman
開啟:對 AI 說 "caveman mode"  或  /caveman
關閉:"normal mode" / "stop caveman"
語言:開啟時明講「用繁體中文」,否則它會往英文飄

砍掉:沒資訊的虛字(其實/基本上)、客套(我很樂意)、留後路的話
保留:技術名詞、程式碼區塊、錯誤訊息原文 —— 一字不動
因果:用箭頭  X -> Y
例外:危險操作 / 多步驟 -> 自動恢復完整表達(Auto-Clarity)
別用:正式文件 / 教學 / 給別人看的產出 -> 關掉它
實測:中文省約 70%、英文約 63%、日文約 52%(作者自報約 75%)

7. 延伸

  • 這個 skill 的原始碼:mattpocock/skills · caveman(MIT 授權)
  • 喜歡這種「一段 prompt 就改變 AI 行為」的玩法?Matt 那個儲存庫裡還有一堆,這個系列會接著拆。
  • 想跟 Matt 本人和幾萬個開發者一起聊這些 skill,他的 newsletter 是個去處。

本文是 usesuperpowers.com 的原創教學,講解的 caveman skill 來自 mattpocock/skills(source_commit: 2bf7005),遵循其 MIT 授權。文中引用的原作規則版權歸原作者;我們的拆解、實測與文字為原創。