Skip to content

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 行"企业级"样板代码、为一个配置项设计三层抽象的人。


来源:Ponytail 仓库基准争议与重建(DEV Community)

AI Coding Guideline — 面向 Claude Code / Codex 等 AI 编程工具的实践指南