课程大纲 › 领域 3:Claude Code 配置与工作流

3.4 判断使用计划模式还是直接执行

タスクステートメント3.4:プランモードと直接実行のどちらを使用するかを判断する

官方大纲原文(日文):知识 4 条 · 技能 4 条

需要掌握的知识

  • プランモードは、大規模な変更、複数の有効なアプローチ、アーキテクチャ上の決定、複数ファイルの修正を伴う複雑なタスク向けに設計されていること
  • 直接実行は、単純で範囲が明確な変更に適していること(例:ある関数に単一のバリデーションチェックを追加する)
  • プランモードでは、変更を確定する前にコードベースの探索と設計を安全に行うことができ、コストのかかる手戻りを防げること
  • 冗長な調査出力を分離し、要約を返すことでメインの会話のコンテキストを保全するExploreサブエージェント

需要能做到的事

  • アーキテクチャに影響するタスクにプランモードを選択する(例:マイクロサービスの再構成、45+ファイルに影響するライブラリ移行、インフラストラクチャ要件が異なる統合アプローチの選択)
  • 内容が十分に理解されていて範囲が明確な変更に直接実行を選択する(例:スタックトレースが明確な単一ファイルのバグ修正、日付バリデーションの条件分岐の追加)
  • 冗長な調査フェーズにExploreサブエージェントを使用し、複数フェーズのタスクでコンテキストウィンドウが枯渇するのを防ぐ
  • 調査のためのプランモードと実装のための直接実行を組み合わせる(例:ライブラリ移行を計画し、その後、計画したアプローチを実行する)

课程讲解 · AI 草稿,未经人工审核 以官方文档为准

这一条考什么

考你能否根据任务性质在 Claude Code 中选择 plan mode(计划模式)还是直接执行:架构性、多方案、跨大量文件的任务先计划;范围清楚、理解充分的小改动直接做。还要知道用 Explore 子 Agent 把冗长的调查输出隔离出主上下文,以及“plan mode 调研 + 直接执行落地”的组合用法。

核心概念

plan mode 适合什么任务

plan mode 下,Claude 可以读取文件、搜索代码、分析依赖,但不会修改文件或执行有副作用的命令,最后给出一份实施计划等待你确认。适合以下特征的任务:

  • 大规模改动:库迁移影响 45 个以上文件、跨多个模块。
  • 存在多个合理方案:实时通知可以用 WebSocket、SSE 或轮询,复杂度、浏览器支持和基础设施要求各不相同。
  • 架构决策:拆分或重组微服务、引入新的数据层。
  • 多文件协同修改:改一个接口需要同步改调用方、测试、文档。

在 Claude Code 里可以用 Shift+Tab 切换到 plan mode,或启动时指定计划权限模式(如 claude --permission-mode plan)。

直接执行适合什么任务

范围明确、理解充分的改动不需要计划阶段:

  • 给某个函数加一个日期必须在未来的校验条件;
  • 堆栈信息明确指向单个文件的 bug 修复;
  • 重命名一个局部变量、补一条日志。

这类任务进 plan mode 只会增加往返和等待,没有收益。题目常把“单个文件、单个函数、加一个条件”包装得像需要深思熟虑,其实答案就是直接执行。

plan mode 的价值:安全探索,避免返工

在动手之前先探索代码库、比较方案、列出受影响的路径,可以在“改错方向”之前发现问题。对大型迁移而言,直接开始改再见招拆招,往往在第 20 个文件时才发现前面的做法与某个模块的用法不兼容,返工代价极高。plan mode 把这些发现前置,并让人类在实施前批准方向。

Explore 子 Agent:隔离冗长调查

调查阶段会产生大量 Grep 结果、文件内容和中间推理。若都留在主会话,多阶段任务还没进入实施,上下文就已经被耗尽。Claude Code 内置的 Explore 子 Agent 是一个只读的探索型子 Agent:它在独立的上下文里完成搜索和阅读,只把总结返回主会话。主会话因此能保留足够空间进行后续设计和实施。

请使用 Explore 子 Agent 调查 legacy-http 库在 services/ 下的所有用法:
- 列出调用模式的种类(回调式、Promise 式、自定义封装)
- 每种模式给出 1 个代表文件
- 只返回总结,不要贴大段代码

组合:计划调研 + 直接执行

最常见的高分模式:

  1. 进入 plan mode,探索库的使用位置,映射受影响的代码路径,制定迁移策略(先改封装层还是先改调用方、如何分批、如何验证)。
  2. 审阅并批准计划。
  3. 退出 plan mode,按计划直接执行,每批改完跑测试。

计划解决“怎么做”,直接执行解决“做出来”,两者不是二选一。

正确做法与反模式

  • 正确:微服务重组、45+ 文件的库迁移、需要在多个基础设施方案中取舍时,先用 plan mode。反模式:直接用 WebSocket 开干,“有问题再重构”;或者升级依赖后跑测试、见一个错修一个。
  • 正确:单文件、单函数的明确修改直接执行。反模式:为加一个 if 条件先进 plan mode 写详细实施策略,或开启深度思考“确保周全”。
  • 正确:冗长调查交给 Explore 子 Agent,只取回摘要。反模式:在主会话里逐个 Read 几十个文件,导致后续阶段上下文不足。
  • 正确:plan mode 制定方案后切换到直接执行实施。反模式:把整个迁移都放在 plan mode 里来回讨论而迟迟不落地,或者完全跳过计划。

常见陷阱

  • “直接执行,并让 Claude 自己分析所有方案后选一个实现”:多方案且需团队批准的场景,应该用 plan mode 输出选项供决策,而不是让模型在执行中自行拍板。
  • “先实现最简单的方案,以后再升级”:在有基础设施差异的架构决策中,这是返工的根源。
  • “把迁移变化封装成斜杠命令再逐个文件执行”:机械套用无法处理不同模块的不同用法,缺少探索和规划。
  • “把迁移指南粘进提示,直接执行改全部用法”:跳过了对实际代码使用方式的探索。
  • 小改动选 plan mode 或扩展思考:题干强调“单个文件中的一个函数”“明确的堆栈”时,这些都是干扰项。
  • 以为 plan mode 本身能防止上下文耗尽:plan mode 防止过早修改;防止调查输出撑爆上下文的是 Explore 子 Agent。

实操练习

目标:对同一仓库分别做一个小修复和一个迁移规划,体会两种模式的差异。

  1. 小修复:直接执行,让 Claude 给 validate_booking 加一个“日期必须在未来”的检查,并运行测试。
  2. 大任务:以 plan mode 启动,要求它调查某个库的全部用法并给出分批迁移计划,调查部分交给 Explore 子 Agent。
  3. 审阅计划中“受影响文件清单”和“分批顺序”,批准后退出 plan mode。
  4. 在普通模式下要求“按计划执行第 1 批”,跑测试确认。
# 小修复:直接执行
claude -p "在 src/booking.py 的 validate_booking 中加入检查:booking.date 必须晚于今天,否则抛 ValueError。然后运行 pytest tests/test_booking.py" \
  --allowedTools "Read,Edit,Bash(pytest:*)"

# 大任务:计划模式(只读,产出计划)
claude --permission-mode plan
# 在会话中输入:
# 使用 Explore 子 Agent 调查 legacy-http 在仓库中的所有用法,只返回摘要;
# 然后给出迁移到 new-http 的分批计划,包括风险、验证方式和每批涉及的文件。

检查结果:小修复一次完成且测试通过;计划模式的会话中没有任何文件被修改(git status 干净),主会话里只有调查摘要而不是大段文件内容。

自测清单

  • 哪四类任务特征提示你应该使用 plan mode?
  • 为什么“给一个函数加一个校验条件”不应进入 plan mode?
  • plan mode 如何减少返工?它允许和禁止 Claude 做什么?
  • Explore 子 Agent 解决的是什么问题?它返回给主会话的是什么?
  • 描述一个“plan mode 调研 + 直接执行实施”的完整流程。

对应题目(3)

题目归类由 AI 判断,仅供参考。

练习这 3 道题