Ponytail

“最好的代码是你根本没写的代码”——让你的 AI Agent 像屋里那个最懒的资深工程师一样思考

项目速览

项目 内容
仓库 DietrichGebert/ponytail
语言 JavaScript
Stars 176,638(2026-10-26),Forks 9,652,月增 31,412
协议 MIT
状态 2026-06-12 建库
组成 技能本体 + review / audit / band 三件套

它想解决什么问题

AI 写代码的通病是”过度工程”:你要个日期选择器,它装一个日期库或者手写整个日历;你要个配置项,它给你一套插件系统。

Ponytail 的人设一句话说完:”Makes your AI agent think like the laziest senior dev in the room.”——让 Agent 像那个最懒的资深工程师一样思考:能不加就不加,能复用就复用。

核心机制拆解

1. 用数据说话的”懒”。 Ponytail 5 在一套公开基准(Claude Code + Opus 5.5,39 个任务含一个真实 FastAPI + React 仓库,各跑 5 次)中的成绩:

  • 代码量 **-53%**、耗时 -41%、成本 -26%、token -45%;
  • 同时,98% 的风险逻辑带有测试(不用该技能只有 68%);
  • Agent 自己写的测试能抓住 66% 的注入 Bug(不用只有 46%);
  • 六个安全任务(SQL 注入、路径穿越、伪造 token、限流、畸形 CSV、缓存)全部通过。

README 特意强调:”The rule was never ‘fewest tokens.’”——规则从来不是”最少 token”,而是”只写任务需要的,且永远不砍验证、错误处理、安全和可访问性“。代码小是因为必要,不是玩代码高尔夫。

2. 决策阶梯(ladder)。 核心机制是一串”先问再写”的自问:这东西需要存在吗 → 代码库里已经有一个吗 → 标准库能做吗 → 平台原生功能有吗 → 已安装的依赖里有吗 → 能一行解决吗 → 最后才写能工作的最小实现(有逻辑就配一个小测试)。

经典案例:日期选择器。没有 Ponytail 的 Agent 会装库或手写日历,335 行;Ponytail 5 先看仓库——有个 Input 组件,而每个浏览器都自带日期选择器,把两者拼起来:10 行。

3. 不止于”删代码”。

  • /ponytail-review:像半夜被叫起来修 Bug 的 senior 一样审查——读改动波及到的代码,而不只是 diff 本身;每条发现都写明”这段代码在干什么、会出什么问题、怎么修、不修会怎样”;
  • /ponytail-audit:先给整个仓库画地图(入口、数据流、预期负载),再把发现排序,告诉你先修哪个;
  • ponytail band:Claude Code 输入框上方的实时状态带,显示当前任务花了多少钱、多少 token、复用率多少、上次改动后测试是否通过;另有本地 Board 页面汇总所有项目的开销。

安装与上手

点评

亮点是把”懒”从性格缺点变成工程方法论,而且每一步都有基准数据背书。”少写、想清楚再写,反而更便宜也更安全”——这个结论挑战了当前”让 Agent 多产出”的主流叙事。

局限:基准是官方自设(39 任务、单一模型档位),换到你的技术栈需要复测;激进的”能不写就不写”在探索性原型阶段可能压掉必要的抽象;ponytail band 依赖 Claude Code 的界面能力,其他 harness 支持有限。

适合人群:觉得 AI 写代码”又贵又啰嗦”的人(目前对 AI 代码膨胀最系统的解药);对 AI 改动不放心、需要”波及面审查”的团队;成本敏感的 Agent 重度用户。