第 06 章 核心心智模型与命令真实性
这一章是全书的承重墙。后面所有章节——Plan Mode、重构、全栈开发、Hooks、Subagents、Workflows——都建立在本章的三件事上:可执行闭环、命令真实性、能力边界。如果你只读一章,读这章。
6.1 结论:Claude Code 的生产力来自可执行闭环,不是更长的 Prompt
很多人把 Claude Code 用成高级聊天机器人:描述需求 → 看它生成代码 → 复制粘贴 → 手动测试 → 发现不对 → 再问一轮。这条路走到底,你会得到一个"时灵时不灵"的工具,以及一堆无法信任的代码。
Claude Code 的真实生产力来自一条可执行闭环:
限定范围 → 建立事实模型 → 修改代码 → 运行验证 → 读取失败 → 自我修正 → 人类审查
↑ │
└──────────────────── 不通过则回退 ←─────────────────────────────┘这条闭环的本质是:把"完成"从一句模糊的"帮我优化一下",变成一个机器可检查的状态——测试通过、类型检查无误、Linter 干净、运行态行为符合预期。一旦"完成"可检查,Claude 就能自己跑验证、读失败、自我修正,而不是把判断全压在你眼睛上。
把这条闭环落到工程里,需要四个支点。后面整个第二部分,都是在展开这四个支点。
6.2 可执行闭环七步详解
| 步骤 | 做什么 | 关键约束 |
|---|---|---|
| 1. 限定范围 | 明确允许读/改哪些目录与文件 | 范围越大,幻觉越多;用 @文件 与路径精确投喂 |
| 2. 建立事实模型 | 让 Claude 先只读理解项目,输出系统入口/模块边界/数据流/权限边界/高风险区 | 这一步用 Plan Mode(第 07 章),不要直接改 |
| 3. 修改代码 | 在事实模型正确的前提下,交付有验收条件的任务 | 任务粒度控制在 1-3 个文件变更 |
| 4. 运行验证 | 跑测试、类型检查、Linter、运行态检查 | 验证命令写进任务,不靠 Claude 猜 |
| 5. 读取失败 | 验证失败时,把 stderr + 相关文件 + 最近变更一次性喂足 | 信息密度为王,不要挤牙膏 |
| 6. 自我修正 | Claude 基于失败信息修改后重跑验证 | 不通过则回退到步骤 1 重新限定范围 |
| 7. 人类审查 | 用 git diff 看真实变更,做最终控制面 | 审查 diff,不听描述 |
这条闭环的每一步都有对应的 Claude Code 机制:步骤 2 用 Plan Mode,步骤 4 用 Hooks 自动化(第 14 章),步骤 5 用调试纪律(第 18 章),步骤 7 用 /code-review 与 Git(第 13 章)。
6.3 四个支点
支点一:用 CLAUDE.md 与精确文件路径提供稳定上下文
Claude Code 在一个约 200K tokens 的上下文窗口里推理。这个窗口会随对话增长而衰减——超过 40 轮后,早期细节就开始模糊。对抗衰减的唯一办法是:把关键信息写进文件,而不是依赖对话记忆。
CLAUDE.md提供项目级稳定上下文(技术栈、命令、规范、架构约束),每次启动自动加载(第 04 章)- 任务里用
@src/auth@package.json精确投喂相关文件,而不是说"看一下项目"
支点二:用权限规则让低风险命令自动执行,让高风险动作必定停下
权限不是麻烦,是工程纪律。让 npm test git diff 这类只读/验证命令自动跑,把你的注意力留给真正危险的写操作。第 05 章详细讲了规则数组与权限模式;这里只强调原则:读操作全部自动允许,写操作按项目约定放开,破坏性操作永远不自动允许。
支点三:用测试、类型检查、Linter 和运行态验证定义"完成"
没有验证命令,"完成"就只是 Claude 的一句话。把验证写进任务:
完成标准:
- 超时映射为 503
- 保留现有错误响应结构
- 添加回归测试
- 运行 `npm test -- auth` 与 `npm run lint`
- 最后给出 diff 摘要与仍未覆盖的风险这样 Claude 就能自己跑到步骤 4-6,而不是停在"我已经修改好了"。
支点四:用 Git diff 和安全审查做最终的人类控制面
Claude 说"修复了"不算数,git diff 看到的才算数。最后一步永远是人工审查真实变更,辅以 /code-review 与 /security-review(第 13 章)。这是人类保留的控制面,不可让渡。
6.4 命令真实性(全书约定)
6.4.1 为什么命令真实性重要
中文社区流传着大量"Claude Code 命令大全",其中混着三类东西:
- 真正的内置命令——装好就有,行为稳定
- Bundled Skills——官方随包附带的 skill,装好即有,但本质是 skill,可被覆盖
- 自定义命令——用户或插件提供,需要自己装
把三类混为一谈的后果是:你按教程敲 /dev,系统说命令不存在;你敲 /bug 以为在修 Bug,其实是在给 Anthropic 提交反馈。本书贯穿一条纪律:严格区分这三类,不把自定义伪装成内置。下表是全书的命令真实性基准,后续章节与附录 A 都以此为准。
6.4.2 命令真实性总表(2026-07-08 核对,v2.1.202+)
A. CLI 启动参数
| 写法 | 实际行为 | 是否内置 |
|---|---|---|
claude | 启动交互会话 | 是 |
claude "query" | 带初始 Prompt 启动,不自动退出 | 是 |
claude -p "query" | Print mode,执行后输出结果并退出 | 是 |
claude -p "..." --output-format json | 指定输出格式(json/text) | 是 |
claude --permission-mode plan | 以指定权限模式启动 | 是 |
claude --worktree | 在新 git worktree 中启动 | 是 |
cat log | claude -p "分析根因" | 管道输入,适合脚本/CI | 是 |
B. 会话与上下文(真正内置)
| 命令 | 实际行为 | 内置 |
|---|---|---|
/help | 显示帮助 | 是 |
/init | 分析项目生成 CLAUDE.md | 是 |
/compact | 手动压缩上下文(有损摘要) | 是 |
/clear | 完全清空对话 | 是 |
/context | 查看上下文占用情况 | 是 |
/cost | 当前会话 token 消耗 | 是 |
/config | 打开配置界面 | 是 |
/status | 会话状态 | 是 |
/doctor | 诊断安装问题 | 是 |
/login /logout | 认证 | 是 |
/add-dir | 添加目录到工作区 | 是 |
C. 模型与权限(真正内置)
| 命令 | 实际行为 | 内置 |
|---|---|---|
/model | 切换模型(sonnet/opus/haiku/fable) | 是 |
/effort | 推理档(low/medium/high/xhigh/max/ultracode) | 是 |
/fast | Fast mode 切换(Opus 4.8/4.7,2.5x 速度、1/3 成本) | 是 |
/permissions | 权限配置 | 是 |
/memory | 列出加载的 memory 文件、切换 auto memory | 是 |
/theme | 主题选择 | 是 |
/output-style | 输出风格切换 | 是 |
/plan | 进入计划模式(只读)(v2.1.0+,亦可 Shift+Tab 两次) | 是 |
/mcp | MCP 服务器管理 | 是 |
/agents | 子代理管理 | 是 |
/workflows | 查看运行/完成的工作流 | 是 |
/plugin | 插件市场(install/list/add) | 是 |
D. Bundled Skills(官方随包附带,装好即有)
| 命令 | 实际行为 | 类别 |
|---|---|---|
/code-review | 审查当前 diff,可选 --fix --comment 与 effort 档 | Bundled Skill |
/security-review | 对待提交变更做安全审查 | Bundled Skill |
/review | 审查 GitHub PR | Bundled Skill |
/commit | 生成 Conventional Commit 并提交 | Bundled Skill |
/pr | 创建 PR | Bundled Skill |
/loop | 定时循环运行 prompt/skill | Bundled Skill |
/deep-research | 扇出搜索 + 对抗验证 + 引用报告 | Bundled Workflow |
/claude-api | Claude API 参考 | Bundled Skill |
/run | 启动并驱动项目 app | Bundled Skill |
/verify | 端到端验证变更 | Bundled Skill |
/simplify | 简化代码(质量向,不查 Bug) | Bundled Skill |
/debug | 调试辅助 | Bundled Skill |
/fewer-permission-prompts | 扫描历史生成权限白名单 | Bundled Skill |
/update-config | 配置 settings.json | Bundled Skill |
/dataviz | 数据可视化 | Bundled Skill |
/init | 生成 CLAUDE.md(跨 B/D 两类,既是命令也是 skill) | 内置 + Skill |
E. 常见陷阱(不是内置,或已移除)
| 写法 | 真相 | 正确做法 |
|---|---|---|
/bug | /feedback 的别名,向 Anthropic 报告问题,不是修 Bug | 修 Bug 用自然语言或自定义 /fix-bug skill |
/vim | 已移除 | /config → Editor mode 或 settings.json editorMode: "vim" |
/dev /search /explain | 官方默认命令表不存在 | 自定义 skill 实现(第 16 章) |
/fix-bug | 非内置 | 自定义 skill(CLAUDE_CODE_GUIDE 提供) |
/agent-skills:plan 等 | 插件 namespace 命令,非内置 | 必须带 插件名: 前缀(第 16 章) |
6.4.3 自定义命令的 namespace 陷阱
把插件的 .claude/commands/*.md 裸拷进 ~/.claude/commands/ 会丢失 namespace 保护:对 /plan /review 这类 true built-in,覆盖行为官方未保证;还会盖掉已有的同名 skill。正确做法是用 /plugin marketplace add 安装,让命令强制走 插件名:命令名 namespace,与内置物理隔离。详见第 16 章。
6.5 任务 Prompt 骨架
把上面的闭环落成可复用的任务模板:
目标:
<用户可观察到的结果,而非实现方式>
范围:
<允许读取和修改的目录/文件>
约束:
<兼容性、安全、风格、禁止事项>
验证:
<必须运行的测试、Linter、类型检查、运行态检查>
完成输出:
<变更摘要、验证结果、剩余风险>这个骨架比"帮我优化一下代码"有效,因为它把"完成"变成了机器可检查的状态。对比:
# 差
> 优化这个函数
# 好
> 优化 src/utils/parse.ts 中的 parseCSV 函数,当前处理 10MB 文件需要 30 秒,
> 目标降到 5 秒以内,用流式处理代替全量加载。
> 约束:保持 API 签名不变,不引入新依赖。
> 验证:运行 npm test -- parse,用 10MB 测试文件测耗时。
> 完成后给出 diff 摘要与基准对比。6.6 会话设计模式速查
不同任务用不同会话模式,是高阶用法的核心:
| 模式 | 适用场景 | 关键机制 |
|---|---|---|
| 探索 | 代码考古、影响分析 | Plan Mode 或 Explore 子代理,只读 |
| 计划 | 架构变更、新功能 | Plan Mode,产出 plan 文件 |
| 实施 | 具体代码修改 | acceptEdits 或 default,带验证命令 |
| 审查 | 质量保证 | /code-review /security-review,git diff |
| 调试 | 排查问题 | 信息密度为王,一次性喂足 |
| 监控 | CI/部署/日志 | /loop 或 Monitor 工具 |
| 批量 | 大规模重构 | Subagents 并行 + worktree 隔离(第 19 章) |
6.7 能力边界:Claude Code 不该做什么
承认边界比夸大能力更重要。以下任务,Claude Code 能做但不该全权委托:
- 超大型耦合重构——跨文件一致性难保证,用主上下文操作而非子代理
- 运行时性能分析——它看不到生产环境真实负载
- 生产环境操作——红线,永不自动
- 复杂 merge conflict 的业务判断——它能解语法,解不了业务取舍
- 加密/安全关键代码——需人类专家复核
- 精确数学计算——LLM 不擅长精确数值,用代码算
6.8 核心心法
全书所有章节可以浓缩成一句:
你做架构决策和关键审查,Claude 做实现和探索。
人定方向,机器填细节。Plan Mode 是你定方向的工具(第 07 章),/code-review 是你做审查的工具(第 13 章),Subagents 与 Workflows 是 Claude 并行探索的工具(第四部分)。理解了这一句,后面所有功能都是它的展开。
下一章:Plan Mode:计划优先