Skip to content

计划模式

计划模式是 Claude Code 的一个强大功能,它允许 Claude 在执行复杂任务前先制定详细计划,然后逐步执行。这种方法提高了任务完成的质量和可预测性。

什么是计划模式

计划模式是一种结构化的工作方式,包含三个阶段:

  1. 分析阶段:理解任务需求和约束
  2. 规划阶段:制定详细的执行计划
  3. 执行阶段:按计划逐步实施

这种方式特别适合复杂、多步骤的任务。

何时使用计划模式

适合使用计划模式的场景

  • 大型功能开发
  • 系统重构
  • 架构变更
  • 多文件修改
  • 复杂的 bug 修复
  • 数据迁移
  • 性能优化
  • 安全加固

不需要计划模式的场景

  • 简单的单文件修改
  • 快速的 bug 修复
  • 添加简单的功能
  • 文档更新
  • 配置调整

启用计划模式

显式请求

明确要求 Claude 制定计划:

为重构用户认证系统制定详细计划,
然后等待我的批准再执行

自动触发

对于复杂任务,Claude 可能会自动建议使用计划模式:

这是一个复杂的任务,我建议先制定计划。
让我分析需求并提出执行方案。

计划的结构

标准计划格式

一个好的计划通常包含:

任务:重构用户认证系统

目标:
- 提高安全性
- 改善代码可维护性
- 保持向后兼容

分析:
- 当前实现使用简单的 session
- 缺少刷新令牌机制
- 密码加密算法过时
- 缺少速率限制

计划:
1. 准备阶段
   - 备份当前代码
   - 创建 feature 分支
   - 设置测试环境

2. 实现阶段
   - 步骤 1: 更新密码加密(bcrypt)
   - 步骤 2: 实现 JWT 令牌
   - 步骤 3: 添加刷新令牌
   - 步骤 4: 实现速率限制
   - 步骤 5: 更新中间件

3. 测试阶段
   - 单元测试
   - 集成测试
   - 安全测试

4. 部署阶段
   - 更新文档
   - 数据迁移
   - 灰度发布

风险和缓解:
- 风险:破坏现有功能
  缓解:保持向后兼容,渐进式迁移
- 风险:性能下降
  缓解:性能测试,优化关键路径

预计时间:2-3 天

计划审查

审查要点

在批准计划前,检查:

  • 目标是否清晰明确
  • 步骤是否完整合理
  • 顺序是否正确
  • 风险是否被识别
  • 缓解措施是否充分
  • 时间估计是否合理

提供反馈

如果计划需要调整:

计划看起来不错,但有几点建议:
1. 在步骤 2 和 3 之间添加性能测试
2. 步骤 4 应该在步骤 2 之前,先限流再改认证
3. 增加回滚方案

批准执行

当计划满意时:

计划批准,请开始执行

或者分阶段执行:

先执行准备阶段,完成后等待我的确认

执行过程

逐步执行

Claude 会按计划逐步执行:

执行步骤 1: 更新密码加密

1. 安装 bcrypt 包
2. 创建加密工具函数
3. 更新注册逻辑
4. 更新登录验证
5. 添加单元测试

步骤 1 完成。是否继续步骤 2?

检查点确认

在关键步骤后确认:

步骤 2 完成:JWT 令牌已实现

请测试以下功能:
- 用户登录
- 令牌验证
- 令牌过期处理

确认无误后,我将继续步骤 3。

处理问题

如果执行中遇到问题:

步骤 3 执行时发现问题:
现有的 session 中间件与 JWT 冲突

建议方案:
A. 先移除 session 中间件
B. 创建兼容层,同时支持两种方式
C. 调整 JWT 实现以兼容 session

请选择方案或提供其他建议。

计划调整

动态调整

根据执行情况调整计划:

在执行步骤 2 时发现需要额外的步骤:
- 步骤 2.5: 实现令牌黑名单机制

更新后的计划:
1. 更新密码加密 ✓
2. 实现 JWT 令牌 ✓
2.5. 实现令牌黑名单 (新增)
3. 添加刷新令牌
4. 实现速率限制
5. 更新中间件

优先级调整

根据需要调整优先级:

发现生产环境有紧急 bug,
暂停当前计划,先修复 bug

计划模式的优势

提高成功率

  • 提前识别问题和风险
  • 确保步骤完整和顺序正确
  • 减少返工和错误

更好的沟通

  • 清晰的执行路径
  • 明确的检查点
  • 便于团队协作

可控性

  • 可以在任何步骤暂停
  • 可以调整计划
  • 可以回滚更改

可追溯性

  • 记录决策过程
  • 便于后续审查
  • 有助于知识传承

高级技巧

分层计划

对于超大型任务,使用分层计划:

高层计划:
1. 重构认证系统
2. 重构授权系统
3. 重构会话管理

步骤 1 的详细计划:
1.1 更新密码加密
1.2 实现 JWT
1.3 添加刷新令牌
...

并行执行

识别可以并行执行的步骤:

可以并行执行:
- 分支 A: 后端 API 重构
- 分支 B: 前端组件更新
- 分支 C: 数据库迁移脚本

最后合并和集成测试

回滚计划

为每个步骤准备回滚方案:

步骤 2: 实现 JWT 令牌
回滚方案:
- 恢复旧的 session 中间件
- 回滚数据库更改
- 恢复配置文件

依赖管理

明确步骤间的依赖关系:

依赖关系:
- 步骤 3 依赖步骤 2
- 步骤 5 依赖步骤 3 和 4
- 步骤 6 可以独立执行

计划模板

功能开发模板

任务:[功能名称]

需求分析:
- 功能描述
- 用户故事
- 验收标准

技术方案:
- 技术选型
- 架构设计
- 接口设计

实施计划:
1. 数据模型设计
2. 后端 API 实现
3. 前端界面开发
4. 集成和测试
5. 文档和部署

测试计划:
- 单元测试
- 集成测试
- E2E 测试

部署计划:
- 环境准备
- 数据迁移
- 灰度发布
- 监控和回滚

重构模板

任务:[重构目标]

当前问题:
- 问题 1
- 问题 2
- 问题 3

重构目标:
- 目标 1
- 目标 2
- 目标 3

重构计划:
1. 准备阶段
   - 添加测试覆盖
   - 创建重构分支
   - 备份数据

2. 重构阶段
   - 步骤 1
   - 步骤 2
   - 步骤 3

3. 验证阶段
   - 运行测试
   - 性能对比
   - 代码审查

4. 清理阶段
   - 删除旧代码
   - 更新文档
   - 合并分支

风险控制:
- 保持向后兼容
- 渐进式迁移
- 准备回滚方案

Bug 修复模板

Bug:[Bug 描述]

影响范围:
- 影响的功能
- 影响的用户
- 严重程度

根因分析:
- 问题原因
- 触发条件
- 相关代码

修复计划:
1. 重现问题
2. 编写测试用例
3. 实施修复
4. 验证修复
5. 回归测试

预防措施:
- 添加监控
- 改进测试
- 更新文档

最佳实践

保持计划简洁

避免过度详细的计划:

✅ 好的粒度:
1. 实现用户认证 API
2. 添加前端登录表单
3. 集成测试

❌ 过度详细:
1. 打开 auth.ts 文件
2. 导入 bcrypt 包
3. 创建 hashPassword 函数
4. 添加 export 关键字
...

灵活调整

计划不是一成不变的:

根据实际情况调整计划是正常的,
不要拘泥于最初的计划

记录变更

记录计划的变更和原因:

计划变更日志:
- 2024-01-15: 添加步骤 2.5(令牌黑名单)
  原因:发现需要处理令牌撤销场景
- 2024-01-16: 调整步骤 4 和 5 的顺序
  原因:速率限制应该在中间件更新之前

总结经验

任务完成后总结经验:

任务总结:
完成情况:
- 按计划完成 80%
- 新增 2 个步骤
- 调整 1 个步骤顺序

经验教训:
- 应该更早考虑令牌撤销
- 测试覆盖不够充分
- 文档更新应该同步进行

改进建议:
- 在计划阶段更全面地考虑边界情况
- 每个步骤完成后立即更新文档

常见问题

问题 1:计划太复杂

解决:分解为多个子任务,每个子任务独立计划

问题 2:执行偏离计划

解决:及时调整计划,记录变更原因

问题 3:计划不够详细

解决:在执行前细化关键步骤

问题 4:计划过时

解决:定期审查和更新计划

总结

计划模式的核心价值:

  • 提前思考,减少返工
  • 结构化执行,提高质量
  • 可控可追溯,便于管理
  • 促进沟通,提升协作

通过掌握计划模式,你可以更有信心地处理复杂任务,提高开发效率和代码质量。

基于 MIT 许可发布