如果你用 AI 编码代理写过需求,大概率被“过度工程”折磨过:你说要个日期选择器,它二话不说就装第三方库、写封装组件、加样式,甚至还要跟你讨论时区处理,最终甩给你大几十行代码。
但其实浏览器原生就有 <input type="date">,一行搞定。
现在,一个叫 Ponytail 的开源插件专门治这毛病。它把那种互联网公司里留马尾、戴椭圆框眼镜、待了十几年、深谙“偷懒”之道的资深开发者的逻辑,直接灌给 AI。

插件的逻辑非常直白,就是让 AI 写代码前严格按顺序走这六步:
- 这个功能真的需要写代码吗?不需要就直接跳过(遵循 YAGNI 原则,你压根不需要它)。
- 标准库有现成的?直接用。
- 开发平台自带原生功能?直接用。
- 已经装过的依赖里有?直接用。
- 能不能一行代码搞定?那就只写一行。
- 前五步都走不通,才允许写最少必要代码。
这个“偷懒”逻辑并不鲁莽。安全验证、数据防丢失、accessibility 这些核心要求绝不会被砍掉,它只剔除没必要的冗余。
官方做了一组对照测试,选了邮箱验证、防抖、CSV求和、倒计时、限流器五个日常开发任务,分别在无规则 AI、另一个优化插件 Caveman 和 Ponytail 三种条件下,在 GPT-4o、Claude 3 Haiku/Sonnet 三个主流模型上各跑十次,取中位数。结果相当惊喜:

跟无规则的普通 AI 编码代理相比,Ponytail 能减少 80%-94% 的代码量,降低 47%-77% 的调用成本,运行速度快 3 到 6 倍。就算和已经做过精简优化的插件比,提升也非常明显。
还是开头那个日期选择器的例子。普通 AI 的输出是:装 flatpickr,写封装,加样式,处理时区。加了 Ponytail 之后,输出精简为一行,附一句注释说明用的是浏览器原生功能:
<!-- ponytail: browser has one -->
<input type="date">
如果未来真要扩展自定义功能,Ponytail 也会在注释里标好升级路径,不会把路堵死。
目前 Ponytail 已支持绝大多数主流 AI 编码工具,包括 Claude Code、Codex、Cursor、Windsurf、OpenCode、Pi Agent 等。安装也很简单,在对应工具里复制规则文件就能用,多数情况无需额外配置。
例如,在 Claude Code 中安装方式如下:
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail
安装后,Ponytail 会在每个会话中自动激活。它还提供了几个实用命令:/ponytail-review 检查 diff 里能删掉什么;/ponytail ultra 当你被代码库气到时,启用极致精简模式;/ponytail-help 查看详细说明。在 Codex 中,对应的技能是 @ponytail、@ponytail-review 和 @ponytail-help。
项目 FAQ 里有几个回答也很有意思:
问:真的需要 120 行的缓存类怎么办?
答:你其实不需要。真坚持要,它会慢慢给你写对,然后静静看着你。
问:能支撑大型项目吗?
答:你没写的代码扩展性无限好,零 Bug 零漏洞,从一开始就是百分百可用。
不少开发者试过之后都认同:只要拦住 AI “手痒多写”这一步,就已经赢了一半。当然也有不同声音,比如有人直言“我见过的马尾辫资深工程师代码写得烂人还讨厌”,这就见仁见智了。
如果你也对这种极简开发哲学感兴趣,不妨去 开源实战 社区里看看其他有趣的轻量级项目。
地址: https://github.com/DietrichGebert/ponytail