一、/plan:动手前的“沙盘推演”

1. 核心理念

/plan 强制 Claude 只思考不行动。它会生成一份详细的执行计划,但在你明确批准之前,不会修改任何一个文件、不会执行任何一条命令。它解决的是 AI 代理最大的信任问题:“你怎么知道它不会乱来?”

2. 触发方式与基础示例

直接在交互会话中输入:

/plan 将 user 表的密码字段从 MD5 迁移到 bcrypt,保留向后兼容

Claude 会返回类似:

## Plan: Migrate password hashing from MD5 to bcrypt

1. 分析现有代码库中引用 `user.password` 的所有位置。
2. 设计一个兼容层:添加 `password_hash` 字段和 `password_version` 标记。
3. 编写数据迁移脚本,使用事务批量更新。
4. 修改认证逻辑,优先用 bcrypt 验证,失败时回退 MD5 并自动升级哈希。
5. 更新相关单元测试和集成测试。
6. 生成回滚方案。
---
我会停在这里,等你确认或修改计划。

3. 高阶使用技巧

技巧一:指定计划的详细程度
默认计划可能比较概括。你可以要求:

  • “给出每一步需要执行的 Shell 命令”

  • “以表格形式列出每个步骤的风险等级和预估耗时”

  • “用 Mermaid 流程图展示步骤依赖关系”

技巧二:约束计划的边界
在 /plan 之后加上严格限制,防止范围蔓延:

/plan 优化首页加载速度,只涉及前端代码,不要动后端 API,不引入新的第三方库

技巧三:多方案对比
让 Claude 产出两到三个可选方案,并附上优缺点:

/plan 实现用户通知系统,给我两个方案:轮询 vs WebSocket,并列出各自的优缺点和适用场景

你可以根据输出的对比进行决策,然后锁定一个方案继续。

技巧四:结合 /task 批量导入
计划生成后,可以直接说“将上述计划分解成任务并导入 /task 列表”,Claude 会自动执行 /task add 命令,将计划条目转化为可追踪的任务。

技巧五:用于学习与技术评估
即使你最终不打算让 Claude 动手,/plan 也是极佳的免费技术顾问。例如:

/plan 为这个开源项目设计一个基于 Redis 的分布式锁,给出接口设计和竞态条件处理方式

这能快速获得一份高质量的技术方案草稿。

4. /plan 的安全机制

  • 绝不自动执行:即使你的指令中含有“然后执行”,/plan 仍会停在计划阶段。

  • 可中断审查:你可以逐条批准,也可以一次全部批准。批准后 Claude 才会开始真正的文件操作。

  • 计划版本化:如果你多次调整计划,每版计划都保留在对话历史中,可随时回溯。


二、/task:把大目标拆成“待办清单”

1. 核心逻辑

/task 将复杂需求拆解为有明确状态的子任务(todo / in_progress / done),让 Claude 按清单逐项执行并汇报进度。它把开放式对话变成了项目管理的敏捷看板。

2. 完整的子命令集

子命令 效果 示例
add 创建新任务 /task add "编写 user 模块单元测试"
list 列出所有任务及状态 /task list
start 开始执行指定编号的任务 /task start 2
done 标记任务为完成 /task done 2
remove 删除某个任务 /task remove 3
clear 清空所有任务 /task clear

3. 实战流演示

场景:将单体应用中的认证模块拆分为微服务

第一步,先用 /plan 生成宏观路径,确认无误后让 Claude 直接导入:

/task add "分析现有认证模块的所有接口和依赖"
/task add "设计新服务的 API 契约(OpenAPI 规范)"
/task add "编写数据库迁移脚本(用户与权限表)"
/task add "实现新认证服务核心逻辑"
/task add "改造旧单体应用,通过 HTTP 调用新服务"
/task add "编写端到端集成测试"
/task add "生成迁移文档与部署清单"

第二步,开始逐项推进:

/task start 1

Claude 会自动进入执行模式,完成后标记 done,并提示下一个任务。

第三步,随时查看全局进度:

/task list

输出类似:

[1] 分析现有认证模块的所有接口和依赖 - done
[2] 设计新服务的 API 契约 - in_progress
[3] 编写数据库迁移脚本 - todo
...

4. 高阶用法

并行任务支持
如果任务之间没有依赖,你可以直接说“任务 3 和 4 没有依赖,同时执行”。Claude Code 会根据依赖关系智能调度。

插入紧急任务
即使已有任务清单,你也可以随时 /task add 插入一个紧急需求,然后立刻 /task start 对应编号。清单会动态调整,不会丢失原有进度。

任务备注与细化
在创建任务时附加更多上下文:

/task add "处理 OAuth2 刷新令牌逻辑,需兼容 Google 和 GitHub 两种 Provider,注意 PKCE 流程"

Claude 在执行时会记住这些约束。

与 /state 联动
/state 会直接显示当前激活的任务和计划步数,是 /task 的天然搭档。你甚至不需要频繁敲 /task list


三、两者组合的黄金工作流

/plan 负责 “对的事”/task 负责 “把事情做对”。推荐的标准流程是:

  1. 需求阶段:用自然语言描述目标,让 Claude 用 /plan 输出 2-3 版可选方案。

  2. 决策对齐:选择方案,微调步骤,与团队或自己确认边界和风险。

  3. 任务拆解:命令“把最终计划转化为 /task 条目”,自动导入。

  4. 执行监控/task start 1,配合 /state/cost 全程把控。

  5. 收尾归档:全部完成后,用 /save 将整个规划与执行过程存为一篇高质量的技术实施文档。


一句话总结/plan 是事前思考的沙盘,让 AI 先交答卷再行动;/task 是事中执行的清单,让复杂工程变得有序、透明、可交付。两者结合,你便拥有了一个既会思考又能干活的 AI 工程师。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐