<!-- title: 让AI少写一半代码：三把克制新刀 -->
<!-- domain: new-tools -->

# 让AI少写一半代码：三把克制新刀

> **你将获得的信息差**：海外社区这两周正在刮一场"反向潮流"——不再比谁的 agent 写代码更多更快，而是比谁能让 agent **写得更少**。一个叫 `ponytail` 的开源 skill，两周拿下 6 万 + star，做的事只有一件：给 AI 注入"全公司最懒的资深开发"人格，让它能一行解决就绝不写十行。这条线背后，正在长出一个全新方向——**Agent 克制工程**。今天拆三把刚出炉的"克制刀"，中国开发者大多还不知道。

---

## 一、为什么"让 AI 少写"才是新战场

过去一年，AI 编程赛道的叙事是单行道：**写更多、写更快、上下文更长、工具调更多轮**。后果正在反噬——海外把这种病叫 **vibe code debt（vibe 代码债）**：agent 跑得欢，留下的全是没人维护的"看似能跑"的代码。你身边的团队大概率也中招了：AI 一晚上提交 30 个 commit，review 的时候全是它自己跟自己拉扯的痕迹。

但 2026 年 6 月的最后两周，Hacker News 和 GitHub Trending 上冒出了一批**方向完全相反**的新工具。它们的共同信条是：

> **最好的代码，是你从来没写的那行代码。**

这不是"模型变聪明了所以少写"，而是**人在外面给 agent 套枷锁**——用人格注入、循环预算、版本控制三层手段，把 agent 按在"够用就好"的红线上。我把这条线命名为 **Agent 克制工程（Agent Restraint Engineering）**，它的三层结构长这样：

```mermaid
flowchart TD
    A["你下了一个需求<br/>例：'加一个日期选择器'"] --> B{"是否套上克制工程？"}
    B -->|"不克制<br/>（默认行为）"| C["Agent 默认产出链"]
    C --> C1["安装 flatpickr"]
    C --> C2["写一个 wrapper 组件"]
    C --> C3["加一份样式表"]
    C --> C4["开始和你讨论时区…"]
    C --> R1["结果：404 行<br/>更慢 · 更贵 · 更难维护"]
    B -->|"克制"| D["三层拦截"]
    D --> L1["① 人格层 · ponytail<br/>注入'最懒资深开发'人格"]
    L1 --> L1a["浏览器原生就有？<br/>→ 直接用 input type=date"]
    D --> L2["② 循环层 · loop-engineering<br/>loop-init / loop-audit / loop-cost"]
    L2 --> L2a["设预算 · 审循环 · 算成本"]
    D --> L3["③ 产物层 · Oak<br/>为 agent 设计的版本控制"]
    L3 --> L3a["安全回滚 · 多仓空间<br/>agent 乱提交也能救"]
    L1a --> R2["结果：23 行<br/>省 54% 代码 · 省 20% 成本 · 省 27% 时间"]
    R1 -.对比.-> R2
```

下面这三把刀，正好分别守在人格层、循环层、产物层。你可以照着抄。

---

## 二、① 人格层：ponytail —— 给 AI 装"最懒资深开发"

- **项目**：`DietrichGebert/ponytail`
- **官网/仓库**：https://github.com/DietrichGebert/ponytail
- **价格**：完全免费，MIT 协议；npm 包 `@dietrichgebert/ponytail`；Claude Code 里一条命令装
- **发布时间**：2026-06-12，截至今天（06-28）star 已破 **6.3 万**

这是本轮信息差里最猛的一个。两周 6 万 star，是近期 GitHub 上涨得最快的仓库之一，且已经有**西班牙语、韩语**版 README——说明已经在全球扩散，中文圈却基本没声音。

### 它到底干什么

ponytail 是一个 **skill / 插件**，干的事用一句话讲：**把"全公司最懒、但资历最深的那个开发"塞进你的 AI agent 身体里**。官方那句 slogan 很妙——*"He says nothing. He writes one line. It works."*（他啥也不说，写了一行，能跑。）

最经典的对比是"日期选择器"：

- **不加 ponytail**：agent 上来就 `npm install flatpickr`，再写一个 wrapper 组件，再补一份样式表，然后开始"我们要不要讨论一下时区？"——一套下来 **404 行**。
- **加了 ponytail**：agent 想了想，浏览器原生就有日期选择器，于是它只写：

```html
<!-- ponytail: 浏览器自带 -->
<input type="date">
```

**23 行。** 同样的功能。

### 为什么这个数据可信

作者没有拍脑袋，而是拿一个真实的开源仓库（FastAPI 官方的 `full-stack-fastapi-template`，FastAPI + React）跑了**无头 Claude Code 会话**，12 个真实 feature 工单，每个任务跑 4 次，对比"加 skill vs 不加 skill"：

| 指标 | 代码量 LOC | token 消耗 | 成本 | 耗时 | 安全性 |
|---|--:|--:|--:|--:|--:|
| **加 ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** |
| 仅用"简洁风格"提示词 | -20% | +7% | +3% | +2% | 100% |
| 仅用"YAGNI+写一行"提示词 | -33% | -14% | -21% | -30% | 95% |

读懂这张表，你就拿到了这把刀的精髓：**单纯在 prompt 里写"请写简洁点"没用**，因为 agent 会为了"显得简洁"反而反复修改，token 和成本不降反升（看第二行）。真正有效的是 ponytail 内置的那套**决策树**——它的核心逻辑是：

> 5. 已经装了依赖？→ 用它。  
> 6. 一行能搞定？→ 就一行。  
> 7. 都不行，才写"能跑的最小代码"。

而且它**保留了所有安全护栏**（100% safe），而你自己写一句"全都给我写一行"会把一条护栏弄丢（掉到 95%）。这是它跟手搓 prompt 的本质区别。

### 怎么装（Claude Code 版）

ponytail 号称"它唯一会向你提的要求"就是这两步：

```
/plugin install ponytail@ponytail
```

> 注意：需要分**两次**发送才能装成功（README 明确写了）。桌面版没有 `/plugin` 命令，要从 UI：Customize → 个人插件旁边的 `+` → Create plugin → Add marketplace → Add from repository，填入仓库地址。Codex 用户则在 `/plugins` 里选 Ponytail marketplace 安装，再去 `/hooks` 信任它的两个 lifecycle hook。官方说它兼容 **16 种 agent**。

### 国内对比 & 适用人群

国内用 Claude Code / Codex / Cursor 的人不少，但 prompt 普遍在追求"让 AI 更勤快、更全面"，几乎没人反向做"克制人格"系统化封装。最接近的只是散落在 prompt 里的"遵循 KISS/DRY 原则"——既不可复用，也没护栏保护。**ponytail 是目前把"少写"工程化做得最干净的开源 skill**。

适合：被 AI 产出冗余代码折磨的前端 / 全栈开发者；个人 indie developer（直接省 20% token 钱）；任何用 Claude Code、Codex、Cursor 想立刻降本的人。

---

## 三、② 循环层：loop-engineering —— 别再当那个手动 prompt agent 的人

- **项目**：`cobusgreyling/loop-engineering`
- **仓库**：https://github.com/cobusgreyling/loop-engineering
- **价格**：免费，MIT；三个独立 CLI 工具，都上了 npm
- **发布时间**：2026-06-09，star 约 **3.6k**
- **背书**：Google Chrome 工程师 Addy Osmani 写了"canonical essay"，把它定为一门正经方法论

### 它的颠覆性在于一句话

> **Loop engineering is replacing yourself as the person who prompts the agent.**  
> （循环工程，就是把你这个"手动给 agent 发 prompt 的人"换掉，换成你设计的系统。）

这话听着抽象，翻译成人话：现在大多数人用 agent，还是**人盯着、人发指令、人判断该不该停**。loop-engineering 主张——你应该设计一个**"循环（loop）"**：定义一个目标，让 AI 在里面自己迭代（带子 agent、带校验、带外部状态），**直到目标完成，或循环自己决定把控制权交还给你**。

它把这件事拆成 **5 个构建块 + 记忆层**，并配套三个开箱即用的命令行工具，这才是对中国开发者最实用的部分：

| 工具 | npm 包 | 作用 |
|---|---|---|
| `loop-init` | `@cobusgreyling/loop-init` | 脚手架：5 分钟搭起一个 agent loop 的骨架 |
| `loop-cost` | `@cobusgreyling/loop-cost` | 成本看门狗：实时算这个循环烧了多少钱 |
| `loop-audit` | `@cobusgreyling/loop-audit` | 循环体检：审计你的 loop 设计是否合理、有没有跑飞 |

注意这三个是**正交的**——loop-cost 专门解决"agent 半夜自己跑、把额度跑光"这种事故，loop-audit 专门解决"loop 设计本身就有缺陷"。

### 为什么值得关注

兼容 Grok、Claude Code、Codex、Cursor，而且作者自己用 `loop-audit` 审计自己的仓库（README 里那条 dogfood 的 CI badge）。这就是海外开源圈的可信信号：**用自己造的刀切自己的肉**。

### 国内对比 & 适用人群

国产 agent 框架普遍朝"让 agent 跑更多轮、调更多工具"的方向卷，**几乎缺一个站在"成本和合理性"一侧的审计工具**。loop-cost 填的就是这个空。适合：做 agent 自动化、CI 集成、想给团队的 agent 用量上预算的工程师；做 AI 中台、关心 agent 跑飞成本的架构师。

---

## 四、③ 产物层：Oak —— 专为 agent 重写的版本控制

- **项目**：`Oak`（域名 oak.space，仓库 `oak/oak`）
- **官网**：https://oak.space/oak/oak
- **价格**：开源 CLI 免费使用，托管功能见官网（有登录体系）
- **发布时间**：Hacker News 2026-06-22 上榜，单帖 **215 分**；当前版本已迭代到 **v0.100.0**

### 痛点：agent 把 git 搞得一团糟

如果你重度用 agent 写代码，一定遇到过：agent 一晚上几百个 commit、乱起分支、把历史涂得乱七八糟、`git bisect` 完全失灵、回滚比写还累。**Oak 的判断很激进：git 是 2005 年给人设计的，不适合 agent，干脆重写一个。**

它的核心命令一眼能看出和 git 的区别：

- `oak clone oak/oak` —— 普通克隆
- `oak mount oak/oak` —— **懒加载工作树，不下载整个仓库**（agent 常常只想动一两个文件，git 强行 clone 全量很浪费）
- `oak space new oak` —— **为一个组织开"多仓库 agent 空间"**（agent 经常跨多仓改代码，git 原生不友好）

技术底座也很"为 agent 量身定做"：**内容寻址（content-addressing）格式**、**SQLite 存储（0600 权限加固）**、**agent 侧 JSON 契约**（让 agent 能读懂分支状态和 triage 结果）、内置**分支审查 / 合并安全 / 锁机制**。说白了，它把"agent 会乱来"当成默认假设来设计——**乱提交也能安全回滚，多仓改也能统一管理**。

### 为什么值得关注

从 oak.space 实时页面看，它在**疯狂迭代**（最近一周每天多个 merged PR，刚发 v0.100.0），而且专门做了 `agent-facing branch review`、`merge safety`、`ingest integrity` 这类 agent 场景才需要的特性。这是少有的、**从地基上为"人 + agent 协作"重新设计的 VCS**。

### 国内对比 & 适用人群

国内开发者目前清一色"git + agent"，把 agent 的脏提交当成 git 的锅默默忍受，还没有人把这层重写。Oak 适合：重度 agent 协作团队、多仓库项目、对代码历史整洁度有要求、需要"agent 出错也能一键救回"的场景。

---

## 五、信息差总结：你知道的 vs 别人不知道的

| 维度 | 国内多数人还以为 | 海外这两周已开始做的事 |
|---|---|---|
| **方向** | 让 AI 写得**更多更快**才是先进 | 让 AI 写得**更少**才是真本事（克制工程） |
| **省代码手段** | prompt 里写句"请简洁点" | 用 ponytail 这种带决策树、保护栏的 skill（-54%） |
| **省成本手段** | 手动盯着 agent 别跑飞 | loop-audit / loop-cost 给循环上预算和体检 |
| **版本控制** | 默认 git 能扛住 agent | 承认 git 不适配，用 Oak 重写 VCS |
| **核心心法** | 比谁产出多 | 比谁"少产出还不丢功能" |

一句话收口：**信息差不在于"有没有更聪明的模型"，而在于"有没有给 agent 上枷锁的工程化手艺"。** 这套手艺，国内还没几个人系统在用。

---

## 六、行动指南（今天就能做）

1. **先抄最便宜的杠杆——装 ponytail**。在 Claude Code 里 `/plugin install ponytail@ponytail`（记得分两次发），拿你手头一个真实工单跑一次，看 `git diff` 是不是瘦了一圈。这是零成本、当晚见效的动作，**优先级最高**。
2. **给最烧钱的循环上 loop-cost**。如果你已经有 agent 在跑长任务，先 `npm i -g @cobusgreyling/loop-cost`，盯一周账单，找出那个"半夜自己烧钱"的 loop。**优先级第二**。
3. **团队级才上 Oak**。个人开发者 git 还够用；一旦你团队里 agent 跨多仓、提交量爆炸、review 跟不上，再认真评估把核心仓库迁到 Oak。**优先级第三，且需评估迁移成本**。
4. **抄它的方法论，不只是工具**。比装这三个工具更重要的是吃透一句话——*"最好的代码，是你从来没写的那行代码。"* 把它写进你的团队 prompt 规范里，比任何工具都持久。

> **注意事项**：ponytail 依赖 `node` 在 PATH 上（Nix/nvm 用户注意要用非交互 shell 的 PATH）；Oak 还在 v0.100.x，属早期阶段，**生产核心仓库建议先在副本上试用，别一把梭迁移**；loop-engineering 三个 CLI 是独立 npm 包，按需安装即可。

---

## 参考来源

- ponytail 仓库与基准测试：https://github.com/DietrichGebert/ponytail
- loop-engineering 仓库与方法论：https://github.com/cobusgreyling/loop-engineering
- Addy Osmani 的 Loop Engineering 长文（方法论文献）：https://addyosmani.com/blog/loop-engineering/
- Oak 官网（为 agent 设计的版本控制）：https://oak.space/oak/oak
- Hacker News 近期 Show HN 新品流（信息源）：https://news.ycombinator.com/show

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
