写点什么

代理技能 Ponytail 在贡献者提出质疑后修正了自身的基准测试结果

作者: Steef-Jan Wiggers
  • 2026-08-11
    北京
  • 本文字数:1676 字

    阅读完需:约 5 分钟

Ponytail 是一个开源技能,它指导 AI 编码代理像“房间里最懒惰的资深开发者”那样行事。自 6 月 12 日发布以来,该项目在 GitHub 上已经积累了超过 82000 个星标,成为今夏增长最快的存储库之一。该项目解决了几乎所有编程代理用户都曾抱怨的问题:代理会过度实现功能。当你要求一个日期选择器时,代理会安装一个库、编写一个封装组件、添加一个样式表,甚至还会就时区问题展开讨论。Ponytail 的解决方案是

其机制是在代理的上下文中注入一套规则,在编写任何代码之前强制执行一套决策流程:这功能是否真的有必要存在?代码库中是否已有现成的实现?标准库是否已提供该功能?平台原生功能是否已覆盖该需求?已安装的依赖项是否能解决该问题?能否用一行代码实现?只有在回答完上述问题后,才编写能正常运行的最小代码量。

规则明确排除了在问题理解、信任边界输入验证、防数据丢失错误处理、安全性和无障碍性方面偷工减料的可能性。任何有意的简化都必须通过注释进行标注,其中需注明上限值和升级路径。该技能可通过技能、插件钩子或规则文件,安装在十余种代理平台上,包括 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 原则,而是期望技能必须证明其主张。

原文链接:https://www.infoq.com/news/2026/08/ponytail-agent-skill-benchmark/