aaihubhub
Claude Code 小白进阶课:从第一次对话到可靠协作 · 第 14 课 / 共 20 课 ↗ AI 教程

14|Planning Mode:复杂修改前先审查路线

用规划模式、思考预算与审查节点控制复杂修改。

kimi
LESSON BRIEFING14 / 20

用规划模式、思考预算与审查节点控制复杂修改。

主治医生负责诊断与最终方案,影像科和检验科各自完成独立检查。子代理应有明确输入、有限范围和可核验输出;共享文件上的重叠修改反而会制造冲突。

本课交付物

把一个只读代码审查拆为安全、测试、可访问性三项独立检查,统一输出格式,最后由主任务去重和按证据合并。


核心讲解

这是一份关于 Claude Code 高级能力的完整指南,涵盖 planning mode、extended thinking、auto mode、后台任务、权限模式、打印模式(非交互)、会话管理、交互功能、消息通道(Channels)、语音输入、远程控制、网页会话、桌面应用、任务列表、提示词建议、Git 工作树、沙盒、受管设置和配置。

目录

  1. 概览
  2. 规划模式
  3. 扩展思考
  4. 自动模式
  5. 后台任务
  6. 定时任务
  7. 权限模式
  8. 无头模式
  9. 会话管理
  10. 交互功能
  11. 语音输入
  12. 消息通道(Channels)
  13. Chrome 集成
  14. 远程控制
  15. 网页会话
  16. 桌面应用
  17. 任务列表
  18. 提示词建议
  19. Git 工作树(Git Worktrees)
  20. 沙盒
  21. 企业受管设置
  22. 配置与设置
  23. 最佳实践
  24. 更多资源

概览

Claude Code 的高级功能把基础能力扩展到了规划、推理、自动化和控制层面。它们能支持更复杂的开发任务、代码审查、自动化流程以及多会话管理。

核心高级功能包括:

  • Planning Mode:先写详细实现计划,再开始编码
  • Extended Thinking:对复杂问题进行更深入的推理
  • Auto Mode:由后台安全分类器在每一步执行前进行审查(Research Preview)
  • Background Tasks:长时间任务不阻塞对话
  • Permission Modes:控制 Claude 可以做什么(defaultacceptEditsplanautodontAskbypassPermissions
  • Print Mode:非交互式运行,适合自动化和 CI/CD(claude -p
  • Session Management:管理多个会话
  • Interactive Features:快捷键、多行输入、历史记录
  • Voice Dictation:按住说话,支持 20 种语言的语音识别
  • Channels:消息通道,允许 MCP server 向运行中的会话推送消息(Research Preview)
  • Remote Control:从 Claude.ai 或 Claude app 控制本地会话
  • Web Sessions:在浏览器中运行 Claude Code
  • Desktop App:支持可视化 diff 审查和多会话的独立应用
  • Task List:跨 context compaction 持久跟踪任务
  • Prompt Suggestions:根据上下文智能推荐命令
  • Git 工作树(Git Worktrees):隔离的 worktree 分支,适合并行工作
  • Sandboxing:操作系统级文件系统和网络隔离
  • Managed Settings:通过 plist、Registry 或受管文件进行企业部署
  • Configuration:用 JSON 配置文件定制行为

规划模式

更多规划示例见 planning-mode-examples.md。

Planning mode 允许 Claude 在真正实现前先梳理复杂任务,生成一份你可以审阅并批准的详细计划。

什么是 Planning Mode?

Planning mode 是一个两阶段流程:

  1. 规划阶段:Claude 分析任务并生成详细实现计划
  2. 实现阶段:在你批准后,Claude 执行计划

什么时候使用 Planning Mode

✅ 适合:

  • 复杂的多文件重构
  • 新功能开发
  • 架构调整
  • 数据库迁移
  • 大型 API 重设计

❌ 不建议:

  • 简单 bug 修复
  • 格式化修改
  • 单文件编辑
  • 快速查询

如何启动 Planning Mode

Slash command:

/plan Implement user authentication system

CLI 参数:

claude --permission-mode plan

设为默认:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

快捷键:

  • Shift + Tab - 切换权限模式(包括 plan)
  • Alt + M - 切换权限模式(Windows/Linux)

Planning Mode 的好处

  • 结构化实施方式:把实现步骤拆得更清楚
  • 审阅和批准:先看计划,再执行
  • 风险识别:先发现潜在问题
  • 阶段清晰:有明确的里程碑和阶段划分

示例:功能实现

User: /plan Add a real-time notification system

Claude: 我会为实时通知系统制定计划。

## 实现计划

### 阶段 1:基础设施
1. 安装 WebSocket 库(socket.io)
2. 搭建 WebSocket server
3. 配置连接管理

### 阶段 2:后端
4. 创建通知服务
5. 实现通知队列
6. 为通知添加数据库 schema
7. 创建 API 端点

### 阶段 3:前端
8. 搭建 WebSocket client
9. 创建通知 UI 组件
10. 实现通知状态管理
11. 添加通知权限

### 阶段 4:测试与发布
12. 编写单元测试
13. 编写集成测试
14. 更新文档
15. 部署到 staging

预计时间:3-4 小时
需要修改的文件:12 个
需要创建的新文件:8 个

准备继续吗?(yes/no/modify plan)

计划修改

User: 修改计划 - 先跳过队列,后面再加

Claude: 已更新计划:
[展示删除队列后的计划]

User: 看起来不错,继续

Claude: [按修改后的计划开始实现]

Planning Mode 配置

你可以通过 CLI 参数或 slash command 启用 planning mode:

# 通过 CLI 启用 plan mode
claude --permission-mode plan

# 或在 REPL 里使用 /plan
/plan Implement user authentication system

规划专用模型别名:使用 opusplan,规划用 Opus,执行用 Sonnet:

claude --model opusplan "design and implement the new API"

外部编辑计划:按 Ctrl+G 可以把当前计划打开到外部编辑器里进行更详细的修改。

扩展思考

Extended thinking 让 Claude 在给出解决方案前,花更多时间进行复杂推理。

什么是 Extended Thinking?

这是一个有意识的、分步骤的推理过程,Claude 会:

  • 拆解复杂问题
  • 比较多种方案
  • 评估权衡
  • 推导边界情况

如何启用

快捷键:

  • Option + T(macOS)/ Alt + T(Windows/Linux)- 切换 extended thinking

自动启用:

  • 对所有模型默认开启(Opus 4.6、Sonnet 4.6、Haiku 4.5)
  • Opus 4.6 支持自适应推理,effort 等级为 low(○)、medium(◐)、high(●)、max(仅 Opus 4.6)

好处

  • 更适合复杂问题
  • 更容易发现边界条件
  • 便于比较多个方案
  • 输出通常更稳健

示例:架构决策

Context Analysis
Approach 1: Microservices
Approach 2: Monolith
Decision Factors
Recommendation

配置

{
  "thinking": {
    "enabled": true,
    "effort": "high"
  }
}

自动模式

Auto mode 是一个研究预览功能。它会在每个动作执行前,用后台安全分类器评估风险,帮助你在自动化和安全之间取得平衡。

需求

  • 支持 auto mode 的 Claude Code 版本
  • 合适的权限和配置

启用方式

# 用 CLI 解锁 auto mode
claude --enable-auto-mode

# 然后在 REPL 中用 Shift+Tab 切换到它

分类器如何工作

在执行工具前,后台分类器会判断这个动作是否安全、是否需要提示、是否应该被阻止。

默认阻止的动作

  • 明显危险的文件操作
  • 高风险 shell 命令
  • 可能泄露凭据的操作

默认允许的动作

  • 只读检查
  • 常规分析
  • 低风险修改

配置 Auto Mode

Auto mode 可以在设置中进一步约束、放宽或与权限模式结合使用。

回退行为

如果分类器无法判定,Claude 会回退到更保守的权限处理方式。

预置一份类似 Auto-Mode 的保守权限基线

# 先预览将要添加的权限(不会写入)

# 应用保守基线

# 只有在需要时再逐步增加能力

后台任务

后台任务允许 Claude 在不阻塞对话的情况下运行长时间操作。

什么是后台任务?

后台任务适合长时间运行的工作,例如构建、测试、下载、扫描或并行分析。你可以把它们交给 Claude,让对话继续保持响应。

启动后台任务

你可以从命令、计划或工具链中启动后台任务,让 Claude 在后台继续工作。

管理后台任务

  • 查看任务状态
  • 中止任务
  • 等待任务完成
  • 从结果中恢复上下文

示例:并行开发

任务 A:运行测试
任务 B:生成文档
任务 C:执行安全扫描

配置

后台任务的超时、并发和通知行为都可以在设置中调整。

定时任务

Scheduled tasks 让 Claude 按计划重复执行某些提示词或任务。

/loop 命令

# 显式间隔
/loop 10m Run tests and report failures

# 自然语言
/loop every day at 9am check release notes

一次性提醒

/schedule "remind me to review the PR in 30 minutes"

管理定时任务

  • 查看任务列表
  • 修改执行频率
  • 暂停或取消任务

行为细节

定时任务会遵循当前会话与权限配置,并按计划触发执行。

云端定时任务

部分场景可以在云端环境中运行调度任务。

禁用定时任务

如果你不希望自动触发,关闭相关设置即可。

示例:监控部署

每 5 分钟检查一次部署状态,直到 health check 通过。

权限模式

Permission modes 决定 Claude 可以直接执行哪些操作。

可用模式

  • default
  • acceptEdits
  • plan
  • auto
  • dontAsk
  • bypassPermissions

启用方式

可以通过命令行、设置或会话中的快捷操作切换权限模式。

示例

Default Mode

默认的平衡模式,必要时会询问权限。

Plan Mode

只做规划,不直接执行高风险改动。

Accept Edits Mode

更偏向自动接受编辑,适合受控环境。

使用场景

  • 代码审查
  • 自动化重构
  • CI/CD
  • 高风险操作前的审批流程

无头模式

Headless mode 指非交互式运行 Claude Code,常用于自动化和 CI/CD。

什么是 Print Mode?

Print mode 就是 claude -p:给一个任务,输出结果,然后退出。

在 Print Mode 中运行

# 运行指定任务
claude -p "run tests and summarize failures"

# 处理管道内容
cat logs.txt | claude -p "find the root cause"

# CI/CD 集成
claude -p "review this diff and return JSON"

其他示例

# 捕获输出
claude -p "analyze this code" > report.txt

# 结构化输出
claude -p --output-format json "list files"

# 标准输入
echo "hello" | claude -p "translate to Chinese"

CI/CD 示例

# .github/workflows/code-review.yml

Print Mode 配置

  • 限制自主回合数
  • 使用结构化 JSON 输出
  • 启用 schema 验证
  • 禁用会话持久化

会话管理

会话管理用于在多个会话之间恢复、重命名、分叉和持续工作。

常用命令

  • /resume
  • /rename
  • /fork
  • claude -c
  • claude -r

恢复会话

# 继续最后一次对话
claude -c

# 恢复指定名称或 ID 的会话
claude -r "feature-auth"

分叉会话

# 恢复并分叉,适合实验
claude -r "feature-auth" --fork

会话持久化

你可以选择保留、继续或重建会话上下文。

交互功能

交互功能包括快捷键、多行输入、历史记录、Vim 模式和 Bash 模式等。

快捷键

常用快捷键用于切换模式、编辑输入、查看历史和控制输出。

自定义快捷键

你可以在设置中绑定自己的按键组合。

可用上下文

不同上下文会影响快捷键的可用性和行为。

Chord 支持

支持组合按键触发复杂操作。

保留键与冲突键

某些按键会被系统或终端占用,需要避免冲突。

Tab 补全

输入命令、参数或路径时会提供补全建议。

命令历史

Claude 会保留历史记录,方便你快速重用之前的输入。

多行输入

第一行
第二行
第三行

行内编辑

支持在输入过程中编辑中间内容。

Vim 模式

如果你熟悉 Vim,可以启用类似的编辑体验。

Bash 模式

可在会话中直接进入更偏 shell 风格的操作方式。

语音输入

语音输入支持按住说话和多语言识别,适合快速记录想法或在不方便键盘输入时使用。

如何启用

在设置中打开语音输入即可。

特性

  • 支持按住说话
  • 支持 20 种语言的语音识别
  • 适合快速口述任务

配置

可在 settings 中控制灵敏度、语言和输入行为。


本站实战工作台

多一个 Agent 不等于快一倍

子代理适合独立、边界清楚、输出可合并的工作。安全审查、测试覆盖与可访问性检查可以并行读取同一差异;两个代理同时修改同一个组件则会争夺上下文和文件,最终由你处理冲突。

像专科会诊一样定义任务

主任务拥有最终目标与取舍。每个子任务收到明确输入、只读或独立写入范围、统一报告格式和停止条件。不要只说“检查一下安全”,而要给威胁范围、严重度标准与证据要求。

输入:当前 diff + 相关认证文件
范围:只读,不扫描依赖目录
输出:severity / file / line / exploit path / fix
停止:没有证据不报问题;发现密钥只报位置不复制值

三路只读审查实验

对同一个小 PR 分别运行安全、测试、可访问性审查。要求所有报告使用同一 JSON 或 Markdown 表格。主任务合并时去重:同一根因只保留证据最强的一条;意见冲突时回到代码、标准或可复现实验,不按多数票。

记录每个子任务读取的文件和耗时。若三个代理都重新理解整个仓库,拆分成本可能高于收益。下次应提供共享的事实摘要,但不要把一个代理未经验证的结论当成所有人的事实。

什么时候必须顺序执行

后一个任务依赖前一个设计决策、两个任务修改同一接口、验收共享同一外部环境时,顺序更安全。先稳定契约,再并行实现消费者;不要让各代理各自发明接口。

权限不会因委派而扩大

主任务无权做的事,子代理也无权做。传入最小文件与工具,避免复制整个对话中的密钥或个人数据。对子代理输出仍要验证,因为专门上下文提高专注度,不提供正确性保证。

交付协议

提交 delegation-map.md,说明为什么拆、每个任务的输入输出、依赖、合并规则与最终负责人。成功不是“启动了三个 Agent”,而是更快得到三份互补、可核验、无冲突的证据。