Ponytail:让 AI 编码智能体像最懒的高级开发一样思考,代码量直降 54%

Ponytail logo

你肯定见过那种人:长马尾、圆框眼镜、在公司待得比版本控制系统还久。你给他看五十行代码,他看都不看,沉默两秒,用一行把它换掉——而且一次跑通。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.jsonPONYTAIL_DEFAULT_MODE 环境变量设置默认强度(lite/full/ultra/off,默认 full)。

快速安装(以 Claude Code 为例)

/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail

⚠️ 两条 /plugin 命令需分两次发送才能生效。

其他平台的极简安装:

  • Codexcodex plugin install ponytail@ponytail
  • Cursor / Windsurf / Cline:复制仓库里的 .cursor/rules/ponytail.mdc(或对应 rules 文件)到项目
  • Gemini CLIgemini extensions install https://github.com/DietrichGebert/ponytail
  • OpenCode:在 opencode.json{"plugin":["@dietrichgebert/ponytail"]}
  • Hermes Agenthermes 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、.clinerulesAGENTS.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,把自由留给真正需要创造力的你。

六、下载地址

许可证:MIT | 语言:JavaScript | 当前 Star:85K+

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注