你一定见过这种人。长头发扎个马尾,戴副椭圆眼镜,在公司待的时间比版本控制系统还长。你拿五十行代码给他看,他不说话,盯着看一会儿,然后用一行替换掉。
有个叫 ponytail 的开源项目,干的就是一件事:把这个人装进你的 AI 编程 agent 里。2026 年 6 月 12 日建库,两周半冲到六万四千颗星------在「AI 帮你多写代码」喊了两年之后,居然是一个「让 AI 少写代码」的工具爆了。值得看看它到底怎么做的。
一、AI agent 有个毛病:爱过度工程

先说它解决的问题。
你让 agent 加一个日期选择器,一个没被管教过的,会给你整出三个文件、一个依赖外加一段时区讨论,换来一个浏览器原生就有的东西。
这不是抠门,是判断。资深和初级的差别,很大一部分不在于会写多少,而在于知道什么不用写。问题是,大模型默认是个「热心的初级」------你给它一个任务,它倾向于把能想到的都给你堆上,options 拉满、组件包一层、还贴心地解释每一种可能。代码越写越多,token 越烧越多,维护负担越压越重。
二、它怎么做:能不写就不写

ponytail 的核心,是在 agent 动手写代码之前,强制它先爬一道七级判断阶梯(如上图),停在第一个成立的台阶上------从「这东西需不需要存在」一路退到「实在不行才写能跑的最小实现」。日期选择器就停在第 4 级,用平台原生的那个 input,404 行变 23 行;颜色选择器同理,287 行变 23 行------伸手去够原生,而不是造一个组件。
这里有个容易被误解的点。ponytail 标榜「懒」,但它懒的是方案 ,不是读代码。阶梯是在它读懂了问题之后才跑的:它会先把这次改动碰到的代码读一遍、把真实的数据流追一遍,然后才决定停在哪级台阶。对解决方案偷懒,对理解上下文绝不偷懒。
还有一条硬边界:懒不等于不负责。信任边界的校验、数据丢失的处理、安全、可访问性------这几样永远不在被砍的名单上。代码最后变小,是因为它必要,不是因为它被「高尔夫」掉了(code golf,比谁写得短的游戏)。这条边界,是它和「无脑写一行」之间最大的区别。
三、它到底有没有用:看实测数据

讲克制很容易,拿数据说话才算数。ponytail 的 benchmark 做得相当实在,方法值得单独说。
它没有用「给一个孤立的提示、数答案有几行」这种容易掺水的测法,而是让一个无头的 Claude Code 真去改一个真实的开源仓库(tiangolo 的 full-stack-fastapi-template,一个真实的 FastAPI + React 项目),十二个功能工单,同一个 agent 带 skill 和不带 skill 各跑一遍,按它留下的 git diff 打分(Haiku 4.5,每项 n=4)。
结果(如上图)很干净:代码、token、成本、耗时全压下来,平均少一半代码------过度工程陷阱最严重的地方能到 94%,本来就精简的地方接近零。对照组才说明问题:光在嘴上说「简洁点」的 caveman,代码是少了,token 和耗时反而升了;而「YAGNI + 一行流」那种暴力提示词虽然也压代码,却把一个安全护栏给掉了。ponytail 是唯一一个每项都降、还把安全守在 100% 的。
最让我有好感的是另一件事。它早期发过一组「少 80--94% 代码」的数字,后来有人在 issue #126 里指出:那是单次生成的测法,裸模型的基线本身就爱拿废话和选项凑字数,所以那个差距有一部分是「话痨基线」造成的假象。作者认了,把这组数据降级成「单任务的天花板而非平均值」,换上了上面这套更经得起推敲的 agentic 数据。一个在涨星的项目,主动把自己最亮眼的数字往下修------这种诚实,比那 54% 更值钱。
四、怎么用,以及它带起的一串生态
装起来几乎不费劲,Claude Code 一条命令:
bash
/plugin marketplace add DietrichGebert/ponytail
官方说它适配十六种 agent(Codex 等都在内)。原理上,Claude Code 和 Codex 插件跑两个很小的 Node.js 生命周期钩子来做「常驻激活」,所以 node 要在 PATH 上;就算没有,skill 本身照样能用,只是少了自动激活。
它也不是凭空冒出来的。前身是更早的 caveman(同样主张让 agent 写得糙而少),ponytail 把「糙」收敛成了一道有安全边界的阶梯。火了之后周边还冒出一串:ponystack 把它和另一个项目 gstack 的流程合在一起、ponytail-lite 砍掉插件只留规则、还有把它换了个毒舌人设的 reskin 版本,甚至有第三方独立跑 benchmark 来复现它的数字。一个小切口的工具,能带出一个小生态,说明它戳中的是真痛点。
收尾:克制本身就是一种工程能力
把 ponytail 拆开看,它其实是一个很典型的「harness 工程」样本------不去动模型本身,而是在模型外面套一层确定性的约束,改变 agent 的行为。它把「一个资深工程师面对需求时的判断顺序」编码成了一道七级阶梯,塞进 agent 动手前的那一步。
这两年我们习惯了用「能写多少」衡量 AI 编程的能力。ponytail 提了个反方向的问题:知道什么不用写,是不是更难、也更值钱?它的答案藏在那条规则里------目标从来不是「token 最少」,而是「只写任务需要的,且绝不砍掉校验、错误处理、安全和可访问性」。代码小是结果,不是目的。
下次你的 agent 又要给你装第三个 npm 包之前,也许值得让那个扎马尾的家伙先看一眼。
项目地址:github.com/DietrichGeb... (MIT 协议,本文为公开信息的原创解读,数据引自其官方 benchmark)