Claude Code 使用技巧:规划与执行分离
将 AI 编程任务分为「规划阶段」和「执行阶段」,可以显著提高代码质量和开发效率。本文介绍这一工作模式的核心思想和具体实践方法
最近在 Hacker News 上有一篇关于 Claude Code 使用技巧的文章获得了 976 个点赞,主题是「规划与执行分离」(Separation of Planning and Execution)。这个看似简单的理念,实际上深刻改变了我们与 AI 协作编程的方式。
什么是「规划与执行分离」?
传统的 AI 编程模式是:给一个指令,AI 直接执行。这种模式的问题在于:
- AI 可能会走弯路,浪费大量时间
- 缺乏全局视角,代码架构可能不合理
- 难以发现需求中的模糊点或潜在问题
规划与执行分离的核心思想是:在让 AI 执行代码任务之前,先让它分析和规划。具体做法是:
- 规划阶段:描述需求,让 AI 分析问题、设计方案、列出步骤
- 确认阶段:人类审核方案,提出修改意见
- 执行阶段:AI 按照确认的方案执行代码
为什么要分离?
1. AI 更擅长分析,而非执行
Claude Code 在分析问题、发现潜在风险、设计代码结构方面表现出色。但在执行阶段一次性完成所有代码,容易出错且难以调整。
2. 人类需要「签字确认」
代码是数字资产,需要谨慎对待。让 AI 先给出方案,人类确认后再执行,确保:
- 需求理解正确
- 技术方案合理
- 没有遗漏边界情况
3. 减少返工,提高效率
规划阶段的成本远低于执行阶段。如果方案有问题,在规划阶段调整比在代码写完后再重构要高效得多。
具体实践方法
方法一:先分析,再实现
用户:
我想给博客添加一个点赞功能,需要考虑:
1. 前端显示点赞按钮和计数
2. 后端 API 存储点赞数据
3. 用户点赞状态管理
4. 防刷机制
请先分析这个需求的可行性、技术方案和潜在问题,
给出详细的实现计划。我确认后再开始写代码。
方法二:使用 /plan 命令
Claude Code 的 /plan 命令可以强制 AI 先输出执行计划:
/plan 实现用户评论功能
AI 会先分析项目结构、依赖关系,然后给出详细的实现步骤。你可以:
- 同意计划并继续
- 修改计划中的某些步骤
- 要求 AI 重新规划
方法三:分步骤执行大任务
对于大型功能,不要一次性给太多指令:
第一步:设计数据库结构
---
我们需要添加评论功能,请先设计:
1. comments 表结构
2. 需要新增的 API 端点
3. 与现有用户系统的关联
等待用户确认后,再进行下一步。
第二步:实现后端 API
---
(确认第一步后)现在请实现评论的 CRUD API。
第三步:实现前端组件
---
(确认第二步后)现在请实现评论列表和评论输入框组件。
方法四:强制规划模式
对于关键决策,可以明确要求 AI 进行规划:
在开始写代码之前,请先:
1. 分析现有代码结构(特别是 auth 相关的部分)
2. 设计评论功能的数据库迁移方案
3. 列出需要修改/新增的文件
4. 识别潜在的冲突点和风险
我会根据你的分析决定如何进行。
规划阶段应该包含什么?
一份好的执行计划应该包含:
1. 问题分析
- 需求的核心目标是什么?
- 有哪些边界条件和特殊情况需要处理?
- 与现有系统如何交互?
2. 技术方案
- 数据模型设计
- API 接口设计
- 前端组件结构
- 需要安装的依赖
3. 实现步骤
- 具体的文件修改清单
- 推荐的实现顺序
- 可能的替代方案
4. 风险评估
- 潜在的问题和冲突
- 需要注意的兼容性问题
- 测试建议
实际案例
案例一:添加深色模式
规划阶段:
用户:我想给网站添加深色模式支持
Claude Code 规划:
1. 分析现有样式系统
- 使用 Tailwind CSS
- 已有 theme 相关的 CSS 变量
- 需要支持系统偏好和手动切换
2. 技术方案
- 方案 A:CSS 变量 + Tailwind dark mode
- 方案 B:CSS-in-JS 动态主题
- 推荐方案 A
3. 实现步骤
- 修改 tailwind.config.js
- 添加 dark: 前缀到现有样式
- 创建 ThemeToggle 组件
- 添加 localStorage 持久化
4. 风险
- 第三方组件可能不支持 dark mode
- 需要检查所有页面的颜色使用
执行阶段: 用户确认后,Claude Code 按计划实现。
案例二:重构身份认证
规划阶段:
用户:我想把当前的 session-based auth 改成 JWT
Claude Code 规划:
1. 风险评估 ⚠️
- 这是核心安全功能
- 需要平滑迁移,不能中断现有用户登录
- 建议分阶段实施
2. 技术方案
- 保留 session 作为过渡
- 新增 JWT 生成和验证逻辑
- 双轨验证:新用户用 JWT,老用户继续用 session
3. 实现步骤(分 3 阶段)
- Phase 1: 添加 JWT 工具函数(不修改现有逻辑)
- Phase 2: 新登录使用 JWT,逐步迁移
- Phase 3: 移除 session 逻辑
4. 测试要点
- 并发登录测试
- Token 过期测试
- 回滚测试
常见问题
Q: 这样不会更慢吗?
确实多了一步,但实际效率更高:
- 减少返工:规划阶段发现的方案问题,在执行阶段可能就是几小时的返工
- 减少 AI token 消耗:规划阶段的 token 远少于重写代码的 token
- 减少认知负担:不用一直盯着 AI 写代码
Q: 什么时候用,什么时候不用?
适合用规划模式:
- 新功能开发
- 涉及多个文件的修改
- 架构调整或重构
- 不熟悉的领域
直接执行即可:
- 简单的 bug 修复
- 单一文件的明确修改
- 重复性的代码生成
- 你已经想清楚方案的小改动
Q: 如果 AI 的计划不好怎么办?
- 指出具体问题,让 AI 重新规划
- 提出你的想法,让 AI 结合
- 拆分任务,一次只规划一小部分
总结
「规划与执行分离」不是限制 AI 的能力,而是:
- 利用 AI 的分析优势:让它先思考,你来把关
- 保持人类的主导权:你是决策者,AI 是执行者
- 降低返工成本:在规划阶段发现问题的成本远低于执行后
试试这个方法,你会发现 Claude Code 从一个「代码生成器」变成了真正的「编程伙伴」。
如果你有更多 Claude Code 使用技巧,欢迎在评论区分享!
相关文章
评论
加载中...
评论
加载中...