Loading...

文章背景图

DietrichGebert/ponytail 保姆级部署教程:让 AI 学会最懒资深工程师的编码哲学

2026-11-01
0
- 字
- 分钟
|

DietrichGebert/ponytail 保姆级部署教程:让 AI 学会最懒资深工程师的编码哲学

一句话定位:GitHub 开源项目 DietrichGebert/ponytail 是一个给 AI 编码智能体装上的「懒资深工程师」技能——它把「最好的代码是你不写的代码」这门老工程师手艺写进一段提示词,让 Claude Code、Codex、Cursor、Copilot、Gemini、OpenCode 等智能体在写代码之前先停下来问自己:这事到底需不需要写、仓库里是不是已经有了、标准库/浏览器原生能不能直接顶上来。

slogan:He says nothing. He writes one line. It works.(他什么都不说,只写一行,然后跑起来了。)

仓库地址:https://github.com/DietrichGebert/ponytail · 许可证:MIT · ⭐ 181,505 · npm 包名 @dietrichgebert/ponytail

Ponytail 官方主 Logo(浅色版):扎马尾、戴椭圆眼镜的懒资深工程师卡通形象

▲ 图 1:Ponytail 官方主 Logo(浅色模式),来自仓库 assets/logo.png,官方 README 顶部展示图

Ponytail 官方主 Logo(深色版)

▲ 图 2:Ponytail 官方主 Logo(深色模式),来自仓库 assets/logo-dark.png,随系统主题自动切换的版本

Trendshift 仓库入口徽章 GitHub Stars 徽章 最新 Release 版本徽章 npm 包版本徽章 Works with 20 agents 徽章 MIT 许可证徽章

▲ 图 3:Ponytail 官方 README 顶部的一排徽章——Trendshift 仓库入口徽章、GitHub Stars、最新 Release、npm 版本、Works with 20 agents、MIT License,均为官方 shields.io / trendshift.io 徽章

Ponytail 5 官方主视觉横幅:-53% 代码、-41% 时间、-26% 成本、-45% Token,同时 98% 风险逻辑带测试

▲ 图 4:Ponytail 5 官方主视觉(assets/v5/hero.jpg),官方用 Claude Code 同一智能体、39 个任务(含真实 FastAPI + React 仓库)、Opus 5.5、每任务 5 次跑出来的对比结论

Trendshift 日榜徽章 Trendshift 周榜徽章 Trendshift 月度 JavaScript 榜徽章

▲ 图 5:Ponytail 官方 README 中的 Trendshift 日榜、周榜、月度 JavaScript 榜三枚官方徽章


一、项目简介

你一定认识他:长马尾、椭圆眼镜、在公司待得比版本控制系统还久。你给他看 50 行代码,他看两眼,什么也不说,把它们换成一行。Ponytail 就是把这位「懒资深工程师」搬进你的 AI 编码智能体里。

它的本质不是另一个代码框架,而是一段提示词技能(SKILL.md)——仓库里所有的安装方式、所有适配(Claude Code、Codex、Cursor、Copilot、Gemini、OpenCode、Devin CLI、Antigravity CLI、pi、Hermes Agent、Qoder、Grok Build 等),做的事都是把这一段提示词喂给智能体,让它每次写代码之前先过一遍「懒工程师梯子」。

最新版 Ponytail 5 是从零重写的。官方在 Claude Code 上用同一智能体、同一组 39 个任务(含一个真实 FastAPI + React 仓库)、Opus 5.5、每任务 5 次跑出来的对比结论是:-53% 代码、-41% 时间、-26% 成本、-45% Token,同时风险逻辑带测试的比例从 68% 提升到 98%。方法、逐任务表格与边界都列在仓库 benchmarks/results/2026-10-07-agentic.md 里。

它强调的「懒」从来不是「少写几个 Token」,而是:只写这个任务真正需要的代码,绝不砍掉校验、错误处理、安全和无障碍。代码之所以小,是因为它必要,而不是因为在打高尔夫。更便宜、更慢是附带结果。

二、功能特点 / 核心能力

能力说明
🪜 懒工程师梯子(Ladder)写代码前逐级停在第一个撑得住的横档:这事到底需不需要存在 → 仓库里是不是已经有了 → 标准库能不能做 → 平台原生功能能不能做 → 已装依赖能不能做 → 能不能一行写完 → 最后才写最小可工作版本,并附一个小测试
🧠 先读懂再动手梯子跑在「读懂问题之后」,而不是代替读代码:它会读你改动触达的代码、追踪真实数据流,然后才选横档。对方案懒,对读代码绝不懒
🛡️ 懒,不是玩忽职守信任边界校验、数据丢失处理、安全、无障碍永远不在砍单清单上;有分支/循环/解析器/钱/安全的逻辑必留一个小测试
🔍 /ponytail-review 重写像被呼来救场的老工程师一样 review:不只看 diff,读你改动触达的代码,查 bug、安全、真实负载、缺测试、慢路径、能砍的地方;每条结论都说清代码在干嘛、会出什么错、怎么修、不修会怎样
🗂️ /ponytail-audit 重写对整个仓库跑同一套检查,先画地图(入口、数据流、预期负载),再按优先级排序告诉你先修哪一个;老版只列删什么,新版给修复顺序
🎸 Band 成本带(5.3 新)Claude Code 输入框上方显示当前任务成本、Token、智能体时间、复用率、上一次改动后测试是否通过;按钮切档位、跑 review/audit、复制任务 Markdown、折成一行
📊 Board 本地看板一个本地页面,跨项目汇总所有任务:成本/智能体时间/Token 曲线、每个会话的测试结果、工作天数;默认全留本机,在 ~/.config/ponytail/band/
🪙 档位可调/ponytail lite | full | ultra | off 切换强度;ultra 留给「这个仓库对不起你」的时刻
📒 shortcut: 注释账本智能体故意走捷径时写下 shortcut: 注释,/ponytail-debt 把它们收成台账,让「以后再说」不会变成「永远不说」
🏅 Impact 记分牌/ponytail-gain 展示官方基准里少写的代码、少花的成本、多跑出来的速度
🔌 20+ 智能体适配Claude Code、Codex、Devin CLI、OpenCode、Gemini、Antigravity CLI、pi、Hermes Agent、Qoder、Grok Build 走完整技能;Cursor、Windsurf、Cline、Copilot、Kiro 走规则文件/AGENTS.md 指令模式

Ponytail v4.13 与 Ponytail 5 相对无技能基线的对比图:代码行数、输出 Token、成本、时间占比

▲ 图 6:官方 Numbers 对比图(assets/v5/chart.png),纵轴为「无技能基线的占比」——Ponytail v4.13 代码 52%、Ponytail 5 代码 47%;输出 Token 57%/55%;成本 84%/74%;时间 62%/59%

测试覆盖率对比:98% 风险逻辑带测试(无技能 68%);智能体自己的测试抓到 66% 注入 bug(无技能 46%)

▲ 图 7:官方测试对比图(assets/v5/tests.png)——代码砍一半,测试反而更牢

Before/After 示例:加日期选择器,无技能写 335 行手撸日历,Ponytail 5 只写 10 行复用仓库 Input + 浏览器原生 date

▲ 图 8:官方 Before/After 示例(assets/v5/beforeafter.png)——你要加一个日期选择器,无技能时智能体装库或手撸日历(335 行);Ponytail 5 先看仓库里已有 Input 组件,再看浏览器自带 date picker,两者一拼,10 行

真实 /ponytail-review 输出截图:改动重命名了字段,未触达文件 src/routes/feed.js 现在每次请求崩溃

▲ 图 9:官方 /ponytail-review 真实输出(assets/v5/review.png)——100% 植入问题被找到(无技能 87%)、100% diff 之外的问题被找到(无技能 78%)

真实 /ponytail-audit 输出截图:仓库整体排序,先修哪一个一目了然

▲ 图 10:官方 /ponytail-audit 真实输出(assets/v5/audit.png)——在一个仓库库存项目上给出 1 条 must fix、2 条 must fix、3 条 must fix、4 条 should fix、5 条 nice to have,并直接说「先修第 1 条」

三、环境要求

  • 宿主智能体:任意一种支持技能(SKILL.md)或规则文件(AGENTS.md / CLAUDE.md / .cursorrules)的 AI 编码智能体;官方完整适配清单 20+,包括 Claude Code、Codex、Devin CLI、OpenCode、Gemini、Antigravity CLI、pi、Hermes Agent、Qoder、Grok Build、Cursor、Windsurf、Cline、Copilot、Kiro 等。
  • Band / Board 专属要求:成本带需要 Claude Code 2.1.290 或更新版本,终端或桌面应用均可;VS Code 聊天面板、云端会话、claude -p 不显示。
  • 运行时:技能本体就是一段 Markdown 提示词,本身不需要 Node/Python/任何运行时;npm 包 @dietrichgebert/ponytail 仅作为分发通道。
  • 配置文件:可选。不写任何配置就能跑;要改默认档位可写 ~/.config/ponytail/config.json 或设环境变量 PONYTAIL_DEFAULT_MODE。
  • 网络:从 GitHub 仓库或 npm 拉取技能即可;Band/Board 默认完全本地化,不发任何数据出去。

四、保姆级部署步骤

4.1 Claude Code 安装(官方推荐路径)

在 Claude Code 里依次执行两条命令:

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

装完即生效。每次新会话启动时会看到当前模式提示;输入 /ponytail 不带参数会报告当前档位,/ponytail lite|full|ultra|off 切换强度。

4.2 Codex CLI 安装

codex plugin marketplace add DietrichGebert/ponytail
codex plugin add ponytail@ponytail

然后在 Codex 里打开 /hooks,信任它带的两个生命周期钩子,开一个新线程即可。在 Codex CLI 与 IDE 扩展里命令以技能命名空间形式出现,例如 $ponytail:ponytail-review。

4.3 其他智能体(Cursor / Copilot / OpenCode / Gemini 等)

对任意智能体,最通用的做法是:把仓库里的 AGENTS.md 复制到你项目根目录;或者让你的智能体把 skills/ponytail/SKILL.md 作为技能装上。Copilot、Cursor、OpenCode、Gemini 等逐家的步骤见官方 INSTALL.md。

Cursor 走 hooks 路线时只能拿到 /ponytail 档位切换(作为普通消息输入);Cursor 的规则文件、Windsurf、Cline、Copilot、Kiro、Antigravity 的 AGENTS.md 回退路径则加载常驻规则集,但不带命令。

4.4 安全校验

官方明确:只从 GitHub 的 DietrichGebert/ponytail 或 npm 的 @dietrichgebert/ponytail 安装。它从来不发布 .exe 或 .dll 文件——如果你拿到的副本带这俩后缀,那不是官方的。

五、配置说明

  • 默认档位:不配置即可,默认档位由官方设定;要改可写 ~/.config/ponytail/config.json,或设环境变量 PONYTAIL_DEFAULT_MODE。
  • shortcut 关键词:智能体故意走捷径时会写 shortcut: 注释。想换成别的词(或不要),在项目的 CLAUDE.md 或 AGENTS.md 里写明,然后跑一次 /ponytail-debt <你的词>。
  • Band 显隐:/ponytail band 切换成本带显示,档位保留;/ponytail band import 把你过去的 Claude Code 会话导入 Board,连同成本、智能体时间、Token 一起算。
  • Board 数据位置:默认 ~/.config/ponytail/band/,全在本机,不上传。

Claude Code 输入框上方的 Ponytail 成本带:当前任务成本、Token、智能体时间、复用率、测试状态

▲ 图 11:官方 Band 成本带截图(assets/band/band.png)——详情模式显示成本 $23.80、最近一轮 $1.14、平均 $0.72/轮、56.7M Token、168k 输出、33 轮、智能体时间 52m14s、复用率 71%、上次改动后测试通过;紧凑模式折成一行

Ponytail Board 本地看板:跨项目 61 个会话、近 30 天 20h13m 智能体时间、$285.30、492.5M Token

▲ 图 12:官方 Board 本地看板截图(assets/band/board.png)——按项目的智能体时间曲线、最近会话及其测试、活跃天数与连续天数

懒工程师梯子示意图:在第一个撑得住的横档停下

▲ 图 13:官方 Ladder 梯子示意图(assets/v5/ladder.png)——1 这事需不需要存在 → 2 仓库里是不是已经有 → 3 标准库 → 4 平台原生 → 5 已装依赖 → 6 能不能一行 → 7 写最小可工作版本,有逻辑再加一个小测试

六、使用方法

装好之后不需要任何启动动作。它会在每个会话里常驻生效,你照常提需求即可。常用命令如下:

命令作用
/ponytail [lite|full|ultra|off]设置强度或关闭;不带参数时,如果关着就用默认档位打开,否则报告当前档位
/ponytail band [on|off]仅 Claude Code:显隐输入框上方的成本带,不带参数切换;档位不变
/ponytail band import仅 Claude Code:把过去的会话导入 Board
/ponytail-review像被呼来救场的老工程师一样 review 当前 diff;可用 uncommitted、staged、branch 或一个 PR 链接缩小/扩大范围
/ponytail-audit对整个仓库跑同一套检查,按优先级排序
/ponytail-debt把 shortcut: 注释收成台账
/ponytail-gain展示官方基准里的影响记分牌
/ponytail-help以上命令的快速参考

每次回答末尾,Ponytail 都会主动说明它跳过了什么、没检查什么、有什么风险你应该知道——这是它作为「懒但不玩忽职守」的一部分。

七、常见问题 FAQ

问一:它需要配置文件吗?
答:不需要。可选的 ~/.config/ponytail/config.json 或环境变量 PONYTAIL_DEFAULT_MODE 只能用来设默认档位;除此之外什么都不用配。

问二:为什么它会写 shortcut: 注释?
答:那是在标记「这是故意走的捷径、什么时候该回头看」,/ponytail-debt 把这些收成台账。想换词或不要,在项目 CLAUDE.md/AGENTS.md 里写明,再跑一次 /ponytail-debt <你的词>。

问三:我真的需要那个 120 行的缓存类怎么办?
答:你不需要。但你要是坚持,他会写——慢慢地、正确地、一边看着你一边写。

问四:它能扛规模吗?
答:你没写的代码可以无限扩展:零 bug、零 CVE、从一开始就是 100% 可用。这就是它的笑话,也是它的论点。

问五:为什么叫 Ponytail(马尾辫)?
答:你知道为什么。

问六:怎么避免装到山寨?
答:只认 GitHub 的 DietrichGebert/ponytail 与 npm 的 @dietrichgebert/ponytail;官方不发 .exe/.dll,见到带这俩后缀的副本直接丢弃。

官方用户故事横幅:在工作中用 Ponytail 吗?来讲你的故事

▲ 图 14:官方用户故事横幅(assets/stories-banner.png),链接到 ponytail.dev/stories

官方 Waitlist 横幅:即将上线,加入等候列表

▲ 图 15:官方 Waitlist 横幅(assets/waitlist-banner.png),链接到 ponytail.dev/soon

已用 Ponytail 做出来的产品(官方 README「Already built with Ponytail」展示位):

Retriever 官方 Logo(浅色) Retriever 官方 Logo(深色) PhotoReunion 官方 Logo(浅色) PhotoReunion 官方 Logo(深色)

▲ 图 16:官方 README 展示的两个已用 Ponytail 做出来的产品——Retriever 与 PhotoReunion(浅色/深色两套 Logo,均来自仓库 assets/ 目录)

相关链接

Ponytail GitHub Star 历史曲线(star-history.com 官方图)

▲ 图 17:Ponytail 官方 Star History 曲线,来自 star-history.com,官方 README 末尾展示图

评论交流

文章目录