首页 › tutorials › 计划模式入门:先审阅方案再动手

概述

本教程面向"装好了 Claude Code 却不知道第一句该说什么"的零基础用户。它不重复安装、认证、首个项目提交这些已被反复讲过的环节,而是聚焦真正的日常基本功:怎么用斜杠命令控制会话、用 @ 精准投喂上下文、用键盘中途接管,以及——核心——用计划模式(Plan Mode)在动手前先审阅方案。学完你能安全地让 AI 改代码:先看方案、再批准、可随时回退。

前置条件

条目 说明
Claude Code 版本 v2.1.x 及以上(本教程命令表对齐 2026 年 6 月版本,默认模型 Opus 4.8)
完成首次认证 已用 /login 登录,或在控制台通过订阅/API Key 接入
一个 Git 仓库 实战案例需要可提交的工作区,方便用 /diff、/rewind 体验回退
终端 macOS/Linux 任一现代终端,或 Windows Terminal;VS Code/Cursor 内置终端亦可
Node.js 仅当你要运行实战案例里的小项目时需要

确认安装无误的最快方式:进入会话后输入 /doctor,它会用状态图标逐项检查版本、账户、连接性,发现问题按 f 让 Claude 帮你修。


一、先搞懂"对话循环"

很多人卡住,是因为把 Claude Code 当成了搜索引擎。它其实是一个会自己动手的智能体(agentic)循环:

你输入一条消息 → Claude 思考 → 调用工具(读文件/改代码/跑命令)→
回到你面前确认(或自动继续)→ 输出结果 → 等你下一条消息

关键差别在于"调用工具"这一步。Claude 不会只是"回答",它会真实地读你的文件、改你的文件、在你的终端跑命令。每一次工具调用都会显示在对话流里,你能清楚看到它"做了什么"。这意味着对新手最重要的不是学提示词,而是学如何控制这个循环——批准什么、拦截什么、回退什么。

记住这条主线,后面所有命令和快捷键都围绕它展开:投喂上下文 → 驱动循环 → 中途接管 → 收尾验证。


二、用 / 召唤命令面板

在任何空提示符处敲一个 /,Claude Code 会弹出当前环境里所有可用命令——内置的、你装的插件带的、MCP 服务器提供的,一个不漏。继续敲字母就能过滤。

⚠️ 规则:命令只在消息开头被识别,命令名后面跟着的文字会作为参数传给它。

新手最常犯的错,是用很笨的方式做了一件已经有命令的事。下面这张表按"你在循环的哪个阶段"来组织高频命令:

起步 / 项目初始化

命令 作用
/init 扫描代码库,生成一份起始 CLAUDE.md 项目记忆
/memory 编辑 CLAUDE.md、开关自动记忆、查看记忆条目
/permissions 管理允许/询问/拒绝的工具权限规则(别名 /allowed-tools)

会话进行中(驱动循环)

命令 作用
/plan [描述] 直接进入计划模式,可附带任务,如 /plan 修复登录 bug
/model 切换模型并存为新会话默认
/effort [low\|medium\|high\|xhigh\|max\|ultracode] 调整推理投入;ultracode = xhigh 推理 + 自动工作流编排
/context 用彩色网格可视化上下文占用,指出哪里在吃 token
/compact [指令] 总结当前对话以释放上下文,可指定保留重点
/btw <问题> 问一个不打进主对话、不占上下文的"顺便问一句"

收尾 / 验证

命令 作用
/diff 打开交互式差异查看器,看未提交改动和逐轮 diff
/code-review [级别] [--fix] 审查 diff 找正确性 bug 与可清理项,--fix 直接应用
/run 启动并驱动你的项目 App,确认改动真的跑通(非仅靠测试)
/usage 查看本次会话花费与套餐用量(别名 /cost、/stats)

会话之间 / 出问题时

命令 作用
/clear [名字] 开启全新对话、清空上下文,项目记忆保留(别名 /reset、/new)
/resume 恢复之前的会话继续(别名 /continue)
/rewind 把对话和/或代码回滚到某个检查点(别名 /checkpoint、/undo)
/doctor 诊断安装与环境问题

预期结果:敲 / 后看到一长串带简短说明的列表;敲 /co 会过滤出 /code-review、/compact、/context、/copy 等。

常见问题


三、用 @ 精准投喂上下文

@ 是新手最该早点学会的符号。与其复制粘贴大段代码,不如直接指路。

写法 效果
@src/utils/auth.js 把该文件完整内容注入上下文
@src/utils/ 给出该目录的文件清单(不含文件内容)
@a.js 和 @b.js 一条消息引用多个文件
@server:protocol://resource/path 引用 MCP 资源,如 @github:issue://123

操作要点

实战示范

帮我看一下 @src/routes/register.js,给注册接口加邮箱格式校验,
校验失败返回 400。先用计划模式给我方案。

预期结果:Claude 读取该文件,结合同目录约定,进入计划模式给出方案,而不是凭空猜你的代码长什么样。

常见问题


四、图片输入三法

Claude Code 支持视觉输入,对前端、设计还原、报错截图场景极有用。三种方式:

  1. 拖拽:把图片文件直接拖进终端窗口(同 @ 路径机制)。
  2. 剪贴板粘贴:截图后直接在提示符处粘贴。
  3. 文件路径:在消息里写图片路径,如 照着 @mocks/login.png 还原这个登录页。

适用场景

场景 推荐方式
浏览器报错截图 剪贴板粘贴
设计稿 PNG 拖拽或路径
多张参考图对比 多个路径一起引用

常见问题


五、键盘掌控:三键走天下

新手最高频的操作其实就靠几个键。把它练成肌肉记忆,体验会质变。

按键 作用
Shift + Tab 循环切换权限模式:default → acceptEdits → plan(开启 auto 后还会经过 auto,启用时含 bypassPermissions)
Esc 中途打断 Claude,立刻夺回输入权
Esc 然后 Esc 打开回退/检查点菜单,把会话滚回更早状态
Ctrl + C 取消当前输入;空提示符下退出
Ctrl + R 反向搜索你的提示历史
Ctrl + O 展开成详细完整 transcript 视图
↑ / ↓ 翻阅提示历史
? 显示当前终端/IDE 的快捷键清单

最重要的一个键:Shift + Tab。它串起了本教程的核心——权限模式三态。下文专门讲。

常见问题


六、计划模式:新手的安全网

这是整篇教程的重心。计划模式(Plan Mode)是一种只读模式:Claude 会探索、解释、提方案,但不编辑文件、不跑命令。对新手,它是"先看清楚它想干什么再放它动手"的安全闸。

三种权限模式怎么转

Shift + Tab 在三态间循环(模式会显示在输入框附近):

flowchart LR
    A["默认模式<br/>default<br/>每次操作都问你"] -->|Shift+Tab| B["接受编辑模式<br/>acceptEdits<br/>自动批准文件编辑<br/>命令仍要确认"]
    B -->|Shift+Tab| C["计划模式<br/>plan<br/>只读·只提方案"]
    C -->|Shift+Tab| A
模式 文件编辑 Shell 命令 适合
default 每个都问 每个都问 新手默认、不熟悉的代码库
acceptEdits 自动批准 仍要确认 信任方向后想少点确认
plan 禁止 禁止 大改动前先审方案

进入计划模式有两种方式

计划模式工作流

在计划模式里,你描述目标(如"给注册接口加邮箱校验"),Claude 会:

  1. 探索:读相关文件、依赖、上下文(你可以用 @ 引导它)。
  2. 提案:输出结构化方案——改哪些文件、思路、步骤、权衡、备选。
  3. 审阅与迭代:你觉得哪里不对,直接追问,它只读不改地继续完善。
  4. 退出并执行:满意后,Claude 用退出计划模式的机制请你批准;你批准后切回默认/acceptEdits 模式,它才真正动手。

什么时候用、什么时候跳过

情况 建议
不熟悉的代码库、跨多文件改动、有风险 用计划模式
改一行拼写、加一句注释、显而易见的小修 跳过,直接动手
想顺便学"老手会怎么拆这个问题" 用,借它的方案学拆解

配合 /effort 调推理深度:方案复杂时,/effort high 让它想得更深;简单任务 /effort low 省时省钱。ultracode 则是"xhigh 推理 + 自动多智能体工作流编排",留给大型跨库改造。

常见问题


七、上下文不爆缸:/context、/compact、/rewind

上下文窗口(context window)是模型一次能"放在脑子里"的全部文本——你的提示、它的回复、读过的文件。满了之后旧内容会被压缩或丢弃。新手常在不知不觉中把它塞满,导致 Claude "忘事"。

三个保命命令

命令 何时用
/context 想知道上下文被谁吃了(哪个工具、哪段记忆)
/compact 对话变长时,把前面总结掉,腾出空间继续同一对话
/clear 换一个全新任务时,清空历史(项目记忆 CLAUDE.md 保留)

区分:/compact 是"在同一段对话里瘦身";/clear 是"开新对话"。新手常误用 /clear 把还想用的上下文丢了。

顺手两招

常见问题


实战案例:给注册接口加邮箱校验(计划模式闭环)

下面是一个完整、可复现的小闭环,演示"计划 → 审阅 → 执行 → 验证"。假定你有一个极简 Node.js 项目,文件 src/routes/register.js:

// src/routes/register.js
import express from "express";
const router = express.Router();

router.post("/register", (req, res) => {
  const { email, password } = req.body;
  // TODO: 缺少邮箱格式校验
  const user = { email, password };
  // ...保存用户...
  res.status(201).json({ ok: true, user });
});

export default router;

第 1 步:进入计划模式并描述目标

按 Shift + Tab 切到 plan(输入框提示会显示 plan mode),然后输入:

参考 @src/routes/register.js,给 /register 加邮箱格式校验:
- 不合法返回 400 和 { error: "invalid email" }
- 合法才继续创建用户
先用计划模式给我方案,别动代码。

预期结果(Claude 的方案,示意)

方案:
1. 在 register.js 顶部加正则常量 EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
2. 在解构后、保存前加校验分支,不满足则 return res.status(400).json(...)
3. 不引入新依赖,单文件内完成
权衡:正则无法覆盖 RFC 全集,但对常见输入足够;如需严格可后加 validator。
将修改文件:src/routes/register.js(仅 1 个文件)

第 2 步:审阅与迭代

若你想让它顺带加单元测试,追问:

方案里再加一步:用 node:test 写 3 个用例(合法/缺@/空),放 tests/register.test.js。

Claude 仍只在计划模式里更新方案,不落盘。

第 3 步:批准并执行

满意后,批准退出计划模式。Claude 会请求执行权限——批准(或先 Shift + Tab 切 acceptEdits 免逐一确认)。它落盘两个文件:

// 改动后的 register.js 关键片段
const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

router.post("/register", (req, res) => {
  const { email, password } = req.body;
  if (!EMAIL_RE.test(email || "")) {
    return res.status(400).json({ error: "invalid email" });
  }
  const user = { email, password };
  res.status(201).json({ ok: true, user });
});

第 4 步:验证

运行 tests/register.test.js,告诉我结果。

或用 /run 让它启动项目、实际打一个非法邮箱请求确认返回 400。

第 5 步:收尾

这个闭环的价值在于:全程你都在审阅,没有任何一步是 Claude 偷偷做的。这正是计划模式给新手的底气。


工作流程图

下面这张图把整篇教程的"对话循环 + 计划模式"串成一条主线:

flowchart TD
    Start(["启动 claude"]) --> Input["组织输入<br/>/ 命令 · @ 文件 · 图片"]
    Input --> Mode{"当前权限模式?"}
    Mode -->|plan 计划模式| Explore["只读探索<br/>读文件·理依赖"]
    Explore --> Propose["产出结构化方案"]
    Propose --> Review{"方案 OK?"}
    Review -->|否·追问| Explore
    Review -->|是·批准| ExitPlan["退出计划模式"]
    Mode -->|default/acceptEdits| Exec["执行工具调用<br/>读/改/跑命令"]
    ExitPlan --> Exec
    Exec --> Confirm{"需要批准?"}
    Confirm -->|是| Approve["你逐项批准"]
    Confirm -->|acceptEdits 编辑| Exec
    Approve --> Exec
    Exec --> Verify["验证<br/>/diff · /run · 测试"]
    Verify --> Done{"满意?"}
    Done -->|否| Rewind["/rewind 回退<br/>或 Esc Esc"]
    Rewind --> Input
    Done -->|是| Ship["/usage 看花费 · git 提交"]
    Ship --> End(["结束 / /clear 新任务"])

    Intercept["Esc 中途打断<br/>Ctrl+R 翻历史<br/>/compact 瘦身"] -.随时介入.-> Input

延伸阅读


训练营适用性评估

维度 评估
适合的训练营类型 ① 企业新人入职营(让新人安全上手内部 AI 工具);② 编程训练营(学 AI 辅助编码的安全姿势);③ AI 工具速成营(半天工作坊)
学员基础 零基础可用,但"实战案例"环节需看得懂一段简单 JavaScript/Node.js
教学时长 建议 3 小时:1h 概念与命令演示 + 1h 计划模式与键盘实操 + 1h 完整闭环练手
教学形式 演示为主、跟练为辅;每个学员准备一个自己的小 Git 仓库现场跑闭环
验收标准 学员能独立完成"计划 → 审阅 → 执行 → /diff 验证 → /rewind 回退"全流程,并能说出三种权限模式的区别
风险点 学员易把 acceptEdits/bypassPermissions 当默认,需强调先在 default/plan 下养成审阅习惯

参考来源

  1. Commands — Claude Code Docs — 官方命令完整参考(含内置命令与打包技能,对齐 v2.1.x)
  2. Claude Code cheatsheet — Claude Help Center — 官方术语表、核心命令与键盘快捷键速查
  3. Referencing Files and Resources in Claude Code — Steve Kinney — @ 引用语法、目录与 MCP 资源的实操讲解(2026-03 更新)
  4. Claude Code Cheat Sheet - Shortcuts, Commands, Tips (2026) — ComputingForGeeks — 社区维护的 2.1.x 速查表,含 Opus 4.8 默认与后台智能体说明
  5. Claude Code Image Attachment Guide — SmartScope — 图片输入三法(拖拽/粘贴/路径)及适用场景对比

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入