自6月12日发布以来,Ponytail作为一款开源AI编码代理技能,迅速成为GitHub上增长最快的存储库之一。该项目解决了编程代理用户普遍抱怨的问题:过度实现功能。通过一套规则强制在编写任何代码前进行决策流程,确保功能的必要性和代码库的可用性。然而,最初的基准测试结果引发了质疑,声称代码量减少了80%至94%。对此,作者进行了重新构建并公开修正了基准测试,发现代码平均减少了约54%,仅在代理过度构建时达到94%,而成本降低了约20%,执行速度提高了27%。
--91likeyou---
规则明确排除了在问题理解、信任边界输入验证、防数据丢失错误处理、安全性和无障碍性方面偷工减料的可能性。任何有意的简化都必须通过注释进行标注,其中需注明上限值和升级路径。该技能可通过技能、插件钩子或规则文件,安装在十余种代理平台上,包括 Claude Code、Codex、Cursor、GitHub Copilot、Gemini CLI 和 Aider。
该项目的基准测试历程与该技能本身同样发人深省。最初的单次基准测试声称代码量减少了 80% 至 94%。Scott Logic 首席技术官 Colin Eberhardt 对这些数据进行了深入分析,发现这个 6232 行的存储库,实质上仅是一个约 100 行的 Markdown 文件,其中重述了 20 世纪 90 年代提出的 YAGNI 原则。他更敏锐地发现:用“遵循 YAGNI 原则,用一行代码解决”这一句话取代 Ponytail,竟在原始基准测试中超越了 Ponytail 的得分。这是因为基准代理比较啰嗦,而且在答案中添加了冗余内容,从而夸大了对比结果。
Hacker News 上有怀疑者得出了类似的结论:
本质上,整个项目不过是这些规则,外加针对特定插件系统的海量模板代码。
另一位评论者质疑该项目是一个“新版 leftpad”——一个为了一句提示语而搞出来的讽刺性巨型存储库。
接下来的发展让 Ponytail 与大多数走红的 AI 项目区分了开来。作者用一个公平的代理型基准重新构建了该基准测试,在一个真实的 FastAPI 和 React 存储库上通过 Claude Code 运行了十二项功能开发任务,并公开修正了此前的主张。当前的 README 报告显示,代码量平均减少了约 54%,仅在代理过度构建时会达到 94%,而在代码本已极简的情况下则接近于零;同时,成本降低了约 20%,执行速度提高了 27%。该文档还指出,仅使用“编写一行代码”这一简单的提示词会缺少 Ponytail 所保留的安全防护机制,并明确指出,先前的数据是按任务计算的上限值,却被错误地报道为平均值。对于这个回应,Eberhardt 表示:“我很高兴他们对批评做出了积极回应。”
除了星标数量之外,实践者的采用情况也显而易见。红帽公司杰出工程师兼 Quarkus 联合负责人 Max Rydahl Andersen 在 LinkedIn 上分享了他的工作流程:
“使用 Hunk 和 Ponytail 进行代码审查”是我最近最喜欢给编码代理的提示词。Ponytail 是一个编码代理技能,用于审查代码中是否存在过度设计的情况。它会找出这些问题,并提示你或代理将其删除。Hunk 是一款终端差异查看器,可以用于查看代理生成的变更集,以便你可以通过代码的形式提供输入和代理反馈,而非冗长的文本。
他帖子下的讨论指向了一类新兴的代理输出“防护栏”工具,评论者们将 Ponytail 和 hunk 与 herdr 等工具结合使用,以对变更进行群体审查。
Eberhardt 更深层次的观点经受住了基准修正的考验。技能和提示词框架正在大量涌现,却缺乏相应的评估标准。他在 Anthropic 的技能库中提出的问题(即技能作者如何测试并确保质量)是该库中点赞数最高的问题之一,但至今仍未得到维护者的回答。他指出,自己尚未在 GitHub 上看到任何一个拥有全面评估套件的技能库。现在,Ponytail 项目(其基准测试修正是在受到外部批评后才进行的)已经包含行为测试框架和公开的重现路径。这或许才是更具持久价值的贡献:不是 YAGNI 原则,而是期望技能必须证明其主张。
:
🔥 热词:#代理能力