从 Planning 到 Auto Mode:Claude Code 的推理自主性进化

从 Planning 到 Auto Mode:Claude Code 的推理自主性进化

Claude Code 不再只是"你说它做"的工具。从 2025 年底到 2026 年中,它经历了一条清晰的进化路径:Planning Mode(先想再做)→ Ultraplan(云端异步想)→ Extended Thinking(想得更深)→ Dynamic Workflows(编排多个 Agent 想)→ Auto Mode(自己决定做不做)。

这篇文章把这五个特性串起来,帮你理解 Claude Code 在"推理自主性"这条轴上走了多远,以及每个特性该什么时候用。

源文件:luongnv89/claude-howto/09-advanced-features/README.md


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, /context miscounted 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 lowmedium
新功能实现 high(默认即可)
架构决策 / 系统设计 xhighmax
需要多 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 installpip 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_denysoft_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

源文件:09-advanced-features/setup-auto-mode-permissions.py

这个脚本本质上是用 settings.jsonallowedTools 来模拟 Auto Mode 的效果------安全操作预批准,危险操作(rm -rfsudo、force push、DROP TABLEterraform 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 的另一条进化线:从单线程终端工具到多端协同自动化平台。


本文素材来源:luongnv89/claude-howto/09-advanced-features