
你肯定见过那种人:长马尾、圆框眼镜、在公司待得比版本控制系统还久。你给他看五十行代码,他看都不看,沉默两秒,用一行把它换掉——而且一次跑通。Ponytail 就是把这位”最懒的高级开发”塞进了你的 AI 编码智能体。
它不是一个新模型,也不是一个新 IDE,而是一套规则集 / Skill:在动手写代码前,先逼 Agent 在”懒惰阶梯”上逐级确认——这东西真的需要存在吗?代码库里已经有了吗?标准库能解决吗?浏览器原生支持吗?……直到最后一步才允许写出”最小可用”的代码。结果是在真实 FastAPI + React 仓库上实测:代码量少 54%、成本降 20%、速度快 27%,安全性 100% 不打折。
一、项目简介
Ponytail 是一个跨 20+ AI 编码智能体(Claude Code、Codex、Cursor、Windsurf、Cline、Gemini CLI、Copilot CLI、Aider、Kiro、Zed、Hermes Agent、OpenCode、Qoder 等)的”极简工程规则集”,教 Agent 像最懒的高级开发一样思考——能不写就不写,能复用就复用,用最小必要代码解决问题,同时永不削减安全、校验与可访问性护栏。
二、安装要求与过程
环境要求
- Node.js:Claude Code / Codex 插件会运行两个轻量 Node.js 生命周期 hook,需要 node 在 PATH 上(nix/nvm 用户注意非交互 shell 的 PATH)。没有也没关系——Skill 照常工作,只是常驻激活会保持静默。
- 任一支持的 AI 编码助手:覆盖 20+ 平台,无需统一环境。
- 零配置:不需要任何配置文件;可选
~/.config/ponytail/config.json或PONYTAIL_DEFAULT_MODE环境变量设置默认强度(lite/full/ultra/off,默认 full)。
快速安装(以 Claude Code 为例)
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail
⚠️ 两条 /plugin 命令需分两次发送才能生效。
其他平台的极简安装:
- Codex:
codex plugin install ponytail@ponytail - Cursor / Windsurf / Cline:复制仓库里的
.cursor/rules/ponytail.mdc(或对应 rules 文件)到项目 - Gemini CLI:
gemini extensions install https://github.com/DietrichGebert/ponytail - OpenCode:在
opencode.json加{"plugin":["@dietrichgebert/ponytail"]} - Hermes Agent:
hermes plugins install DietrichGebert/ponytail --enable - 更多(Kiro、Zed、Qoder、Pi、Devin、OpenClaw、Amp、Jules、Swival、CodeWhale…)见仓库
docs/agent-portability.md
三、核心功能
1. 七阶”懒惰阶梯”(Ladder of Laziness)
在写代码前,Agent 会停在第一个成立的台阶上:
1. 这东西需要存在吗? → 不需要:跳过(YAGNI)
2. 代码库里已经有了? → 复用,别重写
3. 标准库能搞定? → 用它
4. 平台原生能力? → 用它(比如 <input type="date">)
5. 已安装的依赖里有? → 用它
6. 一行能解决? → 一行
7. 只有到这步才:写最小可用
关键是它在”理解问题之后”才跑这把梯子:先读被改动触碰的代码、追真实的调用流,再选台阶。对”怎么解”偷懒,但对”读懂”绝不懈怠。
2. 四档强度 + 子代理注入
/ponytail [lite|full|ultra|off] 切换力度,ultra 留给”这个代码库个人得罪了你”的时刻;规则集会自动注入通过 Agent 工具派生的每一个子代理(可用 PONYTAIL_SUBAGENT_MATCHER 正则按 agent 类型做白名单)。
3. 六个专门命令(Skills)
/ponytail-review:审查当前 diff 的过度设计,直接给你一份”删除清单”/ponytail-audit:不止看 diff,全仓审计过度工程/ponytail-debt:把延后的ponytail:捷径汇总成账本,防止”以后再说”变”永远不做”/ponytail-gain:展示 benchmark 实测的收益记分牌/ponytail-help:命令速查
4. 懒而不怠(Lazy, not negligent)
信任边界校验、数据丢失处理、安全、可访问性,永远不在削减之列。这也是它和裸”写一行代码”提示最根本的区别——后者在基准测试里安全性从 100% 掉到了 95%。
5. 极致的可移植性
同一套规则用 20+ 平台的原生格式分发:Claude Code 插件、Codex 插件、Cursor rules、Windsurf rules、.clinerules、AGENTS.md、.kiro/steering、.qoder/rules、Gemini extension、OpenCode 插件、Hermes 插件、OpenClaw skills、Copilot instructions……你在不同工具间切换,规则无缝复用。
四、典型使用场景
场景 1:过度膨胀的日期选择器
你只想要个日期选择。普通 Agent 会装 flatpickr、写 wrapper 组件、加样式表、顺带开一场关于时区的讨论。Ponytail 下:
<!-- ponytail: 浏览器原生就有 -->
<input type="date">
实测:日期选择器从 404 行降到 23 行,颜色选择器 287 → 23——因为它伸手去够原生的 <input>,而不是搬一个组件库进来。
场景 2:真实仓库的 feature 开发
作者用无头 Claude Code 编辑真实 FastAPI + React 仓库(tiangolo 的全栈模板),跑 12 个真实工单,同一 Agent 开/关 Ponytail 各 n=4(Haiku 4.5)对比:
| 对比项 | 代码量 | Token | 成本 | 耗时 | 安全 |
|---|---|---|---|---|---|
| Ponytail | -54% | -22% | -20% | -27% | 100% |
| 裸”YAGNI+一行”提示 | -33% | -14% | -21% | -30% | 95% |
Ponytail 是唯一一个每项指标都下降、且全程 100% 安全的方案。省下的成本和延迟只是”顺手”的副作用。
场景 3:代码审查与技术债治理
提 PR 前跑 /ponytail-review,让它帮你揪出过度工程化的代码并给出删除清单;/ponytail-audit 做整仓体检;/ponytail-debt 防止”以后再说”变成”永远不做”。这比人工 code review 更狠,也更不近人情——但代码更健康。
五、推荐理由(个人心得)
- 哲学站得住脚:它从没把”最少 token”当目标,目标是”只写任务真正需要的”。代码小是因为必要,不是因为炫技压缩。这点戳中了我——太多”极简”提示是以砍掉边界校验为代价的。
- 数据诚实得罕见:作者主动承认早期单轮 benchmark 有基线水分,老老实实用 agentic 基线重测,给出均值 -54% 而不是挑最好看的数字。这种克制在开源圈不多见。
- 跨平台分发太香:我同时在 Claude Code 和 Cursor 之间横跳,同一套规则零摩擦复用,不用维护两份 prompt。
- 该狠的地方真狠:review / audit / debt 三个命令简直是”代码洁癖患者”的福音。
当然也有边界:对已经极简的代码它收益趋近于零;在会”深思熟虑每一步”的 terse 推理模型(如 GPT-5.5)上,反而可能因思考 token 增加而变慢——所以它最擅长的是那些”爱过度构建”的 Agent。一句话:把 Ponytail 交给爱加戏的 Agent,把自由留给真正需要创造力的你。
六、下载地址
- 🌐 官网:https://ponytail.dev
- 🐙 GitHub:github.com/DietrichGebert/ponytail
- 📦 npm:
@dietrichgebert/ponytail - 📊 基准与复现:仓库
benchmarks/目录
许可证:MIT | 语言:JavaScript | 当前 Star:85K+
