Claude Code 模式选择指南:Brainstorming 与 Systematic Debugging
一、Claude Code 四种模式概览
| 模式 | 显示标识 | 核心特征 | 适合场景 |
|---|---|---|---|
| 默认模式 | ? for shortcuts | 自由对话,AI 提出改动需用户确认 | 通用场景,探索性对话,诊断调试 |
| Accept Edits On | ⏵⏵ accept edits on | AI 可直接应用代码改动,无需逐条确认 | 信任度高的编码任务,追求效率 |
| Plan Mode | ⏸ plan mode on | 只读分析,生成计划,不修改代码 | 架构设计、代码审查、风险评估 |
| Auto Mode | ⏵⏵ auto mode on | 自动判断:简单任务直接执行,复杂任务先询问 | 效率与安全平衡,适合熟练用户 |
按
Shift+Tab循环切换四种模式。
二、Brainstorming(头脑风暴)模式选择
推荐:默认模式 (? for shortcuts) 或 Auto Mode
| 模式 | 是否适合 | 理由 |
|---|---|---|
| ✅ 默认模式 | 最适合 | 自由对话,AI 通过提问引导思路探索问题,不会急于产出最终代码。这是需求探索和思想碰撞的理想环境。 |
| ✅ Auto Mode | 也适合 | AI 会将头脑风暴判断为“探索性对话”,自动保持谨慎,不会擅自修改代码。适合在探索过程中兼顾一些快速验证。 |
| ⚠️ Plan Mode | 部分可用 | 适合在已有设计草案时用只读方式分析架构,但无法执行任何验证性操作(如运行原型代码)。 |
| ❌ Accept Edits | 不适合 | AI 可能过早直接写代码,跳过真正的问题定义和需求澄清阶段,导致方向偏差。 |
为什么 Brainstorming 不适合 Plan Mode?
Plan Mode 是只读模式,其设计目标是“在修改代码前生成执行计划”。而 Brainstorming 的本质是:
- 对话探索:需要自由地让 AI 提问、反问、追问
- 需求澄清:可能需要快速写草稿、画原型(虽然最终不保留)
- 灵活迭代:思路随时调整,不需要严格的结构化输出
Plan Mode 的只读约束会限制这种探索性对话的深度。
为什么 Brainstorming 不适合 Accept Edits Mode?
Accept Edits Mode 的默认行为是“AI 可以直接改代码”。这在头脑风暴阶段是危险的:
- AI 可能过早跳到“写代码”阶段
- 用户的模糊需求可能被 AI 过度具体化
- 失去了“先想清楚再做”的关键环节
三、Systematic Debugging(系统性调试)模式选择
推荐:默认模式 (? for shortcuts) 或 Auto Mode
Systematic Debugging 的四阶段流程:
- Phase 1: 根因调查 — 复现问题、添加日志、追踪数据流
- Phase 2: 模式分析 — 寻找正常工作的对比案例
- Phase 3: 假设验证 — 提出单一假设,最小化测试
- Phase 4: 实施修复 — 写失败测试,实施修复,验证
| 模式 | 是否适合 | 理由 |
|---|---|---|
| ✅ 默认模式 | 最适合 | 四阶段调试需要自由对话、执行诊断命令、添加日志、运行测试、验证假设——这些都需要写入和执行权限。 |
| ✅ Auto Mode | 也适合 | AI 可自动判断何时直接加日志/运行测试(Phase 1-3),何时需要汇报。平衡效率与安全。 |
| ⚠️ Accept Edits | 谨慎使用 | 仅适合 Phase 4(实施修复)阶段,且根因已完全明确。调试早期绝不可用。 |
| ❌ Plan Mode | 不适合 | 只读模式无法运行测试、添加诊断日志、执行验证命令——这些都是调试的核心动作。 |
为什么 Systematic Debugging 不适合 Plan Mode?
Plan Mode 的核心约束是只读,而 Systematic Debugging 强制要求的动作包括:
- 添加
console.log/ 诊断日志 - 运行测试用例
- 执行
git bisect等诊断命令 - 创建最小复现示例
这些操作在 Plan Mode 下完全被禁止。调试和规划是不同性质的活动:
- 规划:在看清楚之前,不动手
- 调试:在动手过程中,才能看清楚
为什么 Phase 4 可以谨慎使用 Accept Edits?
当调试进入 Phase 4 时,根因已经完全明确:
- 你知道要改什么
- 你知道怎么改
- 你有测试用例验证
此时 Accept Edits Mode 可以加速修复过程。但前提是根因已确认,否则风险极大。
四、快速决策指南
按场景选择
text
text
开始任务 │ ├─ 需求模糊,需要探索和讨论? │ └─ 默认模式 (? for shortcuts) │ 例:Brainstorming、需求分析、Systematic Debugging Phase 1-3 │ ├─ 任务明确,但希望保留控制权? │ └─ 默认模式(AI 提出改动需你确认) │ 例:常规编码、代码审查、学习新代码库 │ ├─ 信任 AI,追求效率最大化? │ └─ Accept Edits On (⏵⏵) │ 例:批量重构、脚手架生成、熟悉的领域 │ ├─ 只读分析,不想有任何风险? │ └─ Plan Mode (⏸) │ 例:架构评审、安全审计、生成迁移计划 │ └─ 想要平衡,让 AI 自己判断? └─ Auto Mode (⏵⏵) 例:日常开发,AI 判断简单改动直接做,复杂改动先请示按方法论选择
| 方法论 | 首选模式 | 次选模式 | 禁用模式 |
|---|---|---|---|
| Brainstorming | Default (?) | Auto | Accept Edits |
| Systematic Debugging | Default (?) | Auto | Plan Mode |
五、核心原则总结
- 方法论 vs 执行模式是两个维度
- Brainstorming 和 Systematic Debugging 是思维框架(how to think)
- Default/Plan/Auto/Accept Edits 是操作权限模式(what AI can do)
- 默认模式是最安全、最通用的起点
- 探索性工作:默认模式
- 诊断性工作:默认模式
- 不确定用什么模式:默认模式
- Plan Mode 只适合“纯规划”场景
- 架构评审、迁移计划、风险评估
- 任何需要“动手”的工作(包括加日志、运行测试)都不适合
- Auto Mode 是熟练用户的效率之选
- AI 会根据任务复杂度自动判断是否需要确认
- 探索性对话会自动保持谨慎,简单任务会直接执行
- Accept Edits Mode 需要充分信任
- 仅适合根因明确、方案清晰、风险可控的场景
- 绝不要在调试早期或需求模糊时使用
六、实际操作示例
示例 1:Brainstorming 新功能
bash
text
$ claude# 左下角显示: ? for shortcuts> 我想给电商网站加一个“猜你喜欢”功能,帮我 brainstorm 一下# AI 会通过提问引导你思考:数据来源、算法选择、展示位置、冷启动问题等示例 2:Systematic Debugging 完整流程
bash
text
$ claude# 左下角显示: ? for shortcuts> 运行 npm run build 报错 TypeError: Cannot read properties of undefined...# AI 自动激活 Systematic Debugging 技能,按 Phase 1→2→3→4 执行# Phase 4 时可临时切换提高效率Shift+Tab # 切换到 Auto Mode 或 Accept Edits示例 3:需要只读评审时切换到 Plan Mode
bash
text
# 调试到 Phase 3,发现需要重构核心模块Shift+Tab # 切换到 ⏸ plan mode on> 帮我生成一个 ProductList 组件的重构计划,先不要改代码# AI 生成只读计划,风险评估,依赖分析Shift+Tab # 切回默认模式开始执行七、常见误区
| 误区 | 正确理解 |
|---|---|
| “Brainstorming 应该在 Plan Mode 下做” | ❌ Plan Mode 是只读规划,不能执行探索性对话所需的快速原型验证 |
| “调试时用 Plan Mode 更安全” | ❌ 调试需要加日志、跑测试、执行命令,Plan Mode 的只读约束反而阻碍调试 |
| “Auto Mode 会自动选择最优模式” | ⚠️ Auto Mode 只在“是否确认”上做判断,不会自动切换四种模式 |
| “Accept Edits 适用于所有编码任务” | ❌ 仅适合根因明确、风险可控的场景,调试早期绝对禁用 |