计划模式:三思而后行,一次执行
Source: Dev.to
请提供您希望翻译的完整文本内容,我将按照要求将其翻译为简体中文并保留原有的格式、Markdown 语法以及技术术语。谢谢!
在行动前先清除战争迷雾
“快速行动,打破常规”有其适用之处。但在复杂的代码库中,快速前进往往意味着破坏你甚至不知道存在的东西。你正在重构的那个 API 端点?它被 47 处调用,包括你三个月前忘记的一个 webhook。
Source:
什么是计划模式?
计划模式让 Claude 在不做任何更改的情况下读取、搜索、分析并推理整个代码库。这是一个侦察阶段,帮助你在执行任何修改之前形成完整的思维模型。
-
只读访问 – Claude 可以浏览文件、追踪依赖并运行分析,但不能写入或执行会改变状态的命令。
-
切换开/关
Shift+Tab, Shift+Tab → 激活计划模式 Shift+Tab → 返回普通(执行)模式
当计划模式激活时,你会看到指示器:
🔍 PLAN MODE
此时你可以提出开放式问题,例如:
- “将系统从 REST 迁移到 GraphQL 会有哪些影响?”
- “分析我们认证系统中的数据流向。”
- “找出所有处理支付的地方,并解释每个地方的错误处理方式。”
Claude 将返回详细的分析而不触碰任何文件。
切换到执行
一旦收集到所需的洞见,切换回普通模式:
Shift+Tab → Normal Mode (or Act Mode)
Claude 恢复写入权限,您可以自信地发出具体的更改请求。
默认使用计划模式的好处
1. 减少焦虑与过度规范
计划模式消除了意外副作用的担忧,让你专注于想要了解的内容,而不是该避免的做法。
2. 更快的决策制定
在计划模式下花 10–15 分钟绘制依赖关系、调用点和潜在冲突,往往能为后续节省数小时的调试时间。
3. 更安全的代码审查
“解释这个 PR 改动了什么,并识别潜在问题。”
这正是计划模式的完美任务——完整分析,零意外修改风险。
4. 探索与入职
使用计划模式进行开放式探索、培训新成员,或进行“假设”分析(例如,“如果我们移除这个已废弃的模块会怎样?”),而不会有破坏代码库的风险。
Source: …
真实场景案例
“我大约 90 % 的时间都使用计划模式。我的工作不是尽可能多写代码,而是做出正确的决策。Claude 在计划模式下是我的思考伙伴。” — 中型创业公司首席工程师
典型会话
阶段 1 – 侦查(计划模式)
Show me how notifications work in our system.What are all the ways a user can trigger a notification?What would change if we wanted to add rate limiting to notifications?Identify the dependencies between the notification service and the user service.
阶段 2 – 决策
(分析答案,决定方案。)
阶段 3 – 执行(普通模式)
Implement notification rate limiting. Add 100/hour per user.Handle the race condition by using Redis INCR with EXPIRE.
“执行阶段专注且精准,因为规划阶段已经非常彻底。结果是干净、明确的改动,而不是零散的编辑。”
类比:策略游戏中的侦查
- 未进行侦查时: 将单位派入未知领土,抱着侥幸心理。
- 进行侦查时: 揭示地图,识别威胁和机遇,从而做出明智的决策。
复杂的代码库也有自己的“战争迷雾”。Plan Mode 能清除它,将盲目的高速转化为有目的的行动。
小贴士与最佳实践
- 将计划模式设为默认 – 在大多数会话中以只读模式运行。
- 先提出宽泛的探索性问题,再逐步细化到具体实现细节。
- 记录发现(例如,将 Claude 的分析复制到设计文档中),以保留全团队的思维模型。
- 仅在计划具体且明确时切换到普通模式,并且有清晰、有限的变更请求。
未来路线图
- Day 30: LSP 集成,实现即时诊断、跳转到定义和类型信息——Claude 将看到与你的编辑器完全相同的内容。
- Upcoming: 真正的 IDE 级别代码智能,提供更丰富的分析和更快的反馈循环。
三思而后行。一次执行。
下次你准备请求大幅更改时,先尝试 Shift+Tab 两次。在执行之前先探索——你可能会对发现的内容感到惊讶。