Claude Code 交互模式

与网页版 Claude 不同,Claude Code 并不是一个单纯的聊天工具,而是一个具备工程上下文、权限控制和执行能力的开发协作系统
因此,它在处理任务时,引入了三种核心的思维模式

  • Ask(询问)
  • Plan(规划)
  • Edit(编辑)

理解这三种模式的边界与职责,是高效、安全使用 Claude Code 的关键。

终端执行其实不用手动切换,Claude 会自动切换,在 VS Code 插件中可以手动切换模式:


三大交互模式详解

在终端中使用 Claude Code 时,你不需要手动切换模式开关,Claude 会根据你的指令内容,自动判断当前应进入哪一种模式。

不过,作为使用者,你必须在 Prompt 中清楚表达自己的意图,否则 Claude 很容易做出与你预期不一致的行为。

1、Ask 模式:只看不动(只读分析)

Ask 模式是 Claude Code 的默认安全模式。

使用场景

当你处于以下状态时,应优先使用 Ask 模式:

  • 看不懂现有代码
  • 刚接手一个新项目
  • 想定位 Bug 的原因,但还没想好怎么修
  • 想确认某段逻辑是否合理

模式特点

  • Claude 可以读取代码
  • 可以进行分析、解释、推理
  • 绝对不会修改任何文件
  • 不会执行任何 Shell 命令

你可以把 Ask 模式理解为:

一位经验丰富、但双手放在背后的高级工程师。

示例指令

解释一下 src/auth.ts 里的 JWT 验证流程
在这个项目里,数据库连接是在哪里初始化的?
这段代码为什么在高并发下可能出问题?

专业建议:
不确定要不要改代码时,一律先 Ask。


2、Plan 模式:谋定而后动(只规划,不执行)

Plan 模式是 Claude Code 中最像架构师思维的模式。

使用场景

当你面对的是复杂或影响范围较大的改动时,应该使用 Plan 模式,例如:

  • 新增一个核心模块
  • 重构已有接口或业务流程
  • 引入新技术(缓存、中间件、鉴权方案等)
  • 涉及多个文件、多个层级的修改

模式特点

  • Claude 不会直接改代码
  • 会先给出完整的实施方案
  • 通常以步骤列表(TODO List)的形式呈现
  • 你确认方案后,才进入 Edit 阶段执行

Plan 模式的核心价值在于:

把先写代码变成先达成共识。

示例指令

我想给现有的 API 增加一个 Redis 缓存层,请先给我一个实施方案
计划一下如何把这个项目的样式从 CSS 改为 Tailwind CSS
如果要拆分这个模块,合理的步骤应该是什么?

实战建议:
Plan 模式用得越多,返工概率就越低。

3、Edit 模式:直接执行(可写代码)

Edit 模式是 Claude Code 真正动手的阶段。

使用场景

当你已经明确知道:

  • 要改哪
  • 改成什么
  • 改动风险可控

此时就可以直接进入 Edit 模式。

模式特点

  • Claude 会定位相关文件
  • 生成精确的 Diff(差异修改)
  • 可能会请求执行测试、构建等命令
  • 所有写入操作都需要你确认

Edit 模式下,你的角色是:

代码的最终审查者,而不是旁观者。

示例指令

把登录接口的响应码从 200 改为 201
修复 main.py 第 45 行的类型错误
在不改变现有行为的前提下,重构这个函数的可读性

专业习惯:
描述越具体,Claude 改得越安全。


核心斜杠命令(/

斜杠命令用于控制 Claude Code 的会话状态和行为,而不是写业务代码。

在终端中输入 / 即可触发。

命令 用途 专家提示
/help 查看所有命令 第一次使用必看
/cost 查看当前会话消耗 防止无意识烧 Token
/compact 压缩上下文 对话变长、变慢时使用
/reset 重置会话 切换任务时非常重要
/docs 索引文档 让 Claude 参考指定文档
/review 代码审查 检查 Git 暂存区改动

建议:
/cost 和 /compact 是长期使用者的高频命令。


一个典型的交互流程示例

真实开发中,三种模式往往是连续使用的

示例流程

1、Ask

为什么我的注册接口一直返回 400 错误?

Claude 分析代码和日志,指出是缺少 email 校验。

2、Plan

我想添加 email 格式校验,并把错误信息规范化,你打算怎么做?

Claude 给出步骤:修改校验逻辑 → 更新测试 → 调整返回结构。

3、Edit

按计划执行吧

Claude 修改文件,并展示 Diff 供你确认。

Ask 是搞清楚问题,Plan 是避免走弯路,Edit 是谨慎执行。


交互中的权限确认机制

Claude Code 对系统操作非常克制,任何有风险的行为都会请求你的确认。

常见权限确认

  • 写入文件
    会展示代码 Diff,你需要确认后才能写入。

  • 执行命令
    例如 npm testpnpm build,都会明确询问是否允许。

重要提醒:
永远不要在没看 Diff 的情况下直接确认。
Claude 很强,但依然可能产生错误或幻觉。