开源代理技能 Ponytail 主动修正基准测试结果,代码缩减率从 94% 降至 54%
6 月发布即获 8.2 万 GitHub 星标的 Ponytail,因贡献者指出初始基准存在统计偏差,作者公开自纠——将"减少 80%–94% 代码"修正为平均约 54%,并补齐了行为测试框架。
6 月发布即获 8.2 万 GitHub 星标的 Ponytail,因贡献者指出初始基准存在统计偏差,作者公开自纠——将"减少 80%–94% 代码"修正为平均约 54%,并补齐了行为测试框架。
Ponytail 是一个开源代理技能,核心理念是让 AI 编码代理像"房间里最懒惰的资深开发者"那样行事。它解决了一个几乎所有编程代理用户都抱怨过的问题:代理过度实现功能——你只要一个日期选择器,它却安装一个库、写封装组件、加样式表,甚至讨论时区问题。
但数据只是故事的一部分。
项目最初宣称代码量减少 80% 至 94%。Scott Logic 首席技术官 Colin Eberhardt 深入分析后发现:这个 6232 行的存储库,实质上仅是约 100 行的 Markdown 文件,重述了上世纪 90 年代的 YAGNI 原则。更尖锐的是——用"遵循 YAGNI 原则,用一行代码解决"这一句话替代 Ponytail,竟在原始基准中超越了 Ponytail 的得分。
宣称代码减少 80%–94%;基准代理本身啰嗦,对比结果被夸大;数据为按任务上限值,却被误报为平均值。
真实 FastAPI + React 存储库上运行 12 项功能开发任务;平均减少约 54%,过度构建时达 94%,本已极简时接近零。
注:左侧"初始基准"数据已被项目作者公开撤回;右侧为通过 Claude Code 在真实代码库上重新运行后的修正结果。94% 为极端场景上限而非均值。
Ponytail 的机制并不复杂:在代理的上下文中注入一套规则,在编写任何代码之前强制执行一套决策流程。只有全部回答完毕,才编写能正常运行的最小代码量。
规则明确排除了在问题理解、信任边界输入验证、防数据丢失错误处理、安全性和无障碍性方面偷工减料的可能。任何有意的简化都必须通过注释标注,注明上限值和升级路径。
一个诚实的注脚:这套规则本身,大约只有 100 行。
该技能可通过技能、插件钩子或规则文件安装在十余种主流代理平台上:
注:以上数据为修正后基准在真实 FastAPI + React 存储库、12 项功能任务上的平均表现。代码量减少为均值,非最初报道的按任务上限值。速度与成本为附加收益。
作者还明确指出:仅使用"编写一行代码"这一简单提示词,会缺少 Ponytail 所保留的安全防护机制——这正是 100 行 Markdown 相比一句话提示词的真正价值所在。
Eberhardt 更深层的观点经受住了基准修正的考验:技能和提示词框架正在大量涌现,却缺乏相应的评估标准。
他在 Anthropic 的技能库中提出的问题——即技能作者如何测试并确保质量——是该库中点赞数最高的问题之一,但至今仍未得到维护者的回答。他指出,自己尚未在 GitHub 上看到任何一个拥有全面评估套件的技能库。
现在,Ponytail 填补了这块空白。
这个项目(其基准测试修正是在受到外部批评后才进行的)已经包含行为测试框架和公开的重现路径。这或许才是更具持久价值的贡献:不是 YAGNI 原则的重新包装,而是期望技能必须证明其主张。
对于这次修正,Eberhardt 的回应很简洁:"我很高兴他们对批评做出了积极回应。"
Agent 技能生态的成熟,不靠星标数量衡量——而靠"敢不敢公开证伪自己"来衡量。
Ponytail 为开源项目,支持 Claude Code、Cursor、Codex 等十余种主流代理平台,可通过技能、插件钩子或规则文件安装。
GitHub 搜索 Ponytail agent skill →