👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:

👉这是一个或许对你有用的开源项目
国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构
RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM实时聊天等功能:
- 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro
- 微服务:https://gitee.com/zhijiantianya/yudao-cloud
- 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK25 + SpringBoot4、JDK17/21+SpringBoot3、JDK8/11+Spring Boot2三版本 QUOTE
先问这段代码要不要写,再让 Agent 动手。
AI 编程 Agent 好用是好用,但你让它写个功能,它恨不得把半本《设计模式》复现一遍。三行能搞定的事,能给你写出三百行。
ponytail 就是反过来干的。它强行干预,不让 Agent 炫技,动笔之前先过脑子。
— 仓库首页,Star 与简介
六月底开源,一周冲到四万 Star 上了 Trending 第一,现在十八万多,fork 一万多。MIT 协议,作者是 Dietrich Gebert。
这个项目的走红有点反常识。这一年多大家都在给 Agent 加能力,加工具、加记忆、加子代理、加并行,唯独没人在管它写多了这件事。ponytail 反过来做减法,而且是替 Agent 做减法。
你见过那种在公司待了十几年的老程序员吧。扎个马尾,戴椭圆眼镜,你把五十行代码给他看,他扫一眼,删掉四十九行,改成一行,能跑,还不带 bug。
ponytail 就是把这个人塞进你的 Agent 里。
我让它写个日期选择器。没装之前,它能装个 flatpickr、写个 wrapper 组件、加一堆 CSS,顺带跟你讨论时区。装完之后,它先去翻项目里有没有现成的输入框组件,再想浏览器自带的日期选择器能不能用,最后给我两样拼起来的十行代码。
— 装与不装,差别在这
官方 README 里那个例子更直接。同样一句话,不装 ponytail 是三百三十五行的封装,装了之后十行,因为仓库里已经有 Input 组件,而浏览器本来就有日期选择器。
还有个颜色选择器的例子,没装是二百八十七行,装完二十几行,因为 input 标签的 color 类型浏览器自带。用原生控件就能搞定的事,Agent 偏偏要给你造轮子,ponytail 治的就是这个。
ruoyi-vue-pro
基于 Spring Boot + MyBatis Plus + Vue & Element & Ant Design 实现的后台管理系统 + 用户小程序,RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM实时聊天等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro
视频教程:https://doc.iocoder.cn/video/
它不跟 Agent 说「你少写点」,那没用。它给了一套台阶,动笔之前一级一级往下站,站住就停。
— 七级台阶,能停就停
第一级,这个东西需要存在吗。第二级,代码库里是不是已经有了。
第三级,标准库能不能做。第四级,浏览器或者系统有没有原生能力。
第五级,已经装的依赖里有没有。第六级,能不能写成一行。
第七级,才轮到「写最小可用版本」,有逻辑的话再补一个小测试。
这套顺序有个隐含前提,就是先看再写。大多数 Agent 的默认行为是看到需求就 import,ponytail 把顺序反过来了。
我用下来的感受是,它最大的作用不是省那几行代码,是把「先调研」这个动作固化了。以前得在提示词里反复叮嘱「先看看项目里有没有现成的」,说十次有三次它还是自己造;现在成了默认动作。
有个细节我挺喜欢,它不是那种懒到连校验都不做的蠢懒。规则写得很死,信任边界的输入校验、防止数据丢失的错误处理、安全逻辑、无障碍访问,这四样绝对不能砍。懒的是代码量,不是责任。
README 里有句话是整份规则的题眼,写的是「只写任务需要的,永远不砍校验、错误处理、安全和无障碍」。代码最后变小,是因为它确实只需要这么小。
还有一条,Agent 如果故意简化了代码,得在简化处留一个 ponytail: 注释。要是这个简化有已知上限,比如全局锁或者平方级扫描,注释里还得写清楚上限在哪、以后想升级从哪下手。
官方 examples 目录里放了不少前后对比,同一个任务、同一个模型、温度都是一,装与不装各跑一遍,不是手抄的示意,是真实输出。
邮件校验那个比较直观。不装的时候 Agent 写了七十五行,三个版本摞在一起,基础正则一版、进阶校验一版、推荐的第三方库一版,末尾还附了使用说明和对比表。
import re
def is_valid_email(email: str) -> bool:
return bool(re.match(r'^[^@]+@[^@]+\.[^@]+$', email))
就这三行。Agent 自己加的注释还挺有道理,说跳过了 RFC 那个完整的解析器、跳过了 DNS 查询、跳过了确认邮件,等真的需要拒绝带加号的地址或者抓错别字的时候再加。现在这个能挡掉绝大多数手滑打错的输入。
防抖那个更夸张。不装是 116 行,包含工具函数、带 loading 状态的版本、带取消和立即执行选项的高级版,外面还配了 HTML 和 CSS 示例。装了之后就是拿到输入框、声明一个定时器、在 input 事件里清掉重设,二十来行,注释写得也实在,说定时器加清除本身就是防抖,除非有三个以上的输入框同时需要,否则不必抽成工具函数。
yudao-cloud
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element & Ant Design 实现的后台管理系统 + 用户小程序,RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM聊天等功能
项目地址:https://github.com/YunaiV/yudao-cloud
视频教程:https://doc.iocoder.cn/video/
它不是一个 Claude Code 专属的小插件,官方徽章写的是支持二十个 Agent。
支持分两档。插件级别的带命令、模式切换和生命周期钩子,Claude Code、Codex、OpenCode、Gemini CLI、GitHub Copilot CLI 都在里面。规则文件级别的更简单,丢一个 AGENTS.md 进项目就行,Cursor、Windsurf、Cline、Kiro、Aider 这些都属于这一档。
两档的差别在于交互。插件版有模式切换和 review 命令,规则版只有最核心的台阶逻辑。我自己主力是 Claude Code,装的插件版;同事用 Cursor,复制一份规则文件也能用。
装法上还有个细节,装完之后别急着信它已经生效。开一个新会话,让它写个简单组件,看它第一步是翻项目还是直接 import,两三下就能验出来。
它本质上只有一个提示词。README 里写得很坦白,整个项目就是一个 SKILL.md,压缩版是 AGENTS.md,仓库里其他东西都是把这同一份提示词装进不同 Agent 的适配层。所以规则版和插件版的核心判断是一致的,差的是外围工具。
— 两种接入方式示意,当前支持范围以仓库为准
装完能用几个斜杠命令。/ponytail lite 到 ultra 切强度,/ponytail-review 扫当前改动,/ponytail-audit 审整个仓库,把过度工程化的地方揪出来给一份清单。
命令这一块值得单独说,因为它把「懒」这个抽象原则变成了几个可执行的检查动作。
/ponytail-review 可以指定范围,说 uncommitted 就只看没提交的,说 staged 只看暂存区,也可以给一个分支名或者 PR 链接。这个设计比固定只扫 diff 好用,改到一半想自查,不用先 commit。
新版本把 review 重做了。以前它只找能删的代码,现在会去读你这次改动碰到的上下文,查 bug、安全、真实负载、缺测试、慢路径,每条发现都写清楚这段代码干什么、会出什么问题、怎么修、不修会怎样。
/ponytail-audit 也一样,先给仓库画一张图,标出入口、数据怎么流动、项目预期的负载,然后排优先级告诉你先修哪个。老的 audit 只会列删除清单。
还有个新东西叫 band,5.3 版本加的,在输入框上方横一条,显示当前任务花了多少钱、用了多少 token 和多少 agent 时间、复用已有代码的比例、上一次改动后测试过没过。右侧几个按钮能直接切档位、跑 review、把任务导成 Markdown。
它需要 Claude Code 2.1.290 以上,终端和桌面版都有,VS Code 的聊天面板和云端会话里看不到。不想要就 /ponytail band 收起来,同一条命令再打开。
这块是全文我最想讲的部分,因为它展示了一个开源项目怎么对待质疑。
第一版基准测试号称能减 80% 到 94% 的代码。然后社区里有人(Colin Eberhardt)在 issue 里提了四个问题,每个都问到点子上,比如单次生成算不算真的省、样本够不够、不同模型会不会差别很大。
— 来源附带的对照基准图,模型与任务数见图
新版用的是真实的 headless Claude Code 会话,对着一个公开的 FastAPI 加 React 仓库跑,三十九个任务,同一个模型 Opus 5.5,每组跑五次取平均。这个设置比上一版扎实的地方在于,它不是单次生成,是让 Agent 真的在仓库里改代码、跑测试、看结果。
— 当前官方基准概览:代码、耗时、费用与测试覆盖
跑下来代码减 53%,耗时减 41%,费用降 26%,token 减 45%。
比这几个数字更值钱的是另一条,涉及风险逻辑的改动里,98% 带着测试提交;不装的时候这个数字是 68%。也就是说少写的是代码,不是保障。
安全也单独测了。六个场景,SQL 注入、路径穿越、伪造 token、限流、畸形 CSV 行、缓存,三十次运行全过。
有个对照很有意思。只要求模型「回复简洁」的那一组,代码是少了,token 反而多了,因为话说短了但该写的代码一行没少写。这条说明减少代码量和减少输出字数完全是两件事。
这也解释了为什么市面上那些「让 AI 说话简短一点」的提示词效果有限。它们管的是表达,没管决策。ponytail 管的是决策,从「要不要写」这一层就开始拦。
我觉得最实在的数字不是那个 53% 的平均值,是收敛点。后端增删改查这种本来就精简的代码,装与不装几乎一样,ponytail 没有瞎砍;差距集中在日期选择器、颜色选择器、表单校验这类有「过度工程陷阱」的功能上。
换句话说,它不是无差别瘦身,是在该瘦的地方下手。这一点比总平均值更能说明问题,因为真实的项目里,一半代码本来就没法再精简。
还有个盲测,同一批问题分别用新旧两版回答,新版赢了 110 比 67。这能补充说明回答质量,但不能代替实际项目的正确性测试。
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail
装完每次新开会话自动生效,启动时会告诉你当前是哪个模式。桌面版 Claude Code 没有 /plugin 命令,得从界面上走,在 Customize 里找到个人插件那一栏,点加号添加市场再安装。
codex plugin marketplace add DietrichGebert/ponytail
然后用 /plugins 打开列表,选 Ponytail 市场安装。装完去 /hooks 看一眼那两个生命周期钩子,审核信任一下,不然不生效。
GitHub Copilot CLI 用同样的市场命令,把 codex 换成 copilot 就行。
copilot plugin marketplace add DietrichGebert/ponytail
copilot plugin install ponytail@ponytail
Gemini CLI 走扩展机制,一条命令加仓库地址;用 Antigravity 的把 gemini 换成 agy。
gemini extensions install https://github.com/DietrichGebert/ponytail
OpenCode 从仓库 checkout 出来,在项目的配置文件里挂一行插件路径。
{"plugin": ["./.opencode/plugins/ponytail.mjs"]}
CodeWhale 什么都不用装,它自己会读项目根目录的 AGENTS.md。OpenClaw 用 clawhub 装,review 和 audit 这些附属技能同样一条命令加上。
剩下那些只吃规则文件的,Cursor、Windsurf、Cline、Kiro、Zed、Aider,把 AGENTS.md 复制进项目就行,不用任何命令。仓库里各种格式都备好了,对应目录直接放。
模式默认是 full,四个档位都能切。想改默认值,用环境变量或者写个配置文件。
PONYTAIL_DEFAULT_MODE=lite
配置文件在 ~/.config/ponytail/config.json,Windows 上是 %APPDATA%\ponytail\config.json。lite 是温和提醒,ultra 是那种你被自己的代码库气到想掀桌子的时候才开的档。
两个小地方提醒一下。Claude Code 和 Codex 的插件里有小型的 Node.js 生命周期钩子,所以 node 得在 PATH 里;用 nvm 或者 Nix 管 Node 的,确认一下当前 shell 能不能找到。另外官方特意写了,只从 DietrichGebert/ponytail 这个仓库或者 npm 上的同名前缀安装,它的包里不会带 exe 和 dll,带这些的都不是原版。
它不是万灵药。规则再严,底层模型推理拉胯也救不回来,你用的模型本身就很重要。同样一份规则,能力强的模型是真的先去看代码库,弱一点的模型只是把台阶当口号念一遍。
它治的是过度工程化这一个毛病,治不到架构糊涂、需求模糊、测试缺失这些。真碰上烂摊子,还是得自己上手。
另外一个前提是 Agent
本身要能读项目。规则版靠的就是把 AGENTS.md 放进仓库根目录,Agent 得真的会去读它;有些工具只在特定时机读一次,效果会打折扣。这一点装完最好自己验一下,随便让它写个小组件,看它是先翻代码库还是先 import。
但如果你的日常是让 Agent 写页面、写组件、写脚本,装它之后代码量肉眼可见地降下来。我现在的习惯是每次让 Agent 写完都跑一遍 review,经常能揪出那种「它觉得有必要,其实没必要」的东西。有些是自己写顺手了根本没注意,比如给一个只用一次的函数抽了个工具文件;有些是过度防御,给内部调用加了三层参数校验。
仓库在 https://github.com/DietrichGebert/ponytail ,MIT 协议,随便改随便用。
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)