社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

一周 18万 Star 登顶 GitHub Trending!这款 AI 编程插件火的离谱

Java基基 • 17 小时前 • 17 次点击  

👉 这是一个或许对你有用的社群

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

👉这是一个或许对你有用的开源项目

国产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 做减法。

它没让模型变聪明,它只是拦住了它炫技的手。

本文看点

01

它干的事,是让 Agent 先别动手

02

七级台阶,每一级都是一道关卡

03

二十个 Agent 都能用,命令不止一个

01

DECISIONS

它干的事,是让 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/


02

LADDER

七级台阶,每一级都是一道关卡

它不跟 Agent 说「你少写点」,那没用。它给了一套台阶,动笔之前一级一级往下站,站住就停。

— 七级台阶,能停就停

第一级,这个东西需要存在吗。第二级,代码库里是不是已经有了。

第三级,标准库能不能做。第四级,浏览器或者系统有没有原生能力。

第五级,已经装的依赖里有没有。第六级,能不能写成一行。

第七级,才轮到「写最小可用版本」,有逻辑的话再补一个小测试。

这套顺序有个隐含前提,就是先看再写。大多数 Agent 的默认行为是看到需求就 import,ponytail 把顺序反过来了。

我用下来的感受是,它最大的作用不是省那几行代码,是把「先调研」这个动作固化了。以前得在提示词里反复叮嘱「先看看项目里有没有现成的」,说十次有三次它还是自己造;现在成了默认动作。

有个细节我挺喜欢,它不是那种懒到连校验都不做的蠢懒。规则写得很死,信任边界的输入校验、防止数据丢失的错误处理、安全逻辑、无障碍访问,这四样绝对不能砍。懒的是代码量,不是责任。

README 里有句话是整份规则的题眼,写的是「只写任务需要的,永远不砍校验、错误处理、安全和无障碍」。代码最后变小,是因为它确实只需要这么小。

还有一条,Agent 如果故意简化了代码,得在简化处留一个 ponytail: 注释。要是这个简化有已知上限,比如全局锁或者平方级扫描,注释里还得写清楚上限在哪、以后想升级从哪下手。

官方 examples 目录里放了不少前后对比,同一个任务、同一个模型、温度都是一,装与不装各跑一遍,不是手抄的示意,是真实输出。

邮件校验那个比较直观。不装的时候 Agent 写了七十五行,三个版本摞在一起,基础正则一版、进阶校验一版、推荐的第三方库一版,末尾还附了使用说明和对比表。

···text

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/


03

COMPATIBILITY

二十个 Agent 都能用,命令不止一个

它不是一个 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 收起来,同一条命令再打开。


04

BENCHMARK

基准测试被推翻重做,数字反而更硬

这块是全文我最想讲的部分,因为它展示了一个开源项目怎么对待质疑。

第一版基准测试号称能减 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。这能补充说明回答质量,但不能代替实际项目的正确性测试。


05

INSTALL

装上只要两行,模式随时切

Claude Code 最省事,两句命令。

···text

/plugin marketplace add DietrichGebert/ponytail

/plugin install ponytail@ponytail

装完每次新开会话自动生效,启动时会告诉你当前是哪个模式。桌面版 Claude Code 没有 /plugin 命令,得从界面上走,在 Customize 里找到个人插件那一栏,点加号添加市场再安装。

Codex 也差不多,先加市场再装。

···text

codex plugin marketplace add DietrichGebert/ponytail

然后用 /plugins 打开列表,选 Ponytail 市场安装。装完去 /hooks 看一眼那两个生命周期钩子,审核信任一下,不然不生效。

GitHub Copilot CLI 用同样的市场命令,把 codex 换成 copilot 就行。

···bash

copilot plugin marketplace add DietrichGebert/ponytail

copilot plugin install ponytail@ponytail

Gemini CLI 走扩展机制,一条命令加仓库地址;用 Antigravity 的把 gemini 换成 agy。

···bash

gemini extensions install https://github.com/DietrichGebert/ponytail

OpenCode 从仓库 checkout 出来,在项目的配置文件里挂一行插件路径。

···json

{"plugin": ["./.opencode/plugins/ponytail.mjs"]}

CodeWhale 什么都不用装,它自己会读项目根目录的 AGENTS.md。OpenClaw 用 clawhub 装,review 和 audit 这些附属技能同样一条命令加上。

···bash

clawhub install ponytail

剩下那些只吃规则文件的,Cursor、Windsurf、Cline、Kiro、Zed、Aider,把 AGENTS.md 复制进项目就行,不用任何命令。仓库里各种格式都备好了,对应目录直接放。

模式默认是 full,四个档位都能切。想改默认值,用环境变量或者写个配置文件。

···bash

PONYTAIL_DEFAULT_MODE=lite

···json

{"defaultMode": "ultra"}

配置文件在 ~/.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,带这些的都不是原版。


06

BOUNDARIES

边界,和它适合谁

它不是万灵药。规则再严,底层模型推理拉胯也救不回来,你用的模型本身就很重要。同样一份规则,能力强的模型是真的先去看代码库,弱一点的模型只是把台阶当口号念一遍。

它治的是过度工程化这一个毛病,治不到架构糊涂、需求模糊、测试缺失这些。真碰上烂摊子,还是得自己上手。

另外一个前提是 Agent  本身要能读项目。规则版靠的就是把 AGENTS.md 放进仓库根目录,Agent 得真的会去读它;有些工具只在特定时机读一次,效果会打折扣。这一点装完最好自己验一下,随便让它写个小组件,看它是先翻代码库还是先 import。

但如果你的日常是让 Agent 写页面、写组件、写脚本,装它之后代码量肉眼可见地降下来。我现在的习惯是每次让 Agent 写完都跑一遍 review,经常能揪出那种「它觉得有必要,其实没必要」的东西。有些是自己写顺手了根本没注意,比如给一个只用一次的函数抽了个工具文件;有些是过度防御,给内部调用加了三层参数校验。

仓库在 https://github.com/DietrichGebert/ponytail ,MIT 协议,随便改随便用。

END




欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/203384