乐于分享
好东西不私藏

AI 写代码太啰嗦?这个插件让 Agent 先问「能不能不写」

AI 写代码太啰嗦?这个插件让 Agent 先问「能不能不写」

你让 AI 写一个日期选择器,它先去装了 dayjs,然后封了一个 DatePicker 组件,顺手把样式系统、国际化、无障碍属性全配了一遍,然后开始讨论时区。

你盯着屏幕,想说「我就想选个日期」。

Ponytail 这个 GitHub 项目,就是帮你把这句话变成规则的。

项目名故意叫「ponytail」(马尾辫),灵感来自一个从不废话的高级开发者:他坐在那里不说话,写一行代码,问题解决了。

这个项目的核心不是某个新模型,而是一套「规则文件」——让 AI 编程助手在动手之前,先过一遍「能不能不写」的检查清单。

它到底在管什么

AI 编程工具现在有个通病:太勤快。

你让它「帮我加个搜索框」,它顺手做了防抖、虚拟滚动、搜索历史持久化、键盘快捷键、暗黑模式。总共 800 行。

你想做的其实就是一个 <input> 加一个 filter()。

Ponytail 给 AI 设了一个「懒惰阶梯」。每次 AI 要写代码之前,按这个顺序问自己,在哪一层能停住,就在哪一层停住:

  1. 这个东西真的需要存在吗 → 不需要就整个跳过
  2. 标准库能做吗 → 用标准库,别造轮子
  3. 平台原生能力能覆盖吗 → 用原生,别加依赖
  4. 已有的依赖能搞定吗 → 用现有的,别装新的
  5. 一行代码能搞定吗 → 写一行,别封函数
  6. 以上都不行 → 才写最小可用实现

阶梯的底层逻辑是「YAGNI」(You Aren't Gonna Need It),一个写了二十年的软件工程原则,现在被做成规则塞给 AI。

数字代表了什么

项目里有一组 benchmark,用的是真实 Claude Code 无头会话,编辑的是一个真实项目(FastAPI + React 的全栈模板),跑 12 个功能任务,每个任务跑 4 次取结果。

对照三组:ponytail、一个叫 caveman 的「极简提示词」、以及作者自己写的「YAGNI + one-liners」提示词。

ponytail
caveman
YAGNI 提示词
代码行数
-54%
-20%
-33%
Token 消耗
-22%
+7%
-14%
成本
-20%
+3%
-21%
耗时
-27%
+2%
-30%
安全性
100%
100%
95%

几个值得注意的点:

  • ponytail 是唯一在所有指标上都有削减的方案。caveman 反而让 token 消耗和成本上升了——说明「极简提示词」不一定等于「更省」。
  • 安全性那一栏:ponytail 和 caveman 都是 100%,但 YAGNI 提示词降到了 95%,原因是某次测试里丢失了路径遍历防护。这就是 Ponytail 强调的「懒但不失职」:省代码可以,安全边界不能动。
  • 代码行数最高能砍掉 94%,但那是单次生成测试的旧数据。项目作者也标注了「有基线偏差,agentic 数据更可信」。所以 -54% 是更现实的参考值。

怎么安装

目前支持 14 个 AI 编程工具,覆盖主流的应该都有了。

Claude Code 用户直接在会话里输入:

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

Codex 用户:

codex plugin marketplace add DietrichGebert/ponytail

然后在 /plugins 里安装,在 /hooks 里信任生命周期钩子。

Cursor / Windsurf / Cline / GitHub Copilot(编辑器版) 不用装插件,直接把仓库里对应的规则文件复制到自己项目目录就行。比如 Cursor 就复制 .cursor/rules/ 那个文件夹。

装完之后有几个命令可以用:

  • /ponytail [lite|full|ultra|off] — 调强度,或者关掉
  • /ponytail-review — 让 AI 审查当前 diff,找出哪些代码写多了
  • /ponytail-audit — 审计整个仓库的过度工程化
  • /ponytail-debt — 收集你写代码时顺手标了 ponytail:  的「以后再说」,防止它们永远不做

哪些边界不能省

项目强调了一句话:「懒但不失职」。

具体来说,以下几样东西,Ponytail 的规则明确说不能为了少写代码而删掉:

  • 信任边界的校验(比如用户输入能不能信)
  • 数据丢失的处理(比如删东西之前有没有确认)
  • 安全性(路径遍历、XSS、权限检查)
  • 无障碍访问(ARIA 属性、键盘导航)

这几条是比较硬的约束。如果你打算在严肃项目里用,建议先把规则文件里这几段读一遍,确认它覆盖到了你关心的场景。

代码之外

不一定非要装这个插件。Ponytail 真正的价值,可能是它把「少写代码」这件事变成了一套你可以在任何 AI 工具里复用的提示思路。

你可以直接把下面这段话当成提示词前缀,贴给任何 AI 编程助手:

在写任何代码之前,按顺序检查:

  1. 这个功能真的需要写吗?
  2. 标准库或原生平台能力能不能覆盖?
  3. 现有依赖能不能搞定?
  4. 能不能一行代码解决? 如果以上有一个成立,就不要写新的封装。 但以下东西不能省:输入校验、安全处理、数据丢失防护。

这段话没提 Ponytail,但逻辑是一样的。

如果你已经用 Claude Code 或 Codex 干过实际项目,试试把规则文件贴进去跑一个小功能,看看它会不会少写点。

如果你之前被 AI 生成的代码量吓到过,这个项目值得一试。如果你本来就习惯了手写,可能觉得它管得有点多。

仓库地址:https://github.com/DietrichGebert/ponytail

以上就是今天的内容。我们会在 「AI小集市」持续分享AI与开源库的前沿应用。如果你对今天的内容感兴趣,点击关注,每天第一时间获取最新技术动态。
更多往期精选:
Cursor 不只想帮你写代码,它想把 GitHub 的活也抢了
微软CEO这篇长推文,给每个用AI的人提了一个反直觉的问题
0元能跑生产吗?2026 年免费 LLM API 完整踩坑指南

相关学习资料