跳到主要内容
返回时间线
DietrichGebert/ponytail来源发表:

AI 智能体学会“老工程师式”减法:代码少一半,风险逻辑反而更多带上测试

核心概要

Ponytail 5 以一条提示词约束 AI 智能体的写码方式:只写任务真正需要的代码,但不砍校验、错误处理、安全与无障碍。在 Claude Code 中同一智能体开关该技能对比 39 个任务,代码量降 53%、耗时降 41%、成本降 26%、token 降 45%;带风险逻辑附带测试的比例为 98%,未启用时为 68%。六项安全任务的全部 30 次运行均通过。

AI-generated editorial illustration: DietrichGebert / ponytail

深度剖析

AI 智能体写代码时被要求先看仓库里已有什么,再决定写多少,而不是从零铺开实现。 未启用时,面对一个日期选择器需求,智能体会安装日期选择器库或手写整套日历,共 335 行。 启用后先发现仓库已有 Input 组件、浏览器自带日期选择器,把两者组合成 10 行;同一对比在 Claude Code 中用同一智能体开关技能、39 个任务(含一个真实 FastAPI + React 仓库)、Opus 5.5、每个任务跑 5 次完成。

省代码的边界被明确写死:信任边界校验、数据丢失处理、安全与无障碍不在删减范围内。 此前的规则容易被理解成追求最少 token,而实际规则是只写任务需要的东西。 带分支、循环、解析器、涉及金钱或安全的逻辑会留下一个小测试;六项安全任务(SQL 注入、路径穿越、伪造令牌、限流、畸形 CSV 行、缓存)在全部 30 次运行中通过。

配套的审查与审计命令从“找可删的代码”改为按线上故障的视角检查改动所触及的代码。 旧的审查只看 diff 里能删什么,旧的审计只列出可删除项。 现在检查缺陷、安全、真实负载、缺失测试与速度,每条结论说明代码做什么、会出什么问题、怎么修、不修会怎样;审计先梳理入口、数据流向与预期负载,再排序给出先修什么。

启示与展望

这套做法面向在 Claude Code 或 Codex 中写代码的智能体使用者,以一条提示词和一份规则文件分发。基准在 Claude Code 中进行,使用同一智能体开关技能、39 个任务(含一个真实 FastAPI + React 仓库)、Opus 5.5、每个任务 5 次运行。成本与 token 面板需要 Claude Code 2.1.290 或更高版本,在终端或桌面应用中显示,不在 VS Code 聊天面板、云会话或 claude -p 中显示。

项目自述的对比中,盲测里 Ponytail 5 的回答以 110 比 67 胜过上一版 Ponytail,这一比较只涉及回答偏好。六项安全任务全部 30 次运行通过,覆盖的是这六类场景。代码量、时间、成本与 token 的降幅来自 39 个任务的基准设置,换到其他仓库或任务类型时是否保持同样比例,来源未给出。