Claude Code 的 Ponytail 技能:真的能減少 54% 的代碼嗎?
JetBrains 對 Claude Code 的 Ponytail 技能進行了 80 對任務的 A/B 測試,結果顯示實際代碼減少 15%,成本降低 10.3%,時間節省 11%,遠低於宣傳的 54% 代碼減少和 22% 令牌節省。該技能通過提示模型儘可能使用現有功能或簡潔代碼來減少生成的代碼量,但效果僅在原始代碼本身存在冗餘空間時顯著。測試還發現該技能在 Claude Code 中不會自動激活,必須通過插件注入規則集才能生效。
JetBrains 在其博客上發表了一篇測試報告,對 Claude Code 的 Ponytail 技能進行了嚴格的 A/B 基準測試。該技能的設計初衷是讓 AI 代理編寫更少的代碼,其核心思想是:一位經驗豐富的開發者可以用一行代碼替代五十行。例如,當要求實現一個日期選擇器時,Ponytail 技能會引導模型思考是否真的需要這個功能、代碼庫中是否已有實現、標準庫或原生平台特性是否足夠,最後才編寫最簡可行的代碼。值得注意的是,驗證、錯誤處理、安全性和可訪問性等關鍵方面被明確排除在“可削減”範圍之外。
測試使用了 JetBrains 的 SkillsBench 基準,包含 80 對任務,每個任務都在 Docker 沙箱中運行,並採用自動評分系統(0-1 分制,支持部分得分)。其中一組運行標準的 Claude Code,另一組安裝了 Ponytail 技能 v4.8.4 並注入了其規則集。測試共涉及 251 次代理試驗,總成本為 246.09 美元。研究團隊特別強調了方法論上的嚴謹性:他們直接使用了 Ponytail 自身 hook 生成的指令文本,確保規則集與官方插件一致,並在每次試驗後審計確認規則集確實被模型接收到。
測試的主要發現包括:第一,Ponytail 技能在 Claude Code 中不會自動激活。即使在技能文件夾中安裝了它,模型也不會主動調用,這意味着用户必須通過插件機制(SessionStart hook)來注入規則集才能獲得效果。第二,實際代碼減少量約為宣傳值的三分之一。在 80 對任務中,典型任務減少了 15.4% 的代碼(從 10,205 行降至 8,756 行),但 p 值為 0.088,統計顯著性較弱。第三,代碼節省主要集中在基線代碼量大的任務上:對於大型構建任務,代碼減少可達 31%;而對於基線代碼本來就很少的任務,變化幾乎為零。研究人員發現,在某些任務中,Ponytail 生成了更多的持久化代碼(如將腳本寫入文件),而普通代理則通過內聯 heredoc 即時執行,這導致計數偏差,但影響不足 2%。
第四,成本節省具有統計顯著性。典型任務成本降低 10.3%(p=0.004),在 80 對任務中有 46 對更便宜、34 對更貴。這是該系列測試中首個穩健的成本節省信號。然而,節省幅度的分佈較寬,中位數的自助置信區間剛剛觸及零,因此“大約 10% 更便宜”是合理的,但“節省 10%”的説法則不夠準確。有趣的是,令牌節省主要集中在輸出端(寫入的令牌),而輸入端(讀取歷史記錄和新鮮令牌)的節省並不顯著,這與之前對 rtk 工具的測試結果形成對比。
第五,未檢測到質量差異。在自動評分中,9 個任務得分略低,6 個略高,65 個完全相同,統計上無法區分。但研究人員謹慎指出,這一結果並非證明無負面影響,因為測試規模不足以排除微小退化,只是未發現明顯的失敗模式。
總體而言,Ponytail 技能在減少代碼和成本方面有一定效果,但遠低於宣傳數字。其最大價值在於為那些希望減少 AI 生成代碼量的開發者提供了一個可用的工具,但實際節約取決於具體任務和基線代碼的複雜程度。