乐于分享
好东西不私藏

GitHub开源神器:这个AI编程助手让你的代码瞬间瘦身54%!

GitHub开源神器:这个AI编程助手让你的代码瞬间瘦身54%!

你有没有遇到过这种情况?让AI写个日期选择器,它反手给你装了个flatpickr,又写wrapper组件,又加样式表,还跟你讨论半天时区问题。五十行代码出去了,其实浏览器原生就支持 <input type="date">

这事儿太常见了。AI agent现在写代码有个毛病,特别爱"过度工程"。你明明要个自行车,它给你造辆坦克。

最近GitHub上有个项目特别火,叫Ponytail。名字听着挺萌,实际上是个狠角色。

Ponytail项目Logo

它的设定特别形象。你公司里有没有这样一位老哥:扎个马尾辫,戴椭圆眼镜,在公司待的时间比版本控制系统还长。你给他看五十行代码,他啥也不说,盯着屏幕看几秒,然后改成一行。完事儿。

Ponytail就是把这位老哥塞进了你的AI agent里。

它到底怎么干活的?

核心是个"七层阶梯"。AI每次想写代码之前,必须先一层层问自己:

这事真的需要存在吗?(YAGNI原则) 代码库里是不是已经有了? 标准库能不能搞定? 平台有没有原生功能? 现有依赖能不能用? 能不能一行写完? 都不行?那再写最精简的实现。

Ponytail等待列表

说白了,就是让AI先动脑子,再动手。而且这梯子跑在AI理解问题之后,不是代替它思考。它得先读完你现有的代码, trace 清楚数据流,再决定走哪一层。

效果有多夸张?

在真实的Claude Code会话里测过,编辑一个FastAPI+React的真实开源项目。十二张功能票,同样的agent,有Ponytail和没Ponytail对比:

代码量平均减少54%,极端情况能砍到94%。有个日期选择器从404行干到23行,颜色选择器从287行缩到23行。token消耗降了22%,成本省20%,时间快27%。

Benchmark数据

更关键的是,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

去试试吧,说不定你也能体会到那种"五十行变一行"的爽感。