工具大全
Claude 指南作者:Coocon2026年7月28日362 次阅读约 3 分钟阅读

Claude Code Plan Mode 实战:先规划后动手,把返工率打下来

用 Claude Code 最贵的不是 token,是返工:它自信满满地改了八个文件,你看完发现方向就错了,只能全部回滚重来。Plan Mode 就是针对这个问题的开关——先让 Claude 只读调研、给出方案,你点头之后它才碰代码。

Plan Mode 是什么:一个"只读+审批"的工作模式

进入 Plan Mode 后,Claude 的行为会变成两段式:

  1. 调研阶段(只读):可以读文件、搜代码、分析结构,但不能编辑文件、不能执行会改变系统状态的命令
  2. 审批阶段:把调研结论整理成实施计划呈给你;你批准后它退出 Plan Mode 开始动手,你不满意就继续讨论修改方案

关键价值在于把"想清楚"和"干活"在机制上分开了。没有 Plan Mode 时你也可以在提示词里写"先别改代码",但那只是口头约定;Plan Mode 是硬约束,调研阶段想改文件也改不了。

怎么进入:Shift+Tab 循环切换

会话中按 Shift+Tab 可以在三种权限模式间循环:

  • 普通模式:每个敏感操作都请求确认
  • 自动接受(auto-accept):文件编辑自动放行,适合信得过的机械性任务
  • Plan Mode:只读规划,改动一律拦截

也可以在启动时直接指定:claude --permission-mode plan。如果你所在团队约定"大改动必须先出方案",把这条写进项目 CLAUDE.md,Claude 会主动在非平凡任务上先进入规划流程。

什么任务该开 Plan Mode

一个实用的判断标准:改动步数超过 3 步,或者存在多个合理方案时,就先规划。具体来说:

应该开:

  • 跨多文件的重构("把认证逻辑抽成中间件")
  • 陌生代码库的首次改动——调研阶段本身就是熟悉代码的过程
  • 有架构分歧的功能("加实时通知"——WebSocket 还是轮询?)
  • 修一个根因不明的 bug:先让它只读排查、给出诊断,避免"边猜边改"污染现场

不该开:

  • 改错别字、调一行样式这类显而易见的小修
  • 你已经把改法说得明明白白,只差执行
  • 纯查询任务("这个函数在哪被调用")——直接问就行,规划反而绕路

对小任务开 Plan Mode 的代价是多一轮往返;对大任务不开的代价是成片返工。误判的话,宁可偏保守。

让规划真正提质量的四个技巧

1. 逼它先提问再出方案。 在规划时补一句"如果需求有歧义,先问我"。规划阶段暴露的每个问题,都是执行阶段省下的一次返工。

2. 要求方案带验证步骤。 好的计划不止列"改哪些文件",还要列"改完怎么证明是对的"——跑哪个测试、看哪条日志。把验收标准写进计划,执行完才有对账依据。

3. 把计划落成文件。 让 Claude 把批准后的方案写进 tasks/todo.md 之类的文件,边执行边勾选。会话中断或上下文被压缩后,这份文件就是恢复现场的锚点。

4. 方向跑偏就回到规划。 执行中发现前提错了,不要让它"顺手修正"着继续跑——切回 Plan Mode 重新评估。跑偏后硬推的成本,几乎总是高于停下来重规划。

和其他机制的配合

Plan Mode 不是孤立功能,它和 Claude Code 的其他能力天然互补:规划阶段可以派子代理去并行调研不同子系统,主上下文只收结论;批准后的执行阶段配合 auto-accept 模式,机械改动不再逐个确认;而"什么情况必须先规划"这条团队约定,最适合沉淀在 CLAUDE.md 里让每次会话自动遵守。

一句话总结:Plan Mode 把 AI 编程从"下指令、赌结果"变成"看方案、再放行"。任务越大,这一轮审批省下的返工越多。

配套阅读:站内的《Claude Code 快速上手指南》适合还没建立基础工作流的读者,《Claude Code 进阶实战:10 个官方技巧》覆盖了会话恢复、Checkpoint 回滚等与 Plan Mode 互补的能力。

相关文章

Claude Code 禁止 rm -rf 怎么配:deny 规则两周拦下 14 次,实测还有 7 种写法照样能删,一个 hook 补齐

为了防 Claude Code 误删文件,我在全局 settings 里加了一条 deny 规则 Bash(rm -rf *)。翻本机 10 月 7 日到 21 日的会话记录:这条规则拦下 14 次删除,模型被拒后 8 次换新目录名、6 次直接放弃删除,一次都没换写法绕过。但在 Claude Code 2.1.285 上用 stub 逐字回放 22 种删除写法后发现:rm -fr、rm -r -f、rm -Rf、rm -r 在手动、auto、bypass 三种模式下都照删不误,/bin/rm、find -delete、bash -c 在手动和 bypass 模式下也能删。auto 模式下,工作目录内的 rm -fr 会被当成「acceptEdits 也会放行」的操作,连分类器都不过。另一道闸是内置的 dangerous-rm 检查,目标是 $D/* 这类变量展开时触发,bypass 模式也拦;多行命令里前面有 heredoc,它就跟不上同一条命令里的变量赋值。文末给出一个 PreToolUse hook,三种模式下补齐全部递归删除写法,并告诉模型被拒后该怎么做。

claude-codehooks+5
pitfalls2026年10月21日7 min
208

Claude Code 接 DeepSeek / GLM / Kimi 开 auto 模式:temporarily unavailable 括号里的原因怎么看,哪些重试没用(故障注入实测)

用第三方模型跑 Claude Code auto 模式,每个有副作用的动作都会用你的会话模型向同一个后端多发一次判定请求:系统提示词 132,470 字符,单次约 2.97 万输入 token,比主循环那一步还多。判定请求一失败,就出现「xxx is temporarily unavailable, so auto mode cannot determine the safety of Bash」。本文用故障注入代理把每种失败对应的报错原文测了一遍:500 → (server error)、429 → (rate-limited)、529 → (overloaded)、断连 → (connection failed),这几种会自动重试 5 次;超过 60 秒没回 → (timed out);**没有括号 = 后端拒收(4xx),只试 1 次,重试多少遍都一样**;后端回了但模型没给判定 → could not evaluate,连续 3 次就退回人工确认。另外实测 CLAUDE_CODE_AUTO_MODE_MODEL 不生效,判定器只能跟着会话模型换。Claude Code 2.1.285,真实后端 DeepSeek v4-pro 与小米 MiMo v2.5。

claude-codedeepseek+7
pitfalls2026年10月11日11 min
643

Claude Code 上下文太长怎么办:Prompt is too long 会自动压缩,中转站 / DeepSeek 的 maximum context length 却不会(实测)

Claude Code 靠报错文案判断「上下文太长」:后端说 prompt is too long 或 input is too long for requested model,它会自动压缩对话后重发,用户无感;DeepSeek 和 OpenAI 风格中转返回的 This model's maximum context length is …,它不认识,直接报 API Error: 400,每轮都失败。手动 /compact 有效;更好的办法是用 CLAUDE_CODE_MAX_CONTEXT_TOKENS(非 claude- 模型 ID)或 CLAUDE_CODE_AUTO_COMPACT_WINDOW(claude- 模型 ID)告诉它真实上限,让它提前压缩。Claude Code 2.1.285 + 本地 stub 实测。

claude-codedeepseek+6
pitfalls2026年10月5日8 min
726

Claude Code 一直卡住、转圈没反应怎么办:后端不回时它要等 6 分钟,重试满 10 次可能卡一个多小时(实测)

Claude Code 转圈不动、或者停在 Retrying in 0s,多半是后端没有回数据。实测 2.1.285(API key + ANTHROPIC_BASE_URL):后端不回响应头时每次等 6 分钟(360 秒)才判超时,把 API_TIMEOUT_MS 调到 60 万、90 万也不变,只能调小;默认重试 10 次,总共可能卡一个多小时。中转站如果把回复缓冲到生成完才返回,超过 6 分钟的回复永远拿不到。按 Esc 可以随时中断。全部在本地 stub 上实测。

claude-code中转站+6
pitfalls2026年10月5日10 min
649