/rewind 安全绳
/rewind 安全绳
Section titled “/rewind 安全绳”官方 best-practices 有一条叫「Rewind with checkpoints」。高手复盘里把它讲得更透:
/rewind 不是撤销,是让你敢于放心尝试多种方案的安全绳。
撤销是「我后悔了,退回去」;安全绳是「我知道有退路,所以敢往上爬」。心态完全不同——前者被动,后者主动。这一篇讲透 /rewind 怎么用、和 Checkpointing 怎么配合、以及它带来的「敢试」心态。
Esc Esc:最常用的姿势
Section titled “Esc Esc:最常用的姿势”不想打 /rewind 那么长?有个快捷键:连按两次 Esc。
Esc Esc这是最常用的回退姿势。Claude 刚改完一段代码,你扫一眼觉得不对劲——啪啪两下 Esc,就回到了改之前。比任何 git 操作都快。
这个快捷键的妙处在于「即时」:你不用想「该不该 git stash」,不用切终端打命令,眼疾手快两下就回来了。等你确认改对了再继续。
/rewind:三种粒度的回退
Section titled “/rewind:三种粒度的回退”打 /rewind,它会让你选回退什么:
| 选项 | 回退什么 | 适合 |
|---|---|---|
| 对话 | 把对话回退到某个点,代码不动 | 前面聊歪了,但代码改动满意 |
| 代码 | 把文件回退到某个检查点,对话不动 | Claude 改的代码想丢掉,讨论还有用 |
| 两者都 | 对话和代码一起回到那个时刻 | 彻底重来,干干净净 |
这三种粒度覆盖了几乎所有「想回头」的场景:
- 只回代码:保留有价值的讨论,换条路实现。
- 只回对话:代码满意,但前面的发散讨论想清掉。
- 都回:彻底回到那个时刻,从那个分叉点重新走。
Checkpointing:自动追踪每次编辑
Section titled “Checkpointing:自动追踪每次编辑”/rewind 能回退,是因为背后有 Checkpointing 在自动追踪每次文件编辑。你不用手动「保存检查点」,Claude Code 在编辑文件时悄悄存好快照——连对话到哪了、代码改到哪了都记着。
打个比方:像文档编辑器里的「版本历史」,你每改一下它都存一份。区别是这里的快照不只记文件内容,还记对话的上下文——所以你能连对话带代码一起回退。
全自动是它最让人安心的一点。你不会忘了存检查点,因为根本不需要你存。(检查点 Checkpointing 有完整详解。)
最香的用法:多方案探索
Section titled “最香的用法:多方案探索”/rewind 真正改变工作流的用法是多方案探索。
假设你要实现一个功能,拿不准用方案 A 还是方案 B。传统做法是选一个赌一把,赌错了手动回退。有了 /rewind,你可以:
- 让 Claude 走方案 A,改完看效果
/rewind回到改之前- 让 Claude 走方案 B,改完看效果
- 对比两版,选更好的留下
就像游戏里的存档点——关键岔路口存个档,每条路都试走一段,不满意的读档重来。这种低成本试错是 /rewind 带来的最大价值,远不止「改错了能撤销」。
让 Claude 给 2-3 种思路再试
Section titled “让 Claude 给 2-3 种思路再试”更高阶的玩法:先不急着动手,让 Claude 先给思路,你挑一条试,不满意 rewind 回来试另一条。
> 给我这个功能 2-3 种实现思路,列出各自的优缺点。(Claude 给了 A、B、C 三条)> 走方案 A,先实现一版。(试完不满意)Esc Esc> 走方案 B,按那个思路来。关键节点 rewind,每条路都试一段再决定。这种「先想几条路、再分别试」的工作流,没有安全绳根本不敢做——你会被「万一试错回不来」吓住,只能赌一条走到底。
架构调整、复杂逻辑的安全感
Section titled “架构调整、复杂逻辑的安全感”/rewind 最大的价值场景是架构调整和复杂逻辑修改——这种改动风险高、容易改崩,没有安全绳你根本不敢让 AI 大刀阔斧地动。
有了 /rewind:
- 让 Claude 大胆重构一个复杂函数,改崩了 Esc Esc 就回来。
- 试一种架构拆分,跑通了看效果,不满意回退。
- 调一个并发逻辑,试一种锁策略,验证后决定留不留。
这种「敢放手让它试」的心态,是 /rewind 最大的红利。没有它,你会本能地让 Claude 做小而保守的改动,永远碰不到那些需要「大步走、不行就回」的重构。
和 Git 的关系
Section titled “和 Git 的关系”有人问:这不就是 git stash / git checkout 吗?
相似,但有关键区别:
| 维度 | Git | Checkpointing + /rewind |
|---|---|---|
| 触发 | 手动 commit/stash | 自动追踪每次编辑 |
| 粒度 | 你决定提交点 | 每次编辑都记 |
| 对话 | 不记对话 | 对话一起记 |
| 速度 | 要打几条命令 | Esc Esc 两下 |
Checkpointing 不是替代 Git,是补 Git 的缝隙——两次 commit 之间的探索过程,它兜着。最终成果还是要 Git commit 固化,但中间的试错,/rewind 兜底。
/rewind 是安全绳不是撤销——Esc Esc 两下回退,可选回退对话/代码/两者,Checkpointing 自动追踪每次编辑。最香用法是多方案探索:让 Claude 给 2-3 种思路,逐条试、不满意 rewind 回关键节点。架构调整和复杂逻辑修改的敢试底气都来自这里。
下一步,去看 @ 文件引用——让 Claude 直接读文件,不用你复制粘贴。🚀