# 工作流：探索、计划、实现、提交

> 官方推荐的四阶段开发流程，用计划模式把读代码和改代码分开，配套每一阶段可直接发送的提示词，适合改动涉及多个文件或不熟悉的代码时使用。

## 适用场景

任务有一定规模：要改多个文件、要碰不熟悉的模块、或者你自己对方案也没把握。这时直接让智能体开写，最大的风险是它很快写出一份「解决了错误问题」的代码。

把工作拆成探索、计划、实现、提交四个阶段，前两个阶段不允许改文件，由你在计划阶段把关。官方也提醒：如果改动一句话就能描述清楚（改错别字、加一行日志、重命名变量），不要走这套流程，直接让它做，计划本身是有成本的。

## 模板

四段提示词，依次发送，每段之间你检查一次结果：

```text
# 阶段 1：探索（计划模式）
阅读【目录或文件，如 /src/auth】，弄清楚我们现在如何处理会话和登录。
同时看一下密钥和环境变量是怎么管理的。
只读不改，用文字告诉我你的理解，并指出不确定的地方。

# 阶段 2：计划（仍在计划模式）
我想做【功能描述，如：接入 Google OAuth 登录】。
请制定实现计划，包含：需要改动的文件清单、新增的文件、数据与会话流程、
对现有功能的影响、需要新增的测试、分步骤的实现顺序、风险和回滚方式。
计划里每一步都要写明怎么验证。先不要开始写代码。

# 阶段 3：实现（退出计划模式后）
按照你刚才的计划实现。每完成一个步骤就运行相应的验证，
全部完成后运行测试、类型检查和 Lint，修复失败项，并贴出真实输出。
如果实现过程中发现计划有问题，先停下来告诉我，不要自行偏离。

# 阶段 4：提交
检查 git diff，确认没有无关改动、调试代码或密钥。
然后用清晰的提交信息提交，并起草 PR 描述，写明如何验证和主要风险。
```

## 怎么用 / 怎么改

1. **进入计划模式。** 在会话里按 Shift+Tab 直到状态栏显示 `⏸ plan mode on`，或者启动时用 `claude --permission-mode plan`。计划模式下 Claude 读文件、回答问题，但不改源码。
2. **直接改计划。** 计划生成后按 Ctrl+G，可以在你的文本编辑器里修改，再让它继续。你的修改就是对方案的审批。
3. **离开计划模式。** 批准计划，或者再按 Shift+Tab 切换，然后发送阶段 3。
4. **探索交给子智能体。** 阶段 1 如果要读很多文件，加一句「用子智能体调查，只把结论带回来」，让主会话的上下文留给实现。
5. **长任务拆会话。** 计划确认后，可以让它把计划写进 `PLAN.md`，用 `/clear` 清空上下文或新开会话，再让新会话按文件执行。
6. **常用的急刹车。** 发现跑偏时按 Esc 打断，上下文保留；想回到之前的状态，按两次 Esc 或运行 `/rewind` 打开回退菜单。

## 常见问题或注意事项

- **计划写得太笼统。** 追问「每一步改哪个文件的哪个函数」，并要求每步附验证方法。无法验证的步骤，说明方案还没想清楚。
- **实现阶段偏离计划。** 在阶段 3 里写明「发现偏离先停下」。同一个问题纠正超过两次仍然不对，就 `/clear`，把学到的东西写进新提示词重新开始。
- **回退不等于 git。** 检查点只记录 Claude 文件编辑工具造成的改动，通过 Bash 命令或外部进程发生的改变不会被记录，所以重要节点仍然要提交。
- **不要什么都计划。** 探索性任务可以直接问、直接试；有清晰边界的小改动可以直接做。
- **会话要有名字。** 任务跨天时，用 `/rename` 起个名字，之后 `claude --continue` 恢复最近会话，或用 `claude --resume` 从列表里选。