AI 编码“短绳法“实战:告别 Vibe Coding,不牺牲质量的 Agent 使用指南(2026 最新)

TL;DR

Greg Slepak(okTurtles 创始人)在安全关键系统的 AI 编码实践中总结出一套"短绳法"(Short Leash Method):AI 永远不能脱离人的审查独自工作。本文拆解短绳法的核心原则、与主流 Vibe Coding 的关键区别,以及如何在 Claude Code 等工具中落地这套方法------包括审查流程、PR 规范和 AI 披露制度。

1. 背景:Vibe Coding 的问题出在哪?

2026 年 7 月 2 日,Greg Slepak 在 okTurtles 博客上发表了一篇引发 Hacker News 热议的文章《The Short Leash AI Coding Method For Beating Fable》。他花了一年多时间深入研究 AI Agent 在安全关键系统中的使用,得出了一个与 YouTube 上"躺平式 Vibe Coding"完全相反的结论。

先看看主流"Vibe 流"的典型画面:一个 YouTuber 坐在海滩上,12 个并行 Agent 在后台疯狂写代码,他偶尔瞟一眼手机。视频标题是"我靠 AI Agent 再也不用写代码了"。

Slepak 的评价很直接:"用这种方式你不可能建立对代码库的真正理解。AI 会在你不知情的情况下多次偏离轨道,只有当你真正尝试使用这个软件时才会发现。"

更扎心的是,即使使用 Fable 5(Claude 当时最强的编码模型)写的代码,也经常"能跑但写得极其丑陋和低效"。Slepak 贴了一张截图:一段 Fable 写的代码,功能正确,但用了 30 行嵌套 if-else 和一个 O(n²) 的循环来做一个 O(n) 就能搞定的事。

2. 短绳法的核心原则

短绳法的名字本身就是一个比喻:AI 就像一条狗,你手里的绳子(leash)不能放太长。它不能自己跑到你看不见的地方去。具体来说:

绝不使用 YOLO 模式:在 Claude Code 中,"dangerously skip permissions" 模式等于把绳子完全松开。永远不要开。

AI 不能在你"打游戏的时候"工作:这不是效率问题,是认知问题。Slepak 写道:"你要像 20 世纪的人一样坐在那里,真正分析 AI 提出的每一个变更。"这不是复古,这是你在维护自己对代码库的理解------如果你不看 AI 改了啥,一周后你对代码库的理解就完全过时了。

审查每一个 diff:这是短绳法的核心动作。使用一个能显示权限提示 diff 的编码 Agent(比如 Claude Code),在每次 AI 要改文件时,停下来看它要改什么。这个 diff 不是给你"瞟一眼就过"的,而是你保持对代码库理解的唯一窗口。

频繁拒绝:当 AI 要做你不想让它做的事,果断点 deny。Slepak 强调这不是浪费效率------每次拒绝都是一次"纠偏",让 AI 回到正确的轨道上。比等它跑偏 200 行代码后再重写高效得多。

频繁提交:每完成一个子任务就 commit。Slepak 提到一个真实的坑:Opus 有时候会"发疯",把之前做好的工作删掉。如果你只在最后 commit 一次,可能会丢掉大量工作。

AI + 人双重审查 :一个人单独审查的 PR,或者一个 AI 单独审查的 PR,错误率都高于人和 AI 一起审查的 PR。AI 可以当 linter------快速发现常见错误,而人负责抓高层问题和方向性错误。

3. 短绳法 vs Vibe Coding 对比

用一个表格说清楚:

维度 Vibe Coding 短绳法
权限模式 YOLO,跳过所有确认 每个 diff 都要人工确认
人的参与 写个 prompt 就走 全程在屏幕前审查
代码理解 三个月后没人知道代码怎么跑的 人在审查过程中持续建立理解
提交频率 最后一次性 commit 每个子任务完成后 commit
代码审查 AI 自审或干脆不审 AI 初审 + 人复审
错误处理 上线后发现再修 在 diff 阶段拦截
适用场景 原型、demo、不重要的工具 生产代码、安全关键系统

4. 落地配置:在 Claude Code 中实践短绳法

下面是一套可以在 Claude Code 中直接使用的短绳法工作流。

第一步:关掉 YOLO,打开 diff 审查

Claude Code 默认是交互模式,每次文件修改都会展示 diff 并要求确认。这是短绳法的基础设施------不要关掉它。

如果你之前开了 --dangerously-skip-permissions,现在关掉:

bash 复制代码
# 永远不要加这个 flag
# claude --dangerously-skip-permissions  # ❌
claude  # ✅ 默认交互模式,每个 diff 都要确认

第二步:拆解任务,逐个子任务 commit

创建一个任务文件 tasks.md

markdown 复制代码
# 短绳法任务拆解

## 子任务 1:实现用户注册 API
- 输入:用户名、密码、邮箱
- 输出:POST /api/register 端点
- 验收标准:能创建用户、密码 bcrypt 加密、返回 JWT

## 子任务 2:实现登录 API
- 输入:用户名、密码
- 输出:POST /api/login 端点
- 验收标准:验证密码、返回 JWT、错误次数限制

然后逐个执行:

bash 复制代码
# 子任务 1
claude "根据 tasks.md 中子任务 1 的要求,实现用户注册 API。
注意:每完成一个文件的修改,等待我确认 diff 后再继续。
完成后不要自己 commit,等我的指令。"

# 人工审查所有 diff,确认无误后:
git add -A
git commit -m "feat: 实现用户注册 API"

# 子任务 2
claude "根据 tasks.md 中子任务 2 的要求,实现登录 API。
参考刚才提交的注册 API 的代码风格和错误处理模式。
每完成一个文件的修改,等待我确认 diff 后再继续。"

第三步:建立 AI 审查流程

短绳法的审查环节是 AI + 人双重审查。先让 AI 审一遍,过滤掉低级问题:

bash 复制代码
# AI 初审
claude "审查当前分支相对于 main 的所有变更,检查:
1. 安全漏洞:SQL 注入、XSS、未校验的用户输入、敏感信息泄露
2. 逻辑错误:边界条件遗漏、空值处理缺失、并发问题
3. 代码风格:与项目现有代码的一致性
4. 性能问题:N+1 查询、不必要的循环嵌套

输出格式:
## 阻断问题(必须修复才能合入)
- [文件名:行号] 问题描述
## 建议改进(可选但推荐)
- [文件名:行号] 建议
## 审查通过项
- 列出没有问题的检查项

将审查结果写入 review-$(date +%F).md"

然后人再审一遍,重点关注 AI 审查报告中的"阻断问题"是否真的需要阻断,以及 AI 可能漏掉的高层设计问题。

第四步:AI 披露制度

Slepak 在 okTurtles 的 CONTRIBUTING.md 中写了一条 AI Usage Policy。核心要求:任何使用了 AI 辅助的 PR,必须在描述中写明:

markdown 复制代码
## AI Disclosure
- 代码生成:Claude Opus 4(模型名)
- 代码审查:Claude Fable 5(模型名)
- 人工审查:已完成(作者本人已逐行审查本 PR 的所有变更)

这不是为了甩锅,而是为了透明度------让 reviewer 知道代码的来源,从而调整审查的仔细程度。而且"作者本人已审查"这一行不是走形式,Slepak 强调:AI 辅助的 PR,作者必须像审查别人的代码一样逐行审查自己的 PR

5. 短绳法的边界:什么时候可以放长绳子?

短绳法不是教条。Slepak 承认,以下场景可以适当放松:

  • 原型阶段:你要验证一个想法能不能跑通,代码将来会重写。这时候让 AI 撒欢跑一下是可以的。
  • 非关键路径:一个内部管理后台的页面,出错也不会影响核心业务。
  • 你比 AI 强得多的领域:如果你是这个领域的专家,一眼就能看出 AI 有没有跑偏,可以少盯一会儿。

但核心规则不变:代码进入生产之前,必须回到短绳模式

6. 总结

短绳法本质上是在回答一个问题:你愿意用"看起来更快"换"真的更快"吗?

Vibe Coding 看起来很快------你发个 prompt 就去喝咖啡了。但 Slepak 的一年实践证明,那些"省下来"的时间,会以 debug、重构、理解代码的代价加倍还回来。

短绳法的每一步都不快------坐在屏幕前审 diff、频繁 commit、AI 审完人再审。但综合下来,总时间比"让 AI 撒欢跑完再花三倍时间修 bug"要短。

而且最关键的一点 Slepak 没有明说但隐含在整篇文章里:短绳法保护的不是代码质量,是你作为开发者的能力。如果你让 AI 替你写了所有代码而你从不理解它,一年后你不是"会写代码的人 + AI 助手",而是"一个只会发 prompt 的人"。

参考资料

相关推荐
longxibo1 小时前
《DeepSeek 源码分析及企业应用实践》--前言
人工智能·aigc·ai编程
鉴生Eric1 小时前
拉孚空间认知 AI 智能体:重塑存量建筑运营新模式
大数据·人工智能
QiLinkOS1 小时前
第三视觉理解徐玉生与他的商业活动(26)
大数据·c++·人工智能·算法·开源协议
郭泽斌之心1 小时前
给 AI 交易助手做 LLM 网关:多通道负载均衡 + 静默失败自动切换
人工智能·经验分享·ea·mt5·fay数字人·easydeal
特别关注外国供应商1 小时前
Cohesity 获得 第 12,619,501 号专利,该专利涵盖了其企业数据生成式人工智能平台 Cohesity Gaia™ 的基础技术
人工智能·专利·rag·genai·ai工具·gaia·cohesity
北邮刘老师1 小时前
“移动梦网”走了,“移动智网”会来吗?
人工智能·大模型·智能体·智能体互联网
Python私教1 小时前
如意知识库工厂:我用 DocsGPT 跑通了一套私有 RAG 问答系统
人工智能
刘一说1 小时前
AI科技热点日报 | 2026年7月3日
人工智能·科技