
Ponytail:逼 AI agent 少寫 code 的 YAGNI 規則集
讓 AI agent 寫 code 久了,會發現一個固定毛病:你只要一個能跑的小東西,它給你一個帶設定檔、抽象層、還預留三個未來擴充點的「框架」。它當然會寫,毛病出在它的預設值——多寫一點比較安全。 最近讀了一個叫 Ponytail 的開源專案,專門治這個。它的招牌語是一句很有態度的話: The best code is the code never written. 我把它的原始碼 clone 下來實際跑過一遍 hook,這篇是拆解之後的筆記——它哪裡有意思、哪裡要保留懷疑。 它不是工具,是一份「規則」 第一個容易誤會的點在它的形態。Ponytail 把一份規則集注入成 agent 自己的 system context,agent 讀進去之後直接「就是」懶模式。它不是一個你去呼叫的 library,也沒有一個「外部第二意見」在旁邊讓 agent 查詢引用——規則直接長在 agent 身上。 所以你不會看到 agent 回你「根據 Ponytail……」。它只是行為變了:動手前先停下來想一輪「這真的需要寫嗎」。 核心:一道 YAGNI 階梯 整套東西的心臟是一道階梯。動任何 code 前,從上往下走,停在第一個成立的那一階: 1. 這東西需要存在嗎? speculative = 跳過,一行說明 (YAGNI) 2. 標準庫能做嗎? 用它 3. 平台原生功能涵蓋嗎? <input type="date"> 勝過 picker library 4. 已裝的依賴能解嗎? 用它,不為幾行能解的事新增依賴 5. 一行能解嗎? 那就一行 6. 真的都不行才: 寫能動的最小實作 兩階都成立就取較高的那階。第一個能動的懶解,就是對的解。 ...