Claude之父AI编程技巧六:分步执行工作流——先规划后执行的智能开发模式
分步执行工作流是一种智能开发模式,强调先规划后执行的开发方法论。该模式分为规划阶段和执行阶段,通过预先讨论需求、制定方案和评估风险,避免后期昂贵的返工成本。与传统直接执行方式相比,分步执行能确保开发方向正确,提升代码质量,并考虑扩展性和维护性。完整流程包括需求理解、方案设计、计划制定、用户审查和分步执行五个阶段,通过逐步确认和实时进度报告,实现稳健高效的开发过程。
Claude之父AI编程技巧六:分步执行工作流——先规划后执行的智能开发模式
引言
在软件开发中,有一个被反复验证的真理:返工的成本远高于预防。当一个架构决策错误被推迟到开发后期发现时,修复它的代价可能是最初的10倍甚至100倍。这就是为什么专业的开发者总是强调"先设计,后编码"。
在Claude Code的协助下,你可以通过分步执行的方式来实现这个理念。先与Claude讨论和规划整个解决方案,审查计划,然后分步骤执行。与人类开发者一样,先画蓝图,再建高楼。
本文将深入探讨如何有效利用分步执行,让你的AI辅助开发更加稳健和高效。
理解分步执行
什么是分步执行?
分步执行是一种开发方法论,它不是Claude Code的特殊模式,而是一种工作方式。在这种模式下,你与Claude Code的交互分为两个阶段:
- 规划阶段:与Claude讨论需求、制定方案、评估风险
- 执行阶段:分步骤实现,每个步骤都可以单独确认
┌─────────────────────────────────────────────────────────────────┐
│ 传统方式 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 # 继续执行
最佳实践总结
- 复杂任务分步规划:任何涉及多个模块或可能影响架构的任务都应该先规划
- 充分利用审查阶段:这是分步执行的核心价值,仔细审查每个步骤
- 分阶段执行:不必一次性执行整个计划,可以分步骤确认
- 保持灵活性:计划不是一成不变的,根据实际情况调整
- 记录决策:在计划中记录为什么选择某个方案
- 使用任务列表:让Claude自动生成任务列表,便于追踪进度
结语
分步执行代表了AI辅助开发的一种成熟理念:AI不是要取代人类的决策权,而是要帮助人类做出更好的决策。通过先规划后执行的工作流,你可以:
- 避免昂贵的返工:在编码前发现设计问题
- 提升代码质量:考虑更周全,决策更明智
- 增强控制感:对整个开发过程有清晰的把握
- 促进沟通:计划成为团队讨论的基础文档
下次当你面对一个复杂的开发任务时,不妨先在对话中制定计划,让AI帮你画一张蓝图,然后再动手建设。你会发现,开发变得更加可控,结果也更加可预测。
参考资源:
更多推荐


所有评论(0)