<!-- title: 交互式上手：对话命令与计划模式 -->

## 概述

本教程面向已经把 Claude Code 装到本地、却不知道怎么"真正用起来"的零基础开发者。学完之后，你将掌握交互式会话的完整套路：如何用自然语言对话、如何用 `@` 精准引用文件与图片、如何用斜杠命令快速操作、如何用计划模式（Plan Mode）让 Claude 先出方案再动手，以及如何管理上下文窗口避免对话变笨。适用人群：刚装好 Claude Code 的后端/前端/脚本开发者，希望从"会启动"进阶到"会指挥"。

## 前置条件

- 已安装 Claude Code 并能跑通一次 `claude` 命令（如果还没有，先完成安装教程再来）。
- 终端里有任意一个 Git 仓库或代码目录作为练手项目；没有的话，新建一个空目录放两三个源文件即可。
- 对"命令行""文件路径""Git 提交"有最基础的认识，不需要精通。
- 心态准备：把 Claude Code 当成一个**会读你代码、会改你文件、会跑你命令的搭档**，而不是一个只会聊天的机器人。

---

## 正文

### 第一步：启动交互式会话，理解"它到底在干嘛"

进入你的项目目录，直接敲：

```bash
cd ~/projects/my-app
claude
```

你会进入一个类似 REPL（交互式命令行）的界面，左下角通常显示当前模型（如 `Opus`、`Sonnet`）和当前目录。这里有一个初学者最容易忽略的核心概念：**Claude Code 跑在一个"智能体循环（agent loop）"上**。

简单说，它的运作逻辑是这样的：

1. 你输入一条消息。
2. Claude 决定要不要调用"工具"——读文件（Read）、搜索（Grep/Glob）、改文件（Edit/Write）、跑命令（Bash）等等。
3. 工具执行后，结果送回给 Claude。
4. Claude 看结果，决定是继续调工具，还是给你最终回复。
5. 循环往复，直到任务完成。

**理解这一点极其重要**：你不是在"聊天"，你是在"指挥一个有手有脚的助手干活"。它真的会打开你的 `app.py`，真的会执行 `npm test`，真的会改你的代码。所以下面所有技巧，本质上都是在帮你**更精准地下达指令、更安全地授权、更聪明地管理它的记忆**。

> 常见问题：启动后卡住、报错鉴权失败？通常是登录态丢失，退出后执行 `claude` 会引导重新登录，或先 `claude /login`。

### 第二步：第一次"像样的"对话——让它先读懂项目

很多新手一上来就说"帮我写个登录功能"，结果 Claude 两眼一抹黑乱猜一通。正确做法是**先让它建立项目认知**。在会话里输入：

```
请先看一下这个项目的整体结构，告诉我它用的技术栈、入口文件在哪、有哪些主要模块。
```

Claude 会调用 `Glob`、`Read` 工具去扫 `package.json`/`requirements.txt`、读目录树、看入口文件，然后给你一份结构化的项目摘要。

**预期结果**：它会列出类似"这是一个基于 FastAPI 的 Python 后端，入口 `main.py`，路由在 `routers/` 目录，用 SQLAlchemy 连 SQLite……"的总结。

**关键提速技巧**：第一次进项目时，敲 `/init`。这个斜杠命令会让 Claude 扫描整个仓库，自动生成一个 `CLAUDE.md` 文件，把项目结构、构建命令、测试命令、代码风格约定写进去。之后每次进入这个目录，Claude 会**自动读取** `CLAUDE.md` 作为背景知识，省去你每次重复解释。

```
/init
```

> 常见问题：`/init` 生成的内容不准怎么办？直接手动编辑 `CLAUDE.md`，它就是个普通 Markdown 文件，写什么、怎么写，你说了算。也可以用 `/memory` 命令快速打开编辑。

### 第三步：用 `@` 语法精准"喂"文件和图片

口语描述"那个处理订单的文件"很容易让 Claude 找错地方。Claude Code 支持 `@` 引用语法，能极大提升准确度：

```
帮我重构 @src/services/order.py 里的 process_refund 函数，把里面那段重复的校验逻辑提取出来。
```

输入 `@` 后，终端会弹出**文件路径自动补全**菜单，用方向键选择、Tab 确认即可，不用手敲长路径。`@` 不仅能引用单个文件，还能引用整个目录：

```
看一下 @tests/ 这个目录下的测试都是怎么写的，然后给 @src/utils/date.ts 补上同风格的单元测试。
```

**图片也支持**。当代码报错截图、UI 设计稿、报错的堆栈图片需要 Claude 看时：

- 直接把图片文件**拖拽**到终端窗口；
- 或在 macOS 上复制截图后用 `Ctrl+V`（注意 Claude Code 里粘贴图片通常是 `Ctrl+V` 而非 `Cmd+V`）；
- 或在消息里写 `@screenshots/bug.png` 引用本地图片路径。

```
这是用户反馈的白屏截图 [贴图]，结合 @src/pages/Home.tsx 帮我定位可能的原因。
```

> 常见问题：`@` 补全菜单不出现？确认你不是在复制粘贴整段文字，而是真的在终端里逐字敲 `@`。补全只在交互输入时触发。

### 第四步：斜杠命令速查——你的"控制面板"

斜杠命令（以 `/` 开头）是控制 Claude Code 本身行为的快捷方式。新手必须掌握这十个：

| 命令 | 作用 | 典型场景 |
|------|------|----------|
| `/help` | 列出所有命令与帮助 | 忘了有什么命令 |
| `/init` | 扫描仓库生成 CLAUDE.md | 首次进入新项目 |
| `/clear` | 清空当前会话上下文 | 切换到完全不相关的新任务 |
| `/compact` | 压缩对话历史，保留要点 | 对话很长、上下文快满了 |
| `/model` | 切换模型（Opus/Sonnet/Haiku） | 简单任务切 Haiku 省钱，难题切 Opus |
| `/cost` | 查看本次会话花费与 token 用量 | 控预算 |
| `/context` | 查看当前上下文窗口占用情况 | 判断要不要 compact |
| `/resume` | 恢复之前的某次会话 | 继续昨天没干完的活 |
| `/review` | 让 Claude 审查当前 Git 改动 | 提交前的自检 |
| `/permissions` | 管理工具权限白名单 | 减少反复确认弹窗 |

输入 `/` 后同样会弹出补全菜单，不用死记。

**实战建议**：把 `/clear` 和 `/compact` 当成"重置大脑"的两个档位。任务切换用 `/clear`（彻底清空），任务继续但太长用 `/compact`（智能摘要后接着干）。这两条是避免"对话越聊越笨"的关键。

### 第五步：计划模式（Plan Mode）——动手之前先出方案

这是新手最容易错过、却最能避免返工的功能。默认情况下 Claude 直接开干（直接改文件、直接跑命令）。但在复杂任务上，你希望它**先调研、先出方案、你点头了再执行**。

进入计划模式有两种方式：

1. **临时切换**：在输入框按 `Shift+Tab` 循环切换权限模式，状态栏会依次显示 `default → auto-accept edits → plan mode`。切到 plan mode 时，Claude 只读不写——它调研、读代码、思考，然后产出一份**结构化计划**等你批准。
2. **从一上来就用**：直接用关键词触发，或在启动时加 `--permission-mode plan`。

```
（切到 plan mode 后）
我想给这个 API 加一套基于 JWT 的鉴权中间件。先不要改代码，给我一个完整的实施方案：要改哪些文件、按什么顺序、有什么风险。
```

Claude 会输出类似：

```
## 实施计划
1. 新建 src/middleware/auth.py —— 实现 JWT 校验中间件
2. 修改 src/main.py —— 注册中间件，保护需要鉴权的路由
3. 新增 src/config.py 中的 SECRET_KEY 配置
4. 给 src/routes/users.py 的敏感接口加依赖注入
风险：现有未鉴权接口会被拦截，需要先确认哪些接口要放行。
```

你确认后，它会请求退出计划模式、开始执行。**不满意可以一直让它改方案，方案阶段不消耗"改动成本"**。

> 常见问题：忘了按 Shift+Tab，Claude 已经开始改文件了怎么办？立刻按 `Esc` 打断，然后说"先停，改用计划模式给我方案"。

### 第六步：上下文管理——让对话保持聪明

Claude Code 的对话有**上下文窗口上限**（不同模型不同，通常几十万 token）。一旦塞满，早期的信息会被挤出，Claude 开始"失忆"、重复犯错。判断和管理的方法：

- **监控**：隔一段时间敲 `/context`，看占用百分比。超过 70% 就要警觉。
- **压缩**：敲 `/compact`，Claude 会把前面的长对话智能摘要成要点，腾出空间。注意：`/compact` 是有损的，摘要可能丢细节，重要约定最好写进 `CLAUDE.md` 永久保存。
- **清空**：完全不相关的新任务，直接 `/clear` 开新篇章，比 compact 更干净。
- **持久化**：重要规则（命名规范、禁止行为、测试命令）写进 `CLAUDE.md`，因为它**每次会话自动加载**，不占"对话上下文"的临时额度，相当于长期记忆。

一个高效的工作节奏是：**一个独立任务一个会话，干完 `/clear`；任务太长中途 `/compact`；跨会话要保留的共识写进 `CLAUDE.md`**。

### 第七步：快捷键提速——手感拉满

| 快捷键 | 作用 |
|--------|------|
| `Esc` | 打断 Claude 当前正在做的事 |
| `Esc` `Esc` | 回退到上一条消息，编辑后重发（后悔药） |
| `Ctrl+C` | 取消当前输入的命令 |
| `Ctrl+D` | 退出 Claude Code |
| `Shift+Tab` | 循环切换权限模式（default/auto-accept/plan） |
| `Tab` | 文件名与斜杠命令自动补全 |
| `↑` / `↓` | 翻看历史输入 |
| `/vim` | 启用 Vim 风格编辑（Vim 党福音） |

`Esc Esc` 这条特别值得记住：当 Claude 走偏了，你不用从头再来，双击 Esc 跳回上一条消息，改个措辞重新发送，整个后续都会重来。这是日常调试提示词最高频的操作。

---

## 实战案例：交互式修复一个真实 Bug

假设项目里有个 `src/calculator.py`：

```python
def divide(a, b):
    return a / b
```

用户反馈"除以 0 直接崩了"。我们在交互式会话里完整走一遍。

**1. 先让 Claude 复现并定位**（不直接改，建立共识）：

```
@src/calculator.py 的 divide 函数在 b=0 时会抛 ZeroDivisionError。
先不要改代码，运行一下确认问题，然后告诉我你打算怎么修。
```

Claude 会用 Bash 工具跑一个测试复现报错，然后说明方案。

**2. 切到计划模式（Shift+Tab），让它给方案**：

```
给我修复方案：要处理哪些边界、返回什么、要不要加日志。
```

**3. 确认后切回默认模式让它动手**，它执行 Edit 工具改成：

```python
def divide(a, b):
    if b == 0:
        raise ValueError("除数不能为零")
    return a / b
```

**4. 让它自测**：

```
写一个测试用例验证修复，然后运行测试。
```

Claude 会创建测试文件、执行 `pytest`，把通过结果贴给你。

**5. 审查并提交**：

```
/review
```

它会审查这次 diff。确认没问题后你说"帮我提交"，它会执行 `git add`/`git commit`（Claude Code 默认会在执行有副作用的命令前征求你同意）。

整个过程你**没离开终端、没手敲一行代码、没手动跑测试**，但每一步都在你的掌控之中。这就是交互式驱动的威力。

---

## 工作流程图

```mermaid
flowchart TD
    A[cd 进入项目目录] --> B[启动 claude]
    B --> C{是首次进入?}
    C -->|是| D["/init 生成 CLAUDE.md"]
    C -->|否| E[开始对话]
    D --> E
    E --> F["用 @ 引用文件/图片精准下指令"]
    F --> G{任务复杂?}
    G -->|复杂| H["Shift+Tab 切计划模式"]
    H --> I["Claude 出方案 → 你批准"]
    I --> J[执行: 读/改/跑命令]
    G -->|简单| J
    J --> K{上下文快满?}
    K -->|是| L["/compact 压缩 或 /clear 重开"]
    L --> E
    K -->|否| M["/review 审查 → 提交"]
    J --> M
```

---

## 延伸阅读

- **Claude Code 官方文档**：Anthropic 文档站点的 Claude Code 章节，涵盖所有命令与配置项的权威说明。
- **CLAUDE.md 最佳实践**：学习如何写好项目记忆文件，让 Claude 长期"懂"你的项目。
- **计划模式与权限模式**：深入理解三种权限模式（default / auto-accept / plan）的安全边界。
- **斜杠命令完整列表**：在会话中输入 `/help` 即可看到当前版本支持的全部命令。
- **子代理（Subagents）与 MCP**：进阶方向，掌握后可让 Claude 调用专门工具和外部服务。

---

## 训练营适用性评估

- **适合的训练营类型**：零基础开发者入门营、企业内部 AI 编程提效培训、高校软件工程实践课的"AI 工具"模块。
- **预计教学时长**：2–3 小时（含 1 小时讲解 + 1.5 小时上机实操 + 答疑）。
- **教学形式建议**：讲一段、练一段。每个"步骤"配一个 5 分钟小练习，最后用"实战案例"作为综合考核任务。
- **前置依赖**：学员需先完成"Claude Code 安装与首跑"教程（本系列的上一节）。
- **难度评级**：⭐⭐（满分五星），纯入门，无编程门槛，但能显著拉开学员的实际使用效率。

## 参考来源

1. [Claude Code 官方文档](https://docs.claude.com/en/docs/claude-code/overview) — Anthropic 官方对交互式会话、斜杠命令、计划模式的权威说明。
2. [Claude Code 最佳实践（Anthropic 工程团队）](https://www.anthropic.com/engineering/claude-code-best-practices) — 官方工程师总结的高效使用习惯，含 CLAUDE.md 与上下文管理建议。
3. [Claude Code 交互模式与命令参考](https://docs.claude.com/en/docs/claude-code/cli-reference) — CLI 参数、权限模式、`@` 引用语法的完整参考。
4. [Claude Code 计划模式与子代理指南](https://docs.claude.com/en/docs/claude-code/sub-agents) — Plan Mode、权限切换与多代理协作的进阶说明。

> [!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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
