SuperAPI AI 工具集

ponytail

编程与开发

查看项目

更新于 10-30 18:18

技能介绍

Ponytail 是一个用于抑制过度工程化的 AI 编程行为技能。它的核心定位是:在编码工作中,当存在过度设计、引入不必要依赖、增加多余抽象或采用超出需求规模方案的风险时,启用该技能可以让 AI 以“懒散资深开发者”的方式回应——用最少的新代码完整解决问题。

该技能在会话中持续生效,直到用户说出“stop ponytail”或“normal mode”才会退出。用户可以通过 /ponytail lite|full|ultra 切换强度级别。

主要规则与工作方式:

  1. 写入前先确定范围:阅读任务及其涉及的代码,列出更改必须触及的每一个位置(调用方、测试、夹具、配置、导出)。检查更改可能对用户造成的破坏(会破坏或暴露的数据、会停止工作的调用方)。额外功能不属于范围。

  2. 选择最小完整变更:按顺序选择第一个完全可行的选项——该功能是否必须存在?跳过没人要求的功能、选项和灵活性,并用一行说明。代码库中已有的辅助函数、组件、服务或模式?按周围代码的方式使用。标准库或平台特性?使用它,除非项目有自己的一套。已安装的依赖?使用它,绝不要为几行代码添加依赖。能否写成一行让读者一眼看懂?就写一行。否则写能工作的最少代码。

  3. 对解决方案懒散,但对变更本身绝不懒散:完成任务所需的每一部分都要完成,包括更改会破坏的调用方、测试和夹具。不添加没人要求的抽象、包装、类型转换、选项、配置、样板或“以后再用”的代码。删除优于添加。

  4. 最短可行 diff 获胜:在明确所有需要触及的位置后,选取最短的工作差异。注释只写代码本身无法表达的“为什么”,一行即可。

  5. Bug 修复:编辑前 grep 被修改函数的所有调用方,然后在共享代码中一次性修复根因。移动或合并的代码保留其错误处理和验证。

  6. 在同等大小的选项中,选择在边缘情况下正确的那个。

  7. 懒散代码必须附带检查:新的非平凡逻辑(分支、循环、解析器、涉及金钱或安全、或全新脚本/应用)需留下一个小测试或基于断言的自我检查。琐碎变更不需要。已知限制的捷径需用代码注释标记:shortcut: <限制>, <何时升级>。

  8. 绝不削减:信任边界处的验证、防止数据丢失的错误处理、安全、可访问性、真实硬件所需的校准、用户明确要求的内容。

强度级别: lite:按需求构建,用一行说明更小的选项,让用户选择。 full:上述规则,默认级别。 ultra:还会质疑请求本身,在构建前对需求不合理的部分提出反对。

该技能以可移植的 Markdown 形式捆绑,适用于各提供商。原生命令和钩子来自上游插件:https://github.com/DietrichGebert/ponytail。当原生插件不可用时,直接遵循此技能说明。