>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
JavaScript

如何让 AI 代理写出最简代码,告别过度设计

还记得 IT 部门里那种人吗?戴着椭圆眼镜,脑后扎着马尾辫,在公司待的时间比版本控制系统还长。你给他们看五十行新代码,他们默默盯几秒钟,然后把所有代码擦掉,写出一行实现同样功能的代码。

现代自主 AI 模型(如 Claude Code、Codex 或 Cursor)则存在相反的问题。如果你让代理在表单中添加一个简单的日期选择器,他们会安装第三方包、创建包装组件、编写样式,并就时区问题展开讨论。代码不断增长,依赖关系不断扩展,Token 费用也在增加。

仓库 DietrichGebert/ponytail 正是为了解决这一问题。该项目用那位马尾辫开发者的逻辑取代了模型构建复杂架构的习惯:不要坐在额外的代码上,使用原生功能和标准库。

Ponytail logo

为什么 AI 代理需要资深开发者的"无所谓"态度

每增加一段代码都意味着潜在的 bug、额外的审查步骤,以及每次 LLM 调用的延迟。模型默认生成的内容超过实际需求,通过将简单操作包装在抽象层中来显得有用。

Ponytail 提供了一套面向 LLM 代理的规则和钩子,强制模型在写第一行代码前停下来。代理不再构建架构脚手架,而是遵循简短的决策阶梯:

  1. 这真的需要吗?如果不需要,任务就跳过(YAGNI)。
  2. 代码库中是否有合适的代码片段?直接复用。
  3. 标准库能否解决这个任务?
  4. 是否有原生的浏览器或平台特性?
  5. 能否用一行代码解决?
  6. 最后才——编写最少的可工作代码。

安全逻辑保持不变。模型不会削减输入验证、错误处理、权限检查或无障碍参数。设置只会削减架构上的冗余。

详细分解:

<!-- Обычно агент ставит тяжелый JS-календарь -->
<!-- С подключенным Ponytail: -->
<input type="date">

数据说明了什么

项目作者在实际项目中测试了这些规则的有效性。测试使用了 tiangolo 的 FastAPI + React 模板,让 Claude Code(Haiku 4.5 模型)完成 12 个功能编写任务。结果与没有额外指令的干净代理进行了对比。

Ponytail benchmark results

测量总结:

  • 创建的代码量(LOC):平均减少 54%(在某些单独任务中,如原生颜色选择器,节省达到 94%)。
  • Token 成本:减少 22%。
  • 总调用成本:下降 20%。
  • 任务解决时间:缩短 27%。
  • 对抗性安全测试通过率:100%。

其他技术也参与了基准测试。例如,caveman prompt 减少了聊天中代理的闲聊,但不会改变生成的代码本身。以"YAGNI + 一行代码"格式化的规则集将代码减少 33%,但往往会削减安全检查,使测试成功率降至 95%。Ponytail 是唯一在所有指标上节省资源且不损失可靠性的方案。

如何安装和配置

平台支持范围广泛。该插件适配了二十多种工具,从 CLI 工具到 IDE 插件。

对于 Claude Code,安装只需在内置聊天中执行两个命令:

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

对于控制台中的 Codex:

codex plugin marketplace add DietrichGebert/ponytail
codex plugin add ponytail@ponytail

如果你使用 Cursor、Windsurf 或 Cline,只需将规则文件从仓库(.cursor/rules/.windsurf/rules/AGENTS.md)复制到你的项目中。启动会话时会自动加载指令。

在控制台客户端中,可以使用特殊命令:

  • /ponytail — 查看或切换激进模式(litefullultraoff)。
  • /ponytail-review — 查看当前 git diff 并列出待删除的行。
  • /ponytail-audit — 对整个仓库进行冗余抽象审计。
  • /ponytail-debt — 将所有延迟的黑客和简化操作收集到单个列表中。

模式 ultra 适用于代码库纠缠得太复杂以至于拆除一半抽象层更容易的情况。

实际收益

这个工具对那些将日常重构、Jira 任务关闭或 CRUD 组件编写委托给 AI 代理的开发者很有用。没有严格的约束,代理会用重复的工具类、虚假的辅助函数和不必要的 npm 包淹没代码库。

Ponytail 作为模型肩旁的严格导师,节省 API 余额,加快响应生成,并消除代码审查时清理神经网络混乱的必要性。

如果你厌倦了"添加一个按钮"这样简单的请求却导致三个新文件和 package.json 的改动,这个项目绝对值得一试。

相关项目