AI开发

懒人编程的智慧:让AI像资深工程师一样写代码

2026-07-22 · 29 次阅读 · 约 7 分钟
#开源项目 #ponytail #AI编程

懒人编程的智慧:让AI像资深工程师一样写代码

最好的代码,是你没写的那段

资深工程师和刚毕业的新人,最大的区别在哪?不是谁写代码更快,也不是谁会用的框架更多。是老手知道什么东西可以不写

你见过那种人吧。扎着马尾辫,戴个圆框眼镜,在公司待得比版本控制系统还久。你给他看五十行代码,他眯着眼瞅了瞅,一声不吭,给你删了四十九行。你心里犯嘀咕——这能行吗?测试一跑,全绿。

这种人不写花哨的代码。他们写更少的代码。而且功能上线更快,出 bug 更少,还从来不需要迁移指南。

那问题来了——能不能让我们的 AI Agent 也变成这种人?

能。而且已经有人把它做出来了。


Ponytail 是什么

2026 年 6 月,一个叫 Dietrich Gebert 的开发者在 GitHub 上发布了一个项目,叫 Ponytail。上线一个月,Star 数飙到了 25,000+。

它不是什么新框架,不是新语言,也不是新工具链。它就是一个AI Agent 的技能包/插件——一个配置文件、一个提示文件、两个生命周期钩子,没了。整个项目小得可怜,但它的影响是用百分比来衡量的。

它的核心理念翻译成人话就是:让你的 AI Agent 像最懒的资深工程师一样写代码。

注意,这里的"懒"不是偷懒不干活,而是"不干多余的事"。这两个区别可大了去了。


七阶懒人阶梯

Ponytail 的核心是一套七阶决策阶梯。在 AI Agent 动手写任何代码之前,它必须先爬一遍这个梯子——而且一旦在某一步找到了答案,立刻停,绝不往下走。

第一阶:YAGNI — 这东西真的需要做吗? 不需要?直接跳过。

第二阶:已有代码 — 代码库里已经有现成的了吗? 有?拿过来复用。

第三阶:标准库 — 标准库能搞定吗? Python 标准库、Node.js 内置模块……别一上来就 npm install。

第四阶:原生平台 — 浏览器或操作系统自带功能? <input type="date"> 比 flatpickr 香多了。

第五阶:已有依赖 — 项目里已经装的包有能用的吗? 有就不用装新的。

第六阶:一行 — 能不能一行写完? 能就一行。

第七阶:最少代码 — 写能工作的最少代码 前面都走不通?那好,写最少、能正常跑的代码。

这个梯子的精妙之处在于:Agent 在第一阶就停下来是好事,不是偷懒。能跳过不写的代码,才是最高质量的代码。


一个案例胜过千言万语

假设你的 AI Agent 要加一个日期选择器。

没有 Ponytail 的情况:

npm install flatpickr

然后写一个 wrapper 组件,再加一个样式表,再讨论一下时区问题。404 行代码之后,你终于有了一个日期选择器。Agent 很努力,很认真,很"负责"。它唯一的问题就是——它根本没必要这么做。

有 Ponytail 的情况呢?

<!-- ponytail: browser has one -->
<input type="date">

一行。23 个字符。结束了。

浏览器自带的 <input type="date"> 已经存在了超过十年。你的 Agent 根本不需要装一个库、写一个组件、调一个样式。它只需要知道:这个功能浏览器已经有了。

这就是资深工程师和初级开发者的区别。资深工程师知道什么东西已经有了,什么东西不需要写。初级开发者拿到需求的第一反应是"我该怎么实现它"——然后埋头写 404 行。


对比其他项目

比如 taste-skill,它是反设计模板的——教 AI 不要写丑 UI。而 Ponytail 是反过度工程的。taste-skill 装的是"审美过滤器",Ponytail 装的是"必要性过滤器"。

还有 caveman,通过简洁提示词减少代码,表现不错,-20%。但 Ponytail 是 -54%。差在哪?caveman 只是让 Agent 说话更简洁,Ponytail 改变了 Agent 的决策流程——不是教它怎么写更短,而是教它什么时候不要写


代码量影响:-54%

Ponytail 的基准测试做得很扎实:Claude Code 操作真实项目(FastAPI + React),12 个功能需求,按 git diff 计算:

对比无技能基线 代码量 成本 耗时 安全性
Ponytail -54% -20% -27% 100%
caveman -20% +3% +2% 100%
"YAGNI + one-liners" 提示 -33% -21% -30% 95%

注意最后那列——安全性


安全底线:懒但不会省

有人会问:让 AI 少写代码,会不会连该写的校验也省了?

会。如果你只是说"写短一点",它真的会偷工减料。上面那张表里,"YAGNI + one-liners"提示词的安全性掉到了 95%。5% 的漏洞上生产可能就是一次严重事故。

Ponytail 怎么做到 100% 安全的?它在规则里硬编码了不可触碰的红线

  • 信任边界输入校验——不能省
  • 防止数据丢失的错误处理——不能省
  • 安全相关的代码——不能省
  • 可访问性——不能省

Ponytail 的"懒"是有底线的。这种"聪明的懒"才是真本事——知道哪能偷懒、哪必须较真。


ponytail: 注释约定

还有一个我很喜欢的细节。Ponytail 要求 Agent 在每次"走捷径"的地方,用 ponytail: 注释标记出来:

# ponytail: platform provides this natively in Python 3.10+

好处有两个:第一,代码审查时一眼就能看出哪是刻意简化;第二,/ponytail-debt 命令可一键收集所有捷径注释,生成技术债务台账。承认技术债务存在并记录下来,而不是假装没有——这太实用了。


写在最后

Less is more。

这句话在 AI 时代比任何时候都适用。当 AI 可以无限地产出代码的时候,最稀缺的能力不是"写代码",而是判断什么东西不该写

Ponytail 给我的最大启发不是它省了多少代码、省了多少钱,而是它重新定义了 AI Agent 的"智能"——智能不是能写多少,而是知道不写什么。

写得少不代表做得少。恰恰相反,写得少代表想得多。

最后,用 Ponytail 项目 README 里的一句话结尾吧,这句话本身就完美概括了它的精神:

He says nothing. He writes one line. It works.

他不说话。他写了一行。然后,它就能跑了。

这才是真正的资深工程师。