Appearance
Ponytail:让 Agent 少写代码
"最好的代码是你从没写过的代码。"
Ponytail(DietrichGebert 出品,MIT 协议,发布 9 天即获 4.4 万 star,现已超过 10 万)给 Agent 注入一个人设:一位在公司待得比版本控制系统还久的"懒惰资深工程师"——你给他看五十行代码,他用一行替换掉。
它注入了什么
本质是一套系统化的 YAGNI / 反过度工程规则:
- 禁止重新发明标准库已有的轮子;
- 禁止为"将来可能用到"写投机性抽象;
- 优先删代码、复用现有代码,而不是新增代码。
效果与争议
官方基准(基于 Claude Code headless 跑真实开源仓库 tiangolo/full-stack-fastapi-template,按 git diff 新增行数计分)显示约 54% 更少的代码、约 20% 更省钱、约 27% 更快;在 Agent 严重过度构建的场景(如一个日期选择器)最高省 94%。
也要知道争议:有开发者指出,一句简短的 YAGNI 提示词就能逼近其早期单轮基准的效果——作者因此把基准重建成了真实 Agent 任务。结论:收益真实存在,但别指望魔法,它的价值是"把好习惯固化成不会忘的规则",不是提升模型智力。
安装与生态
bash
# Claude Code(插件形式)
/plugin marketplace add dietrichgebert/ponytail- 同一份
SKILL.md是唯一事实来源,通过适配器同步支持 14 种 Agent(Claude Code、Codex、Cursor、Copilot CLI、Gemini CLI、OpenCode 等),CI 保证各适配器不漂移; - Claude Code / Codex 插件依赖两个 Node.js 生命周期钩子,需要
node在 PATH 里; - 配套的 Ponytail Audit 是一个反向评审 Skill:不查正确性、专查复杂度——重造轮子、多余依赖、投机抽象。
上下文成本提示
Ponytail 通过 hook 每一轮注入规则,属于"常驻型"用法,和 Skills 篇讲的渐进式披露不同——好在规则本身很精简。装任何常驻型 Skill 后,记得用 /context 看一眼开销。
适合谁
所有人,尤其是发现 Agent 动不动就给你生成 300 行"企业级"样板代码、为一个配置项设计三层抽象的人。