你有没有遇到过这种情况?让AI写个日期选择器,它反手给你装了个flatpickr,又写wrapper组件,又加样式表,还跟你讨论半天时区问题。五十行代码出去了,其实浏览器原生就支持 <input type="date">。
这事儿太常见了。AI agent现在写代码有个毛病,特别爱"过度工程"。你明明要个自行车,它给你造辆坦克。
最近GitHub上有个项目特别火,叫Ponytail。名字听着挺萌,实际上是个狠角色。

它的设定特别形象。你公司里有没有这样一位老哥:扎个马尾辫,戴椭圆眼镜,在公司待的时间比版本控制系统还长。你给他看五十行代码,他啥也不说,盯着屏幕看几秒,然后改成一行。完事儿。
Ponytail就是把这位老哥塞进了你的AI agent里。
它到底怎么干活的?
核心是个"七层阶梯"。AI每次想写代码之前,必须先一层层问自己:
这事真的需要存在吗?(YAGNI原则) 代码库里是不是已经有了? 标准库能不能搞定? 平台有没有原生功能? 现有依赖能不能用? 能不能一行写完? 都不行?那再写最精简的实现。

说白了,就是让AI先动脑子,再动手。而且这梯子跑在AI理解问题之后,不是代替它思考。它得先读完你现有的代码, trace 清楚数据流,再决定走哪一层。
效果有多夸张?
在真实的Claude Code会话里测过,编辑一个FastAPI+React的真实开源项目。十二张功能票,同样的agent,有Ponytail和没Ponytail对比:
代码量平均减少54%,极端情况能砍到94%。有个日期选择器从404行干到23行,颜色选择器从287行缩到23行。token消耗降了22%,成本省20%,时间快27%。
更关键的是,100%安全。它不会为了省代码把输入校验、错误处理、安全边界给删掉。该留的底线一条不少。
怎么装上它?
Ponytail支持十多种AI agent,主流的基本都覆盖了。我挑几个常用的说。
Claude Code 用户:
先确保你PATH里有node。然后输这两行(注意,得分开两次输):
/plugin marketplace add DietrichGebert/ponytail /plugin install ponytail@ponytail
桌面版没有/plugin命令,得从UI装:Customize → 个人插件旁边的+ → Create plugin and add marketplace → Add from repository,然后填仓库地址。
Cursor / Windsurf / Cline 用户:
这些属于"纯指令适配",不用装插件。直接从项目仓库里拷对应的规则文件就行:
Cursor:拷 .cursor/rules/里的文件Windsurf:拷 .windsurf/rules/里的文件Cline:拷 .clinerules/里的文件
或者更简单,把仓库里的 AGENTS.md 复制到你项目根目录。零配置,开箱即用。
VS Code + GitHub Copilot 用户:
也是读 AGENTS.md 和 .github/copilot-instructions.md。想全局生效的话,把规则拷到 ~/.copilot/copilot-instructions.md。
Gemini CLI / Antigravity CLI 用户:
gemini extensions install https://github.com/DietrichGebert/ponytail
Antigravity是Google把Gemini CLI改了个名(agy二进制),安装命令一样:
agy plugin install https://github.com/DietrichGebert/ponytail
OpenClaw 用户:
clawhub install ponytail
装完以后,review、audit、debt这些技能也能单独装:
clawhub install ponytail-review
装好了怎么用?
Ponytail有三个强度档位,默认是full:
lite:轻量级,稍微收敛一点 full:标准模式,日常用这个 ultra:极致精简,适合代码库已经烂到你想重写的时候
切模式很简单:
/ponytail ultra
它还有几个特别实用的命令:
/ponytail-review — 审查当前diff里的过度工程,给你一份"可删除清单"。
/ponytail-audit — 扫描整个仓库,不只是当前改动。
/ponytail-debt — 把你之前临时写的 ponytail: 注释汇总成技术债台账,防止"以后再说"变成"永远不做"。
/ponytail-gain — 查看实测的收益看板,省了多少代码、多少成本、快了多少。
/ponytail-help — 快速查看所有命令。
在Codex里这些叫skill,用@触发,比如 @ponytail-review。
它不会碰哪些东西?
这点特别重要。Ponytail是"懒",不是" negligent "( negligent 是疏忽的意思,这里故意不翻译,保持原味儿)。
信任边界处的输入校验,不动。防止数据丢失的错误处理,不动。安全相关的认证、授权、 sanitization ,不动。无障碍功能ARIA标签、键盘导航,不动。你明确要的功能,它也不会擅自砍掉。
代码变少是因为真的没必要写那么多,不是为了少而少。
一点小配置
其实不配置也能用。但如果你想要每次打开都默认某个模式,可以设环境变量:
export PONYTAIL_DEFAULT_MODE=full
或者在 ~/.config/ponytail/config.json 里写:
{ "defaultMode": "lite" }
Windows用户在 %APPDATA%\ponytail\config.json 里配。
写在最后
现在AI写代码越来越快,但"快"不等于"好"。有时候一行原生代码能搞定的事,AI给你整出一个微型框架。Ponytail做的就是给AI配个不爱说话但眼光毒辣的老程序员,让它在动手前先想想:这事能不能更简单?
GitHub地址:https://github.com/DietrichGebert/ponytail
去试试吧,说不定你也能体会到那种"五十行变一行"的爽感。
夜雨聆风