Ponytail:让 AI Agent 少写 80% 代码的 6 步懒人法

📅 2026/6/30 1:47:06
Ponytail:让 AI Agent 少写 80% 代码的 6 步懒人法
Ponytail让 AI Agent 少写 80% 代码的 6 步懒人法则技趣星球 · 用技术创造乐趣。你让 AI 写一个日期选择器。它给你安装了一个叫 flatpickr 的库写了 200 行 React 包装组件加了 CSS 样式表然后开始讨论时区和国际化。你“……我就想要个日期选择器。”这就是 AI 的过度工程症Over-Engineering Syndrome。ponytail 治的就是这个。ponytail 是什么一句话定义ponytail 是一套规则和插件让 AI 编程助手像最懒的资深工程师一样思考——在保证正确性的前提下用最少的代码、最少的依赖、最短的路径解决问题。它不是一个脚本而是一套规则体系配套安装在不同 AI 编程工具里Claude Code、Codex、OpenCode、Cursor 等和你的工具绑定运行。它的核心信条是 YAGNI你需要的代码不写就不存在。最好的代码是你永远不需要写的代码。把它想象成建筑工地的材料审算员。工人要买一卡车钢筋他先问真的需要吗能不能用现有材料凑能不能先砌个小样看看钢筋审算员不拦着干活但会拦住一切不必要的采购。ponytail 做的事一样只是审算员换成了一串 AI 规则。核心六步决策阶梯ponytail 最核心的东西叫「决策阶梯」——AI 写代码前必须按顺序走六步这件事到底需不需要存在如果需求本身有疑问先问清楚不急着写标准库能不能解决JavaScript 的Date、Python 的datetime、CSS 的flex先查文档浏览器/平台原生能力呢input typedate就是日期选择器不需要任何库已经装的依赖里有没有别重复安装先翻package.json实在没有写最小可用代码一个函数一行配置不做任何未来扩展如果有已知上限写清楚注释用ponytail:注释标注留升级路径走完这六步AI 才会动笔。两种不写代码的情况ponytail 明确要求不是所有问题都要写代码解决。能用配置文件/环境变量搞定的 → 不写代码能用现有工具的 → 不写代码能用标准命令行的 → 不写代码三个强度档位档位适用场景lite简单需求快速原型小改小补full默认档位大多数开发场景ultra大型项目多人协作长期维护通过命令/ponytail full随时切换。怎么安装ponytail 支持几乎所有主流 AI 编程工具。安装方式分两类插件安装有命令面板的工具# Claude Code/plugin marketplaceaddDietrichGebert/ponytail /plugininstallponytailponytail# Codexcodex plugin marketplaceaddDietrichGebert/ponytail# GitHub Copilot CLIcopilot plugin marketplaceaddDietrichGebert/ponytail copilot plugininstallponytailponytail配置安装规则文件直接复制工具安装方式OpenCode写入opencode.json的plugin字段Cursor复制规则文件到项目配置Windsurf复制规则文件到项目配置Aider复制规则文件到项目配置// OpenCode 配置示例{plugin:[./.opencode/plugins/ponytail.mjs]}GitHub 原文github.com/DietrichGebert/ponytail怎么用安装完成之后AI 写代码时会自动遵循阶梯规则。你也可以随时手动干预。常用命令命令做什么/ponytail查看当前强度档位/ponytail full切换到 full 档位/ponytail lite切换到 lite 档位/ponytail off关闭 ponytail 规则/ponytail-review审查当前代码 diff 是否过度工程化/ponytail-audit审计整个仓库的代码结构/ponytail-debt把简化项记入台账防止遗忘/ponytail-help查看完整帮助两种用法用法一让它帮你审代码/ponytail-reviewAI 检查你刚改的代码告诉你有没有不必要引入的库、有没有多写的抽象层。用法二让它按规则写代码直接正常写需求就行——ponytail 会先把你的需求按六步阶梯过一遍再动手。一个真实案例场景你的项目需要一个「用户选择日期」的功能。普通 AI 的做法npm install flatpickr写一个 React 包装组件120 行写配套 CSS60 行处理时区、国际化、无障碍最后约 200 行ponytail 下的 AI 做法阶梯第一步需不需要存在→ 需要阶梯第二步标准库有没有→ 没有阶梯第三步浏览器原生支持→ 有input typedate最终输出一行 HTMLinputtypedatenamebirthday/浏览器自带日历弹窗原生支持零依赖零样式文件。效果对比普通模式ponytail新增代码行数~200 行1 行新增依赖flatpickr CSS零后续维护要不用另一个例子CSS 优先于 JS做一个 hover 效果ponytail 会先用:hovertransition不会上来就写一个 JS 事件监听器。数据库约束优先于应用层代码要校验邮箱格式ponytail 会先看数据库有没有CHECK约束而不是在代码里写一堆正则。实测数据ponytail 在真实 Claude Code 会话里编辑了真实开源项目tiangolo/full-stack-fastapi-template12 个任务 × 4 轮对比有无 ponytail 规则的结果指标变化代码量减少 54%Token 消耗减少 22%成本降低 20%完成时间缩短 27%安全通过率100%零安全降级在「过度设计」最严重的场景里代码量最多砍掉了94%。使用边界不是写得越少越好ponytail 强调极简但不粗糙。安全校验、错误处理、数据保护这些不能删——懒是指高效不是草率不替你做架构决策ponytail 管的是代码密度不替代你对系统整体架构的判断需要在对话中持续激活每轮对话都可能出现过度工程倾向ponytail 需要在每轮持续生效不同工具适配程度不同Cursor、Windsurf 等只支持规则文件不支持命令和 hooks技趣星球 · 用技术创造乐趣。