讀完能做什麼
- Ponytail 不是新模型,而是一套「先別寫」的決策梯:在動手前逼 Agent 複用現有程式碼、標準庫和已裝依賴。
- 在 Claude Code 用官方外掛市場兩條命令安裝;在 Cursor 用
cursor-hooks.js注入會話規則(與常駐.cursor/rules二選一)。 - OpenCode 沒有專屬外掛時,把倉庫裡的
AGENTS.md或skills/ponytail/SKILL.md拷進專案即可。 - 懶的是解法,不是安全:信任邊界校驗、防丟資料、安全與無障礙不能砍。
- 第三方對照實驗裡,Ponytail 常少改行數、更會複用已有 helper,但多讀程式碼可能讓小任務 token 變貴——別隻盯行數。
你要的不是「更聰明的 AI」,而是「更懶、但更肯翻倉庫」的 AI。
為什麼 Claude Code、Cursor、OpenCode 都愛「多寫一點」
編碼 Agent 的預設獎勵函式很像初級工程師:任務描述裡出現「快取」,它就新建 cache.py、加配置項、再寫單元測試——哪怕專案裡三天前已經有一個 memoize_rates()。這不是模型笨,而是沒有約束時,「展示能力」比「對齊倉庫」更省力。
過度工程化的賬單不在 API 單價裡一次性結清:多出來的檔案要讀、要 review、要維護。你在 OpenCode 與 Claude Code 的真實成本 裡已經見過——許可費為 0 不代表改動行數為 0。Ponytail 針對的是改動形狀:少依賴、少抽象、多複用。
只寫一句「YAGNI」有時也能壓行數,但容易順手砍掉輸入校驗。Ponytail 作者在對社群質疑後重跑了基準,README 現在強調:平均約少一半程式碼量,但安全相關測試覆蓋更高。第三方復現(Reposquare 等)則提醒:行數少了,回合數可能變多,小倉庫裡單次任務反而更貴。本文按「保姆級」把安裝和取捨寫清楚,不替官方背書每一個百分比。
Ponytail 是什麼:七步決策梯(理解問題之後才爬梯)
ponytail.dev 把形象講得很直白:公司裡那位長髮資深,看你五十行實現,一聲不吭改成一行。Ponytail 把這套脾氣寫進 Agent 上下文:先讀懂要改的程式碼路徑,再按階梯決定要不要新建檔案、裝包或抽三層抽象。
官方 README 把機制叫「懶,但不馬虎」。下面這張表是讀者版摘要;完整措辭以 GitHub 倉庫 為準。
| 階 | 問題 | 動作 |
|---|---|---|
| 1 | 這事必須做嗎? | 能刪需求、改文案、用配置開關就別寫程式碼。 |
| 2 | 倉庫裡已經有了嗎? | 先搜函式、hook、util;複用比新建檔案便宜。 |
| 3 | 標準庫夠嗎? | 內建模組、平臺 API 優先於新依賴。 |
| 4 | 已安裝的包能搞定嗎? | 別為一個小函式再 npm install。 |
| 5 | 能寫成一行嗎? | 在可讀的前提下壓到最小。 |
| 6 | 最後才寫新程式碼 | 寫最少、能過測試、標出刻意簡化的上限。 |
每一步停住時,Agent 要在回覆末尾說明跳過了什麼、沒做什麼(例如「未新增 npm 依賴,沿用 lru-cache」)。若刻意簡化,應用註釋標出天花板和以後怎麼升級——避免「現在省事、半年後無人敢動」。
永遠不許砍的:信任邊界的輸入校驗、會導致資料丟失的錯誤處理、安全與無障礙。這和你在 AI Agent 檔案隔離 裡分的「沙箱 / 工作區」是同一類紀律:少寫程式碼 ≠ 少做防護。
Claude Code:保姆級安裝
Claude Code 走官方外掛市場,INSTALL.md 要求分兩條訊息傳送(很多人一次貼上會裝失敗):
/plugin marketplace add DietrichGebert/ponytail /plugin install ponytail@ponytail
裝好後可用 /ponytail 檢視當前檔位,/ponytail lite、/ponytail full、/ponytail ultra、/ponytail off 切換。外掛會掛生命週期 Hooks(需要 node 在 PATH 上;Nix/nvm 使用者注意非互動 shell 能否找到 node)。
和「再裝十個 Skills」不同,Ponytail 是全域性寫作紀律。若你已經在排 Claude Code Skills 安裝優先順序,建議把它當成 P0 元規則,而不是與 /code-review 搶位置的普通 Skill。
賬單仍看 Claude Code 套餐:Ponytail 不包模型,只改 Agent 行為。長會話裡少寫程式碼可能減少輸出 token,但多讀檔案會吃掉輸入——見下文權衡。
Cursor:Hooks 注入還是 .cursor/rules
Cursor 沒有 Claude 那種統一外掛市場,官方推薦用倉庫裡的安裝指令碼(cursor-hooks 文件):
git clone https://github.com/DietrichGebert/ponytail node ponytail/scripts/cursor-hooks.js install # 僅當前專案:加 --project,寫入 .cursor/hooks.json
指令碼會合並 ~/.cursor/hooks.json(或專案的 .cursor/hooks.json),在 sessionStart 注入當前檔位的規則。新開聊天生效;用普通訊息發 /ponytail full 可在會話內切換。
二選一,不要疊兩套:若工作區裡已有 .cursor/rules/ponytail.mdc 這類常駐規則,Hooks 會停注入,模式命令只會提示你刪規則。保姆級建議:團隊倉庫用專案級 rules 進 Git;個人本機用 Hooks 省得每個倉庫複製。
- 子 Agent:Cursor 的
subagentStart目前不能注入上下文,子任務可能「沒戴 Ponytail」——關鍵 refactor 儘量在主會話完成,或把AGENTS.md寫進倉庫兜底。 - Cloud Agent:不觸發
sessionStart,雲端任務預設吃不到 Hooks;遠端跑 Agent 時更依賴倉庫內的AGENTS.md/ rules。 - Node 路徑:Hook 用 checkout 目錄裡的指令碼,不要刪 clone 目錄;搬家後重新
install。
Cursor 訂閱與用量見 Cursor 2026 價格與調整;Ponytail 不改變計費項,隻影響每次改動的粒度。
OpenCode:用專案規則接住同一套梯
OpenCode(以及 Aider、Gemini CLI、Copilot 等)在 INSTALL 裡的路徑是:複製 AGENTS.md 到倉庫根,或讓 Agent 安裝 skills/ponytail/SKILL.md。沒有外掛商店時,這一步就是「保姆級」的全部——別指望自動 Hooks。
OpenCode 的優勢是自由換模型;Ponytail 不繫結 Anthropic。弱模型在「搜倉庫」這一步更容易瞎猜,配合 OpenCode 時建議:
- 任務描述裡寫明「先
rg/ 搜尋現有 helper,禁止預設npm install」; - 把 Ponytail 規則和你們的目錄約定寫進同一份
AGENTS.md; - 大改放在有完整 git 工作區的機器上(見 檔案隔離),避免 Agent 在臨時目錄裡「從零搭城堡」。
若你同時在比 OpenCode 能不能替代 Claude Code,可以把 Ponytail 當成兩邊共用的行為層:比較的是模型價和工具鏈,不是「誰更會寫腳手架」。
| 工具 | 推薦安裝 | 注意 |
|---|---|---|
| Claude Code | 兩條 /plugin 命令裝市場外掛 | Hooks + 斜槓命令;子 Agent 可注入規則 |
| Cursor | cursor-hooks.js install | 會話級注入;子 Agent / Cloud Agent 有缺口 |
| OpenCode 等 | 複製 AGENTS.md 或裝 Skill | 無官方外掛時靠專案規則檔案 |
lite、full、ultra:別一上來就開 ultra
檔位越高,Agent 越願意花時間讀呼叫鏈、對照現有實現。保姆級預設:
- lite:改文案、調樣式、單檔案 bug——少讀、快出 patch。
- full:日常功能開發預設檔;平衡「翻倉庫」與交付速度。
- ultra:跨模組重構、要動公共 API 時;小任務別開,否則讀程式碼成本倒掛。
和 /ponytail off 對比:關規則適合探索性 spike(允許亂寫),但 merge 前記得開回 full 或人工收屍。
代價、誤區和怎麼驗收
誤區 1:行數越少越好。 獨立測試裡 Karpathy 式短 CLAUDE.md 有時比 Ponytail 行數更低,但更少複用已有 helper。評價應看:是否新加了依賴?是否重複實現?review 時間是否下降?
誤區 2:裝了 Ponytail 就不用寫需求。 梯子是寫程式碼前的約束;模糊需求仍會得到模糊補丁,只是更短。
誤區 3:和 Cursor User Rules 堆在一起。 多套「極簡主義」衝突時,模型會隨機遵守一條。合併成一份專案規則,或 Hooks + 倉庫 AGENTS.md 二選一。
驗收清單(每次 Agent PR):
- diff 裡有沒有無理由的新依賴(
package.json/go.mod)? - 新檔案是否可以用現有模組代替?
- 安全/校驗路徑是否仍在?
- Agent 是否說明了跳過的方案?
FAQ
Ponytail 和 Cursor 自帶的「Minimize scope」使用者規則衝突嗎?
方向一致,但 Ponytail 更強調搜倉庫、爬決策梯。保留一份即可,避免重複占上下文。
必須 clone 整個倉庫嗎?
Cursor Hooks 需要 checkout 路徑。Claude Code 用外掛市場則不必手動 clone。OpenCode 只需複製 AGENTS.md 片段。
能跟 MCP、Skills 一起用嗎?
可以。Ponytail 管「寫多少」;MCP 管「連什麼工具」。別讓 Agent 為了用新 MCP 再包三層 adapter。
官方 benchmark 數字可信嗎?
作者已公開修正過一次營銷表述。把它當方向:少寫、多測關鍵邏輯;你自己的倉庫用上面驗收清單量。
小結
Ponytail 把「懶資深」變成可安裝的規則:Claude Code 用外掛,Cursor 用 Hooks 或 rules,OpenCode 用 AGENTS.md。它解決的是 Agent 愛加依賴、愛新建檔案的習慣,不是替代模型選擇。記住兩個數字之外的結論:肯複用現有程式碼,往往比少寫十行新工具函式更值錢。