
工具分享|Ponytail|AI Agent|少写代码|Claude Code / Codex / Copilot
现在的 AI 编程助手很强,但也很容易“用力过猛”。
一个简单日期选择器,它可能先装库、写组件、加样式,再顺手讨论一下时区问题。
今天分享的 Ponytail,就是专门给 AI Agent 戴上的一条“少做一点”的缰绳:能不写就不写,能复用就复用,能用浏览器原生能力就别造轮子。
一句话总结:Ponytail 不是让 AI 写得更短,而是让 AI 写得刚刚好。
1
它到底是什么?
Ponytail 的设定很有画面感:一个在公司待了很久的懒高级程序员,看你写了 50 行代码,沉默几秒,然后用 1 行替掉。
它本质上不是一个普通代码库,而是一套给 AI 编程 Agent 使用的规则集、插件和技能命令。
它的目标不是让 AI 写“最短代码”,而是让 AI 写“任务真正需要的最少代码”。

2
它真的有效吗?
README 里的 agentic benchmark 使用真实 Claude Code 会话,在一个 FastAPI + React 开源项目里跑 12 个功能任务。
对比无 skill 的基线,Ponytail 给出的结果是:LOC 减少 54%,tokens 减少 22%,cost 减少 20%,time 减少 27%,safe 仍然是 100%。
这组数字最值得注意的不是“少写代码”,而是它没有为了少写牺牲安全。

3
它是怎么工作的?
Ponytail 的核心是一套判断阶梯。AI 在写代码之前,先问自己:这个东西真的需要存在吗?代码库里有没有现成实现?标准库能不能做?平台原生能力能不能解决?已经安装的依赖能不能复用?
只有这些路都走不通,它才会自己写新的实现。
所以它不是鼓励投机取巧,而是减少“明明不需要,却被 AI 做复杂了”的部分。

4
少写,但不能乱省
不砍验证:输入校验、信任边界检查不能为了少写而删除。 不砍安全:权限、鉴权、防注入、防数据泄露不能被省略。 不砍错误处理:会造成数据丢失或不可恢复失败的错误处理必须保留。 不砍可访问性:能影响用户使用的 accessibility 不能乱删。 不盲目一行化:一行能解决才一行,不能解决就写最小可用实现。
5
适合哪些场景?
适合经常用 Claude Code、Codex、Copilot CLI、Gemini CLI 等 AI 编程工具的人。 适合维护已有项目,不希望 Agent 动不动就引入新依赖的人。 适合做前端、后端、脚本工具、CRUD 功能时,想避免 AI 过度封装的人。 适合 code review 时查找“可以删掉的复杂度”。 不适合在复杂架构设计、深度性能优化场景里盲目套用。
6
可以接入哪些工具?
Claude Code 可以通过 plugin marketplace 添加并安装 Ponytail。
Codex 可以添加 marketplace 后,在 /plugins 中安装,并在 /hooks 中信任 lifecycle hooks。
GitHub Copilot CLI、Gemini CLI、OpenCode、Devin CLI、OpenClaw、Swival 等也有各自的接入方式。
Cursor、Windsurf、Cline、Copilot 编辑器等可以复制对应规则文件,作为 instruction-only 模式使用。
7
几个常用命令
/ponytail:设置强度,支持 lite / full / ultra / off。 /ponytail-review:检查当前 diff 里是否存在过度工程化,并给出删除清单。 /ponytail-audit:审核整个仓库,不只看当前 diff。 /ponytail-debt:把暂时 deferred 的 ponytail shortcut 收进 ledger。 /ponytail-gain:查看 benchmark 里的收益指标。
我觉得 Ponytail 的价值,不在于让 AI 写得“炫”。
它提醒我们:AI 编程真正危险的地方,有时不是写不出来,而是写太多、装太多、抽象太多。
一个好的 AI Agent,不应该每次都交付一套完整工程;它应该先判断,最小的正确改动是什么。
一句话总结:Ponytail 不是让 AI 偷懒,而是让 AI 学会像高级工程师一样克制。
工具分享|AI Agent|少写代码|反过度工程|建议收藏研究
夜雨聆风