Theme / v4.9.0

Ponytail

讓 AI 編碼代理像最懶的資深工程師

基礎觀念

Ponytail 入門:15 分鐘從安裝到第一次極簡重構

帶新手安裝 Ponytail、選擇強度等級,並完成第一次 /ponytail-review 實戰,理解 6 個核心指令的最佳使用時機。

Ponytail 入門:15 分鐘從安裝到第一次極簡重構

〈YAGNI 原則與懶人工程學〉談了 Ponytail 的哲學與 7 階階梯,這一課要把那些觀念落成「手感」。15 分鐘內你會完成三件事:把 Ponytail 裝進你的 AI 編碼代理、選好適合新手的強度等級、對一個檔案跑出第一份過度設計報告。


1. 安裝 Ponytail

Ponytail 是外掛,不是獨立 CLI。在支援 /plugin 的代理(OpenCode、Claude Code 等)中執行:

/plugin marketplace add DietrichGebert/ponytail && /plugin install ponytail@ponytail

支援的平台超過 10 個,包含 Claude Code、Codex、OpenCode、GitHub Copilot CLI、Gemini CLI、Antigravity CLI、Qoder、Hermes Agent、OpenClaw、Devin CLI、Pi agent 等,完整清單見主題首頁的 supportedPlatforms

安裝完成後,Ponytail 規則集會自動注入到主要代理與子代理。如果想限定注入的子代理範圍,可設定環境變數 PONYTAIL_SUBAGENT_MATCHER 為正則表達式(新手不需要動這個)。


2. 確認與切換強度等級

Ponytail 有 4 個強度等級,差別在「多嚴格地執行 7 階階梯」:

等級 行為 適合
lite 輕量建議,少砍 不確定時的試水
full 預設值,平衡的 7 階執行 新手首選
ultra 最激進,連可能過頭的安全防護也檢視 老手清技術債
off 完全停用 Ponytail 暫時關掉做對照

確認當前等級:

/ponytail

Ponytail 會回報目前的 level。要切換:

/ponytail full

要讓等級跨重啟保留(v4.9.0 新增):

/ponytail default full

注意:v4.9.0 之後,單獨 /ponytail 只會「回報」當前 level,不再重設回 default。新手一律留在 full 就好,前 5 次實戰不要切 ultra


3. 6 個核心指令,先認識 3 個

Ponytail 共 6 個核心指令,新手只需要先記前 3 個:

指令 用途 何時用
/ponytail 回報當前等級、切換等級 每次開工確認狀態
/ponytail-review 審查「變更或單一檔案」的過度設計 改完一段程式、想自檢
/ponytail-help 顯示所有指令與等級的速查卡 忘記指令時
/ponytail-audit 掃描整個 codebase,產出負債表 接手新專案、大掃除
/ponytail-debt 把刻意延後的簡化記成負債表 沒清完想留下追蹤
/ponytail-gain 顯示累積的壓縮效益計分板 想看長期影響

後 3 個會在〈實戰範例 010〉與後續課程詳談。


4. 第一次實戰:對一個小檔案跑 /ponytail-review

挑一個你最不滿意的 utils 檔案,通常是「看起來很有架構、但其實只有一個地方在用」的 Helper。例如 src/utils/dateFormatter.ts

/ponytail-review src/utils/dateFormatter.ts

Ponytail 會輸出一份分類報告,每一項附帶:

  • 位置:檔名與行號
  • 可刪的內容:哪一段被判定為過度設計
  • 可用什麼取代:通常是標準庫或一行表達式
  • 安全防護是否受影響:這行新手一定要看

完整的對話與重構過程見〈實戰範例 009〉,它把一個 70 行的日期 Helper 砍成 10 行單一函式,是新手建立直覺最好的起點。


5. 該避開的 3 個新手誤區

誤區 1:把極簡當成「砍掉所有 if 與 try-catch」

Ponytail 預設不會動安全防護。null / undefined 檢查、try-catch、無障礙屬性都屬於「必要功能」,不是過度設計。報告中的 Safety preserved 那行就是在重申這點。若你看到 Ponytail 似乎建議砍掉防護,多半是你切到 ultra,切回 full 即可。

誤區 2:把等級設成 ultra 想一次砍到底

ultra 會連可能合理的安全防護都拿出來檢視,新手容易過頭誤刪。前 5 次實戰都留在 full,等你看熟報告分類再考慮升級。

誤區 3:對「整個 codebase」跑 /ponytail-review

/ponytail-review 針對「變更或單一檔案」,要掃整個專案請改用 /ponytail-audit。把這兩個搞混,會拿到空報告或浪費時間。


6. 跟 caveman 互補,不要互打

Ponytail 與 caveman 這類外掛是互補關係:caveman 壓縮「輸出文字」,Ponytail 壓縮「程式碼本身」。兩者可以同時掛,新手建議先單獨用 Ponytail 一週,熟悉報告分類後再搭配其他外掛,避免一次收到太多訊號。


7. 學完這課,你應該能

  • 說出 4 個強度等級的差異,並解釋為何新手留在 full
  • 對任一檔案執行 /ponytail-review,並讀懂報告裡的位置、可刪內容、替代方案、安全防護四個欄位。
  • 解釋 /ponytail/ponytail default <mode> 的差別(前者回報、後者設預設)。
  • 判斷什麼時候該用 /ponytail-audit 而不是 /ponytail-review

下一課我們會深入 7 階階梯的每一階,並用實戰範例 001 至 010 示範不同語言、不同場景的簡化手法。