从 Planning 到 Auto Mode:Claude Code 的推理自主性进化
Claude Code 不再只是"你说它做"的工具。从 2025 年底到 2026 年中,它经历了一条清晰的进化路径:Planning Mode(先想再做)→ Ultraplan(云端异步想)→ Extended Thinking(想得更深)→ Dynamic Workflows(编排多个 Agent 想)→ Auto Mode(自己决定做不做)。
这篇文章把这五个特性串起来,帮你理解 Claude Code 在"推理自主性"这条轴上走了多远,以及每个特性该什么时候用。
Permission Modes:先看全景
在深入之前,先建立一个全局地图。Claude Code 目前有 6 种 Permission Mode,它们构成一个"自主性光谱":
| Mode | 自主程度 | 行为 |
|---|---|---|
plan |
★☆☆☆☆ | 只读,只研究不动手 |
default |
★★☆☆☆ | 读文件免问,其他操作逐条确认 |
acceptEdits |
★★★☆☆ | 读写文件免问,执行命令要确认 |
auto |
★★★★☆ | 背景分类器自动审批,危险操作拦截 |
dontAsk |
★★★★☆ | 只执行预批准的工具,其他全部拒绝 |
bypassPermissions |
★★★★★ | 全部免问(仅限沙盒) |
Shift+Tab 切换模式
翻译/说明:
plan是纯研究模式(read-only),default是最保守的交互模式,auto是有"安全气囊"的自主模式,bypassPermissions是完全放飞(仅在隔离环境用)。
理解了这个光谱,后面的每个特性都是在这个光谱上找到自己位置的故事。
Planning Mode:先想再做
是什么
Planning Mode 是一个两阶段流程:
yaml
Phase 1: Planning --- Claude 分析任务,生成详细实施计划
Phase 2: Implementation --- 你批准后,Claude 执行计划
翻译:阶段一是规划------Claude 分析任务并创建详细实施计划;阶段二是执行------获得批准后,Claude 按计划实施。
怎么用
三种激活方式:
bash
# 1. 键盘快捷键循环到 plan 模式
Shift+Tab
# 2. 斜杠命令
/plan
# 3. CLI 标志
claude --permission-mode plan
适用场景
Planning Mode 最适合"我还不确定要不要动手"的场景:
- Code Review:用 plan 模式让 Claude 只看不改,输出建议
- 架构探索:让 Claude 先分析可选方案,再决定走哪条路
- 团队对齐:把 Claude 的计划作为讨论文档
关键限制
Plan 模式下 Claude 不能编辑文件 。它只能读代码、分析、生成计划文本。想动手就必须切到 default 或更高自主性的模式。
Ultraplan:云端异步规划
是什么
/ultraplan 把规划任务从本地终端"甩"到 Claude Code on the Web 的云端 session。Cloud session 在后台克隆你的 repo、研究代码、写计划------你的终端空闲出来继续写代码。
bash
/ultraplan migrate the auth service from sessions to JWTs
翻译:把本地的规划任务交给云端 session 异步执行。你的终端可以继续干别的活。
三种启动方式
| 方式 | 说明 |
|---|---|
/ultraplan <prompt> |
显式调用 |
在 prompt 里写 ultraplan |
Claude 自动识别并路由到云端 |
| 本地 plan 完成后选"Refine with Ultraplan" | 从本地计划升级到云端深度研究 |
状态指示器
arduino
◇ ultraplan --- Claude 正在研究代码库并起草计划
◇ ultraplan needs your input --- 有问题需要你在浏览器里回答
◆ ultraplan ready --- 计划写好了,打开浏览器链接查看
执行路径
计划 ready 之后有两条路:
sql
路径 A: 在浏览器里点 Approve → 云端执行 → 自动开 PR
路径 B: 选 "Teleport back to terminal" → 本地执行
├── Implement here(当前 session)
├── Start new session(新 session)
└── Cancel(保存计划到文件)
什么时候用 Ultraplan 而不是本地 /plan
- 需要更好的 review 界面:浏览器支持 inline comments、emoji reactions、大纲侧边栏
- 想 hands-off:交给云端研究,你继续在终端写代码
- 需要团队 review:一个可分享的 URL 比贴终端 scrollback 好得多
限制
- 需要 GitHub repo(云端 session 要 clone 你的仓库)
- Bedrock / Vertex / Foundry 不支持
- 和 Remote Control 互斥(两者共享 claude.ai/code 界面)
New in v2.1.101: Ultraplan now auto-creates a Claude Code on the web cloud environment the first time you invoke it --- no manual setup, no waiting for a container to warm up before the draft starts.
翻译(v2.1.101 更新):首次调用时会自动创建云端环境------不需要手动设置,也不用等容器预热。
Extended Thinking:让 Agent 想得更深
是什么
Extended Thinking 让 Claude 花更多 token 在"内心推理"上------分解复杂问题、考虑多种方案、评估边界情况------然后才输出结论。
Effort Levels
这是最核心的配置维度。不同模型支持不同的 effort level:
| Effort | 图标 | 支持模型 | 说明 |
|---|---|---|---|
low |
○ | Opus 4.8/4.7/4.6, Sonnet 4.6 | 快速回答,最少推理 |
medium |
◐ | 同上 | 适度推理 |
high |
● | 同上(默认 on Opus 4.8) | 深度推理 |
xhigh |
- | Opus 4.8, Opus 4.7(默认 on Opus 4.7) | 超深推理 |
max |
- | Opus 4.8/4.7/4.6, Sonnet 4.6 | 最大推理预算(session-only) |
bash
# 环境变量
export CLAUDE_CODE_EFFORT_LEVEL=high
# CLI 标志
claude --effort high "complex architectural review"
# 斜杠命令
/effort high
# 键盘快捷键
Option+T (macOS) / Alt+T (Windows/Linux) --- 开关 thinking
ultrathink 关键词
在 prompt 里写 ultrathink 会激活深度推理模式:
perl
User: ultrathink Should we use microservices or a monolith for our e-commerce platform?
翻译:在你的 prompt 中加入关键词
ultrathink即可激活深度推理模式。
ultracode:推理 + 编排
bash
/effort → 选择 ultracode
ultracode 不是一个 effort level------它是 xhigh effort + 自动编排 Dynamic Workflows 的组合。选了之后,Claude 不仅深度思考,还会自动把复杂任务拆成多 Agent 工作流。
注意 :
ultracode是 session-only 的,不能写到 settings 文件里。
1M Context Window
Opus 4.8 和 Opus 4.7 拥有 1M token 的原生 context window:
1M context fix landed in v2.1.117 --- before that,
/contextmiscounted Opus 4.7 against a 200K window and triggered premature autocompact.
翻译:1M context 的修复在 v2.1.117 落地------此前/context错误地把 Opus 4.7 按 200K 窗口计算,导致过早触发 autocompact。
另一个优化(v2.1.129):/context 的 ASCII 可视化不再泄漏到对话 context 中(节省约 1.6k tokens),可以放心频繁调用。
Lean System Prompt(v2.1.154)
Lean system prompt is now the default for all models except Haiku, Sonnet, and Opus 4.7-and-earlier, reducing baseline token overhead on Opus 4.8.
翻译:精简版系统 prompt 现在是除 Haiku、Sonnet 和 Opus 4.7 及更早版本之外所有模型的默认值,减少了 Opus 4.8 的基线 token 开销。
实践建议
| 场景 | 推荐 effort |
|---|---|
| 快速修改已知 bug | low 或 medium |
| 新功能实现 | high(默认即可) |
| 架构决策 / 系统设计 | xhigh 或 max |
| 需要多 Agent 并行的大工程 | ultracode |
Dynamic Workflows:编排多 Agent 的确定性脚本
是什么
Dynamic Workflows(v2.1.154)让 Claude 编排"几十到几百个" background subagent,以确定性脚本(fan-out、pipeline、parallel stages)而非模型即兴发挥来执行复杂任务。
ini
单 Agent = 一个 context window
Dynamic Workflow = 把任务拆到多 Agent + 组合结果
什么时候用
- 全面覆盖:审计或 review 多个文件/维度(并行 fan-out)
- 高置信度:生成独立观点 → 对抗验证 → 再 commit
- 超出单 context 的规模:大规模迁移、广泛扫描
For a one-off task you already understand, a single agent (or a direct edit) is still the right tool --- workflows pay off when the work fans out.
翻译:对于你已经理解的一次性任务,单个 agent(或直接编辑)仍然是对的工具------当工作需要扇出时,workflow 才值得。
如何启动和查看
bash
启动:要求 Claude 为任务创建 workflow
(例如 "run a workflow to review every file in src/")
查看:/workflows --- 显示运行中和已完成的 workflow,含实时进度
触发:/effort → ultracode(自动编排 workflow + xhigh thinking)
v2.1.160 更新 :触发关键词从 "workflow" 改为
ultracode;单独的 "workflow" 不再触发执行。
与 Subagent 的关系
Dynamic Workflows 建立在 Subagent 模型之上(见 04-subagents)。每个 workflow step 本质上就是一个 scoped subagent。
和 Superpowers 的 Subagent-Driven Development 对比
| 维度 | Superpowers SDD | Claude Code Dynamic Workflows |
|---|---|---|
| 编排方式 | Coordinator prompt(模型驱动) | 确定性脚本(代码驱动) |
| Review 机制 | Spec Reviewer + Quality Reviewer | 对抗验证 |
| 适用场景 | 功能开发(spec → implement → review) | 大规模审计/迁移/并行覆盖 |
| 粒度 | 每个 task 一个 subagent | 几十到几百个 subagent |
Auto Mode:让 Agent 自己决定做不做
是什么
Auto Mode(2026 年 3 月,Research Preview)是 Claude Code 目前最高自主性的 production-safe 模式。它用一个背景安全分类器(running on Sonnet 4.6)来审查每个 action------批准安全的,拦截危险的。
你不需要逐条审批 → 分类器帮你审
分类器拿不准 → 退回让你人工决定
分类器决策顺序
markdown
1. Allow/deny rules --- 显式权限规则优先
2. Read-only/edits auto-approved --- 文件读写自动通过
3. Classifier --- 背景分类器审查
4. Fallback --- 连续 3 次或累计 20 次 block 后,退回人工
默认 Block 和 Allow
默认拦截:
| 操作 | 示例 |
|---|---|
| Pipe-to-shell 安装 | `curl |
| 发送敏感数据 | API keys 通过网络外传 |
| 生产环境部署 | Deploy commands targeting production |
| 大规模删除 | rm -rf on large directories |
| IAM 变更 | Permission and role modifications |
| Force push to main | git push --force origin main |
默认允许:
| 操作 | 示例 |
|---|---|
| 本地文件操作 | 读写编辑项目文件 |
| 声明式依赖安装 | npm install、pip install(from manifest) |
| 只读 HTTP | curl 获取文档 |
| Push 到当前分支 | git push origin feature-branch |
配置进化:$defaults 和 hard_deny
v2.1.118 之前 ------自定义规则会覆盖内置默认值:
json
{
"autoMode": {
"allow": ["Bash(gh pr list:*)"] // ← 这会替换掉所有内置 allow 规则!
}
}
v2.1.118 之后 ------用 "$defaults" token 来扩展:
json
{
"autoMode": {
"allow": ["$defaults", "Bash(gh pr list:*)"],
"soft_deny": ["$defaults", "Bash(kubectl delete:*)"],
"environment": ["$defaults", "trusted-ci.internal"]
}
}
Use
"$defaults"to keep the shipped baseline rules while layering organization- or project-specific additions on top.
翻译:使用"$defaults"保留出厂的基线规则,同时在上面叠加组织或项目级别的自定义规则。
v2.1.136 ------hard_deny 无条件拦截:
json
{
"autoMode": {
"hard_deny": ["Bash(rm -rf /:*)", "Bash(git push --force*)"]
}
}
hard_deny 和 soft_deny 的区别:soft_deny 可以被分类器的"推断用户意图"推翻;hard_deny 无论如何都拦截。
没有 Team Plan 的替代方案
Auto Mode 需要 Team / Enterprise / API plan。但如果你用 Pro/Max 或者就是想要类似效果,可以用 claude-howto 提供的权限基线脚本:
bash
# 预览(不写入)
python3 09-advanced-features/setup-auto-mode-permissions.py --dry-run
# 应用保守基线
python3 09-advanced-features/setup-auto-mode-permissions.py
# 按需扩展
python3 09-advanced-features/setup-auto-mode-permissions.py --include-edits --include-tests
python3 09-advanced-features/setup-auto-mode-permissions.py --include-git-write --include-packages
这个脚本本质上是用 settings.json 的 allowedTools 来模拟 Auto Mode 的效果------安全操作预批准,危险操作(rm -rf、sudo、force push、DROP TABLE、terraform destroy)故意排除。
Fallback Behavior
scss
连续 3 次 block → fallback 到人工审批
累计 20 次 block → fallback 到人工审批
This ensures the user always retains control when the classifier cannot confidently approve an action.
翻译:这确保当分类器无法自信地批准操作时,用户始终保留控制权。
最新版本支持(v2.1.158)
Auto mode is now available on Bedrock, Vertex, and Foundry for Opus 4.7/4.8 --- opt in by setting
CLAUDE_CODE_ENABLE_AUTO_MODE=1.
翻译:Auto Mode 现在在 Bedrock、Vertex、Foundry 上也可用了(Opus 4.7/4.8)------通过设置CLAUDE_CODE_ENABLE_AUTO_MODE=1启用。
全景:推理自主性光谱
把这五个特性放到一条进化轴上:
scss
手动确认每步 ←──────────────────────────→ 完全自主
│ │
│ plan default acceptEdits auto bypassPermissions│
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ Planning Planning Ultraplan Dynamic Auto Mode │
│ Mode只读 Mode+手动 (async) Workflows (classifier) │
│ 确认执行 (orchestrate) │
│ │
│ ← Extended Thinking (调节思考深度,横跨所有模式) → │
实践决策树
bash
你的任务是什么?
│
├── "我想先看看方案,不动手" → /plan + Extended Thinking (high)
│
├── "任务复杂,要研究后再定方案" → /ultraplan(云端异步)
│
├── "方案定了,一步步执行" → default 或 acceptEdits
│
├── "大规模并行工作(审计/迁移)" → ultracode (Dynamic Workflows)
│
└── "日常开发,信任 Claude 自动处理" → auto mode + $defaults 扩展
版本变更速查
| 版本 | 变更 |
|---|---|
| v2.1.91 | Ultraplan 上线(Research Preview) |
| v2.1.101 | Ultraplan 自动创建云端环境 |
| v2.1.112 | Auto Mode 不再需要 --enable-auto-mode 标志 |
| v2.1.117 | 1M context 修复;Pro/Max effort 默认提升到 high |
| v2.1.118 | $defaults token 支持扩展规则 |
| v2.1.129 | /context 不再泄漏 ASCII viz 到 context |
| v2.1.133 | worktree.baseRef 设置 |
| v2.1.136 | autoMode.hard_deny 上线 |
| v2.1.154 | Dynamic Workflows + Lean system prompt + ultracode |
| v2.1.158 | Auto Mode 支持 Bedrock/Vertex/Foundry |
| v2.1.160 | "workflow" 关键词不再触发,改为 ultracode |
总结
Claude Code 的推理自主性在过去半年里发生了质变:
Planning Mode 让它"先想再做"------你能 review 计划再放行。Ultraplan 让规划异步化------云端研究代码,你继续工作。Extended Thinking 让它"想得更深"------effort level 从 low 到 max 的细粒度控制。Dynamic Workflows 让它"编排多 Agent 想"------几十到几百个 subagent 确定性协作。Auto Mode 让它"自己决定做不做"------背景分类器在安全和效率之间找平衡。
核心判断:不要用 bypassPermissions,用 Auto Mode。前者是拆掉安全气囊,后者是装了安全气囊然后放手让 Agent 开车。如果你没有 Team Plan 也想要类似效果,用 setup-auto-mode-permissions.py 脚本做权限基线。
下一篇我们看 Claude Code 的另一条进化线:从单线程终端工具到多端协同自动化平台。