复杂规格需求
需求需要通过访谈式提问来澄清的场景。
使用两个 Claude 实例担任不同角色:一个负责规划和评审(Claude Zero),一个负责实现(Claude One)。通过关注点分离来提升计划质量、减少实现错误。
1. 启动 Claude Zero(规划者):探索代码、编写计划、审查实现2. 启动 Claude One(实现者):读取计划、编写代码、提交变更3. 人类守门员:在实现前审批计划4. 计划目录流转:Review/ → Active/ → Completed/最适合: 个人开发者、规格密集型需求、质量优先于速度的场景。
复杂规格需求
需求需要通过访谈式提问来澄清的场景。
质量关键功能
安全、支付、数据迁移等不容出错的功能。
学习阶段
接手新代码库、接触陌生模式时,规划开销可以降低风险。
预算约束
月预算 $100-200 即可运行,比多实例并行方案更经济。
| 模式 | 扩展方向 | 月成本 | 最适合 |
|---|---|---|---|
| 单实例 | 无 | $50-100 | 大多数开发者的日常使用 |
| 双实例 | 纵向(规划 + 实现) | $100-200 | 规格密集型、质量优先 |
| 多实例并行 | 横向(5-15 个并行) | $500-1,000 | 团队、高产出需求 |
cd ~/projects/your-projectmkdir -p .claude/plans/{Review,Active,Completed}目录角色:
Review/ — 等待人类审批的计划Active/ — 已批准、正在实现的计划Completed/ — 归档的计划(作为学习资源)将以下内容添加到 .gitignore:
.claude/plans/Review/.claude/plans/Active/# 可选:提交 Completed/ 供团队学习在终端 1 中:
cd ~/projects/your-projectclaude发送角色设定消息:
You are Claude Zero (Planner).
Your role:- Explore codebase using Plan Mode (Shift+Tab twice)- Interview user about requirements- Write detailed plans to .claude/plans/Review/- Review implementations after Claude One completes them- NEVER edit code directly- NEVER commit changes
Start by acknowledging this role.在终端 2(新会话)中:
cd ~/projects/your-projectclaude发送角色设定消息:
You are Claude One (Implementer).
Your role:- Read approved plans from .claude/plans/Active/- Implement exactly as specified- Commit changes after each logical step- Report completion back to user- NEVER create plans- NEVER skip approval steps
Start by acknowledging this role.发起规划
在 Claude Zero 中进入 Plan Mode(按两次 Shift+Tab),然后描述需求:
Implement JWT authentication for the API:- Access tokens (15min expiry)- Refresh tokens (7 day expiry)- Middleware to protect routes- Logout capability (revoke refresh tokens)Claude Zero 探索代码库
Claude Zero 在 Plan Mode 下:
Claude Zero 提出澄清问题
Before I draft the plan, I need to clarify:1. Should we support multiple concurrent sessions per user?2. Where should refresh tokens be stored? (Database / Redis / Other)3. Which routes should be protected? (All /api/* or specific routes only?)4. Do you want rate limiting on login attempts?5. Success criteria for "done"? (Tests passing? Postman collection? Documentation?)你回答后,Claude Zero 据此细化理解。
Claude Zero 编写计划
Claude Zero 创建 .claude/plans/Review/auth-jwt.md,包含:
审核 .claude/plans/Review/auth-jwt.md:
| 检查项 | 说明 |
|---|---|
| 需求覆盖度 | 所有需求都包含了吗? |
| 技术方案合理性 | 方案适合当前代码库吗? |
| 安全考量 | 安全问题是否都已处理? |
| 工作量估计 | 估计的时间是否合理? |
| 成功标准 | 标准是否清晰且可验证? |
| 文件路径 | 创建/修改的文件路径是否正确? |
审批通过:
mv .claude/plans/Review/auth-jwt.md .claude/plans/Active/需要修改: 让 Claude Zero 修改计划后重新审核。
告诉 Claude One:
Implement .claude/plans/Active/auth-jwt.md
Follow the plan exactly. Commit after each logical step.Report back when complete.Claude One 按照计划顺序执行,每步完成后提交:
feat: add JWT utility functionsfeat: create refresh_tokens table migrationfeat: add auth middlewarefeat: protect API routes with JWT authtest: add JWT auth flow tests告诉 Claude Zero:
Review the JWT implementation Claude One just completed.Check against the plan in .claude/plans/Active/auth-jwt.md.Claude Zero 审查代码结构是否匹配计划、成功标准是否达成、安全检查清单是否完成、测试是否通过。
审核通过后:
mv .claude/plans/Active/auth-jwt.md .claude/plans/Completed/| 场景 | 单实例 | 双实例 | 节省 |
|---|---|---|---|
| 简单功能(登录表单) | 1 会话 x $5 = $5 | 2 会话 x $3 = $6 | 单实例更省 |
| 中等功能(认证系统) | 1 会话 x $15 + 2 次纠错 x $10 = $35 | 2 会话 x $12 = $24 | 节省 $11 |
| 复杂功能(模糊规格) | 1 会话 x $20 + 3 次纠错 x $15 = $65 | 2 会话 x $18 = $36 | 节省 $29 |
问题: Claude Zero 开始直接编辑代码。
解决方案: 在 CLAUDE.md 中强制角色约束:
## If you are Claude Zero (Planner):- Use Plan Mode (Shift+Tab twice) for all exploration- Save all plans to .claude/plans/Review/[feature].md- NEVER edit code- NEVER commit changes
## If you are Claude One (Implementer):- Read plans from .claude/plans/Active/- Implement exactly as specified- Commit after each logical step- NEVER create plans问题: Claude One 的上下文被规划讨论污染。
解决方案: 使用独立的终端会话(隔离上下文):
两者之间不要共享上下文。
问题: Claude One 在实现过程中偏离计划。
解决方案: 在计划中明确实现规则:
## Implementation Rules for Claude One- Follow plan steps sequentially (don't skip or reorder)- If you encounter blockers, STOP and report (don't improvise)- Commit after each step (granular history)- If unclear, ask user (don't guess)为简化文件管理,添加 shell 别名:
# 添加到 ~/.bashrc 或 ~/.zshrc
# 批准计划approve-plan() { mv ".claude/plans/Review/$1.md" ".claude/plans/Active/" echo "Approved: $1.md → Active/"}
# 归档计划complete-plan() { mv ".claude/plans/Active/$1.md" ".claude/plans/Completed/" echo "Completed: $1.md → Archived"}
# 查看所有计划plans() { echo "Review:" ls -1 .claude/plans/Review/ 2>/dev/null || echo " (empty)" echo "" echo "Active:" ls -1 .claude/plans/Active/ 2>/dev/null || echo " (empty)" echo "" echo "Completed:" ls -1 .claude/plans/Completed/ 2>/dev/null | tail -5 || echo " (empty)"}使用方式:
plans # 查看所有计划approve-plan auth-jwt # 批准计划complete-plan auth-jwt # 归档完成的计划