Claude之父AI编程技巧六:分步执行工作流——先规划后执行的智能开发模式

引言

在软件开发中,有一个被反复验证的真理:返工的成本远高于预防。当一个架构决策错误被推迟到开发后期发现时,修复它的代价可能是最初的10倍甚至100倍。这就是为什么专业的开发者总是强调"先设计,后编码"。

在Claude Code的协助下,你可以通过分步执行的方式来实现这个理念。先与Claude讨论和规划整个解决方案,审查计划,然后分步骤执行。与人类开发者一样,先画蓝图,再建高楼。

本文将深入探讨如何有效利用分步执行,让你的AI辅助开发更加稳健和高效。

理解分步执行

什么是分步执行?

分步执行是一种开发方法论,它不是Claude Code的特殊模式,而是一种工作方式。在这种模式下,你与Claude Code的交互分为两个阶段:

  1. 规划阶段:与Claude讨论需求、制定方案、评估风险
  2. 执行阶段:分步骤实现,每个步骤都可以单独确认
┌─────────────────────────────────────────────────────────────────┐
│                    传统方式 vs 分步执行                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  传统方式:                                                       │
│  用户请求 → 直接执行 → 输出结果                                  │
│           ↓                                                      │
│           ⚠️ 可能在错误的方向上走很远                             │
│                                                                  │
│  分步执行:                                                       │
│  用户请求 → 讨论规划 → 制定计划 → 用户审查 → 分步执行 → 输出结果│
│           ↓                                                      │
│           ✅ 在正确的方向上稳步前进                               │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

为什么需要分步执行?

避免昂贵的返工

案例分析:设计一个用户认证系统

普通模式可能产生的结果:
├── 第1天:实现基于Session的认证
├── 第3天:发现需要支持移动端API
├── 第5天:重构为JWT认证
├── 第7天:发现JWT有安全问题
├── 第10天:再次重构为更安全的方案
└── 总耗时:10天 + 大量返工

使用分步执行的结果:
├── 第1天:规划阶段
│   ├── 分析需求(Web + 移动端 + 第三方集成)
│   ├── 评估方案(Session vs JWT vs OAuth)
│   ├── 选择最佳方案(含理由)
│   └── 与用户确认方案
├── 第2-9天:分步执行阶段(每步确认)
└── 总耗时:9天 + 零返工

提升代码质量

在规划阶段,Claude可以:

  • 预见潜在的技术债务
  • 识别架构中的问题
  • 考虑扩展性和维护性
  • 提前规划测试策略

如何开始分步执行

在Claude Code中,你可以通过对话来启动分步执行:

# 在对话中明确提出
"我们先讨论一下实现方案,等你制定了详细计划后,我再确认执行。"

# 或者
"请先分析需求,提供几种可选方案,我会选择最佳方案后我们再开始实施。"

分步执行工作流详解

完整的分步执行流程

┌─────────────────────────────────────────────────────────────────┐
│                      分步执行完整流程                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  阶段1:需求理解                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ • 理解用户的需求和目标                                   │    │
│  │ • 识别约束条件和边界                                     │    │
│  │ • 澄清不明确的地方                                       │    │
│  │ • 收集必要的上下文信息                                   │    │
│  └─────────────────────────────────────────────────────────┘    │
│                              ↓                                   │
│  阶段2:方案设计                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ • 探索多种可能的解决方案                                 │    │
│  │ • 评估每种方案的优劣                                     │    │
│  │ • 考虑技术债务和维护性                                   │    │
│  │ • 提出推荐方案及理由                                     │    │
│  └─────────────────────────────────────────────────────────┘    │
│                              ↓                                   │
│  阶段3:计划制定                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ • 将方案分解为具体的步骤                                 │    │
│  │ • 确定依赖关系和执行顺序                                 │    │
│  │ • 估算每步的工作量                                       │    │
│  │ • 识别风险和应对措施                                     │    │
│  └─────────────────────────────────────────────────────────┘    │
│                              ↓                                   │
│  阶段4:用户审查                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ • 展示完整的计划                                         │    │
│  │ • 解释关键决策                                           │    │
│  │ • 回答用户的问题                                         │    │
│  │ • 收集反馈和调整                                         │    │
│  └─────────────────────────────────────────────────────────┘    │
│                              ↓                                   │
│  阶段5:分步执行                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ • 在用户确认后开始执行                                   │    │
│  │ • 按步骤执行,每步可单独确认                             │    │
│  │ • 实时报告进度                                           │    │
│  │ • 处理执行中的问题                                       │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

计划输出示例

当你在对话中提出分步执行的需求并描述你的需求后,Claude会提供类似这样的计划:

## 任务规划:实现用户仪表盘功能

### 需求理解

我理解你需要为现有的React应用实现一个用户仪表盘,包含:
1. 用户概览统计(订单数、积分、等级)
2. 最近活动列表
3. 快捷操作入口
4. 数据可视化图表

### 方案设计

经过分析,我提出以下方案:

**推荐方案:渐进式实现**

理由:
- 与现有架构兼容(使用相同的组件库和状态管理)
- 支持服务端渲染,提升首屏性能
- 便于后续添加实时数据更新
- 代码可维护性好

### 实施计划

**阶段1:基础设施准备**(预计时间:15分钟)
- [ ] 创建仪表盘页面路由
- [ ] 设置页面布局骨架
- [ ] 创建共享类型定义

**阶段2:用户概览组件**(预计时间:30分钟)
- [ ] 实现统计卡片组件
- [ ] 创建API调用层
- [ ] 添加加载状态处理
- [ ] 编写单元测试

**阶段3:最近活动列表**(预计时间:25分钟)
- [ ] 实现活动列表组件
- [ ] 添加分页功能
- [ ] 实现空状态和错误状态

**阶段4:数据可视化**(预计时间:35分钟)
- [ ] 集成图表库(Recharts)
- [ ] 实现趋势图组件
- [ ] 配置响应式图表
- [ ] 添加图表测试

**阶段5:整合与优化**(预计时间:20分钟)
- [ ] 组装完整页面
- [ ] 添加页面级测试
- [ ] 性能优化(懒加载)
- [ ] 更新文档

### 风险识别

| 风险 | 可能性 | 影响 | 应对措施 |
|------|--------|------|----------|
| API延迟问题 | 中 | 中 | 添加骨架屏和错误边界 |
| 图表性能 | 低 | 高 | 使用虚拟化渲染大量数据 |
| 需求变更 | 中 | 中 | 模块化设计,便于调整 |

### 依赖关系

页面路由 → 布局骨架 → 用户概览 + 活动列表 + 图表 → 整合页面


---

**请确认是否按此计划执行,或提出您的修改意见。**

选项:
- 确认执行整个计划
- 仅执行前3步
- 提出修改意见
- 取消任务

你可以直接回复:
- "好的,我们按这个计划执行"
- "请修改第3步和第5步"
- "我觉得方案B更好,我们改用方案B"

分步执行使用场景

场景1:复杂功能开发

当开发一个涉及多个模块的功能时,分步执行可以帮助你理清思路:

用户请求:实现一个实时协作的文档编辑器

进入Plan Mode后,Claude会规划:

1. 技术选型(WebSocket vs SSE vs Polling)
2. 存储架构设计(增量同步 vs 全量同步)
3. 冲突解决策略(OT vs CRDT)
4. 前端组件结构
5. 后端API设计
6. 测试策略
7. 部署方案

场景2:代码重构

当需要进行大规模重构时,分步执行可以降低风险:

用户请求:将10,000行的UserService拆分为多个服务

规划内容:
1. 当前代码分析(依赖关系图)
2. 拆分策略(按领域/按功能)
3. 迁移路径(确保可回滚)
4. 测试计划
5. 发布策略

场景3:技术栈迁移

当需要从一个技术栈迁移到另一个时:

用户请求:将后端从Express迁移到NestJS

规划内容:
1. 现有代码分析
2. 架构映射方案
3. 新框架特性利用
4. 迁移顺序
5. 兼容性策略
6. 回滚计划

场景4:性能优化

当面临性能问题时,Plan Mode可以系统性地解决问题:

用户请求:优化首页加载时间(当前5秒,目标2秒)

规划内容:
1. 当前性能基线测量
2. 瓶颈分析
3. 优化优先级排序
4. 具体优化措施
5. 预期收益

高级技巧

分步确认模式

你可以选择只执行计划的特定部分:

# 在对话中说明
"我们先制定完整计划"

# Claude显示计划后...
"好的,我们先执行第一步"

# 执行完成后...
"继续执行第2-4步"

计划版本管理

# 计划版本记录

## v1.0 - 初始计划(2024-01-10)
- 实现完整功能
- 预计耗时:3小时

## v1.1 - 根据反馈调整(2024-01-11)
- 简化了图表功能
- 预计耗时:2.5小时

## v1.2 - 最终确认版本
- 采用方案B
- 预计耗时:2小时

与任务列表集成

分步执行可以自动生成任务列表:

## Claude Code TodoWrite 任务列表

```json
{
  "tasks": [
    {
      "activeForm": "创建仪表盘页面路由",
      "content": "创建仪表盘页面路由",
      "status": "pending"
    },
    {
      "activeForm": "设置页面布局骨架",
      "content": "设置页面布局骨架",
      "status": "pending"
    },
    {
      "activeForm": "实现统计卡片组件",
      "content": "实现统计卡片组件",
      "status": "pending"
    },
    {
      "activeForm": "创建API调用层",
      "content": "创建API调用层",
      "status": "pending"
    }
  ]
}

条件分支处理

在复杂项目中,计划可以包含条件分支:

## 带条件的执行计划

### 条件判断点

在完成基础架构后,根据以下条件决定后续步骤:

**如果** 项目使用TypeScript:
→ 使用zod进行运行时验证

**如果** 项目使用JavaScript:
→ 使用joi进行验证

**如果** 需要支持IE11:
→ 使用polyfill方案
→ 避免使用最新的CSS特性

Plan Mode配置

配置文件

~/.claude/settings.json中配置Plan Mode行为:

{
  "plan_mode": {
    "default": true,
    "require_confirmation": true,
    "auto_generate_todos": true,
    "show_estimates": true,
    "max_plan_depth": "detailed"
  }
}

快捷键自定义

{
  "keybindings": {
    "plan_mode_toggle": "shift+tab",
    "execute_plan": "enter",
    "cancel_plan": "escape",
    "modify_plan": "ctrl+m"
  }
}

按任务类型配置

{
  "plan_mode_triggers": {
    "always": [
      "refactor",
      "architecture",
      "migration",
      "new_feature"
    ],
    "optional": [
      "bug_fix",
      "documentation",
      "test"
    ],
    "never": [
      "quick_edit",
      "formatting",
      "rename"
    ]
  }
}

自动化执行模式

什么是自动化执行?

在确认计划后,你可以在对话中要求Claude连续执行多个步骤而无需每次确认:

# 在对话中说明
"计划看起来不错,我们开始执行。"

# Claude会连续执行多个步骤
# 遇到关键决策点会暂停询问

"好的,我们继续下一阶段"

使用场景

适合使用Auto-Accept的情况:
├── 计划已经过详细审查
├── 步骤之间没有相互依赖
├── 你需要离开电脑一会儿
└── 任务相对标准化

不适合使用Auto-Accept的情况:
├── 涉及删除或修改大量文件
├── 涉及外部API调用
├── 涉及数据库迁移
└── 需要频繁的验证和确认

常见问题与解决方案

问题1:计划过于详细或过于简略

症状:计划要么太笼统,要么太冗长

解决方案:调整详细程度

{
  "plan_mode": {
    "detail_level": "medium",  // low / medium / high
    "max_steps": 20,           // 限制最大步骤数
    "group_similar": true      // 合并相似步骤
  }
}

问题2:用户不知道如何审查计划

解决方案:提供审查指南

## 计划审查清单

在确认计划前,请检查:

技术层面:
- [ ] 方案是否满足所有需求?
- [ ] 是否有明显的技术债务?
- [ ] 扩展性考虑是否充分?
- [ ] 风险识别是否全面?

执行层面:
- [ ] 时间估算是否合理?
- [ ] 步骤顺序是否正确?
- [ ] 依赖关系是否清晰?
- [ ] 有明确的完成标准吗?

商业层面:
- [ ] 优先级是否正确?
- [ ] 投资回报率如何?
- [ ] 有更简单的替代方案吗?

问题3:计划与实际情况不符

症状:执行过程中发现计划需要调整

解决方案:动态调整

/pause              # 暂停执行
/modify-plan        # 修改计划
# 输入新的需求或调整
/resume             # 继续执行

最佳实践总结

  1. 复杂任务分步规划:任何涉及多个模块或可能影响架构的任务都应该先规划
  2. 充分利用审查阶段:这是分步执行的核心价值,仔细审查每个步骤
  3. 分阶段执行:不必一次性执行整个计划,可以分步骤确认
  4. 保持灵活性:计划不是一成不变的,根据实际情况调整
  5. 记录决策:在计划中记录为什么选择某个方案
  6. 使用任务列表:让Claude自动生成任务列表,便于追踪进度

结语

分步执行代表了AI辅助开发的一种成熟理念:AI不是要取代人类的决策权,而是要帮助人类做出更好的决策。通过先规划后执行的工作流,你可以:

  • 避免昂贵的返工:在编码前发现设计问题
  • 提升代码质量:考虑更周全,决策更明智
  • 增强控制感:对整个开发过程有清晰的把握
  • 促进沟通:计划成为团队讨论的基础文档

下次当你面对一个复杂的开发任务时,不妨先在对话中制定计划,让AI帮你画一张蓝图,然后再动手建设。你会发现,开发变得更加可控,结果也更加可预测。


参考资源

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐