Skip to content

第 06 章 核心心智模型与命令真实性

这一章是全书的承重墙。后面所有章节——Plan Mode、重构、全栈开发、Hooks、Subagents、Workflows——都建立在本章的三件事上:可执行闭环、命令真实性、能力边界。如果你只读一章,读这章。

6.1 结论:Claude Code 的生产力来自可执行闭环,不是更长的 Prompt

很多人把 Claude Code 用成高级聊天机器人:描述需求 → 看它生成代码 → 复制粘贴 → 手动测试 → 发现不对 → 再问一轮。这条路走到底,你会得到一个"时灵时不灵"的工具,以及一堆无法信任的代码。

Claude Code 的真实生产力来自一条可执行闭环:

text
限定范围 → 建立事实模型 → 修改代码 → 运行验证 → 读取失败 → 自我修正 → 人类审查
   ↑                                                              │
   └──────────────────── 不通过则回退 ←─────────────────────────────┘

这条闭环的本质是:把"完成"从一句模糊的"帮我优化一下",变成一个机器可检查的状态——测试通过、类型检查无误、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 的一句话。把验证写进任务:

text
完成标准:
- 超时映射为 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 命令大全",其中混着三类东西:

  1. 真正的内置命令——装好就有,行为稳定
  2. Bundled Skills——官方随包附带的 skill,装好即有,但本质是 skill,可被覆盖
  3. 自定义命令——用户或插件提供,需要自己装

把三类混为一谈的后果是:你按教程敲 /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)
/fastFast mode 切换(Opus 4.8/4.7,2.5x 速度、1/3 成本)
/permissions权限配置
/memory列出加载的 memory 文件、切换 auto memory
/theme主题选择
/output-style输出风格切换
/plan进入计划模式(只读)(v2.1.0+,亦可 Shift+Tab 两次)
/mcpMCP 服务器管理
/agents子代理管理
/workflows查看运行/完成的工作流
/plugin插件市场(install/list/add)

D. Bundled Skills(官方随包附带,装好即有)

命令实际行为类别
/code-review审查当前 diff,可选 --fix --comment 与 effort 档Bundled Skill
/security-review对待提交变更做安全审查Bundled Skill
/review审查 GitHub PRBundled Skill
/commit生成 Conventional Commit 并提交Bundled Skill
/pr创建 PRBundled Skill
/loop定时循环运行 prompt/skillBundled Skill
/deep-research扇出搜索 + 对抗验证 + 引用报告Bundled Workflow
/claude-apiClaude API 参考Bundled Skill
/run启动并驱动项目 appBundled Skill
/verify端到端验证变更Bundled Skill
/simplify简化代码(质量向,不查 Bug)Bundled Skill
/debug调试辅助Bundled Skill
/fewer-permission-prompts扫描历史生成权限白名单Bundled Skill
/update-config配置 settings.jsonBundled 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 骨架

把上面的闭环落成可复用的任务模板:

text
目标:
<用户可观察到的结果,而非实现方式>

范围:
<允许读取和修改的目录/文件>

约束:
<兼容性、安全、风格、禁止事项>

验证:
<必须运行的测试、Linter、类型检查、运行态检查>

完成输出:
<变更摘要、验证结果、剩余风险>

这个骨架比"帮我优化一下代码"有效,因为它把"完成"变成了机器可检查的状态。对比:

text
# 差
> 优化这个函数

# 好
> 优化 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:计划优先