开篇故事:程序员小黑的烦恼
故事的主角小黑,是一个刚入行的前端开发。他的团队接到了一个重构大项目——把整个电商平台的代码从老旧的 jQuery 改造成 React + TypeScript。
项目复杂度极高,涉及 200+ 文件,跨越 3 个模块,还要兼容原有的 API 接口。
小黑一上来就让 Claude Code 用最强模型直接写代码。模型思考了半天,生成了一堆代码——方向完全错了,改了三天,最后还是打回了原形,项目经理骂了他整整十分钟。
小黑含泪 git reset --hard,然后去找隔壁工位的老张求救。老张是个看起来油腻但实际特靠谱的资深架构师,微微一笑,敲了几个字:
/model opusplan
然后,神奇的事情发生了。
小黑困惑地看着老张:咦?为啥没有立刻生成代码?Claude 怎么在到处翻代码?
老张解释道:opusplan 不是一个模型,而是一个模型别名,它会在规划阶段自动用最聪明的 Opus 模型帮你分析代码库、设计方案,等你批准后才切到高速的 Sonnet 来写代码。简单来说——Opus 负责当总工程师出方案,Sonnet 负责当施工队写代码。
小黑听完恍然大悟。他的项目完成了,产品上线了,收到了老板发来的奖金。小黑买了本书送给老张,书名是《被讨厌的勇气》。
后来小黑知道了,原来老张也是一路被产品经理骂过来的。
第一部分:opusplan 是什么?(小白也能懂)
一句话解释
opusplan 就是 Claude Code 里一个聪明的“模型路由开关”,让最聪明的模型(Opus)帮你做规划,让最快最省的模型(Sonnet)帮你写代码,全程自动切换,你只管干活就行。
官方文档将 opusplan 描述为一种结合了两种模型的混合别名:Opus 4.6 负责规划,Sonnet 4.6 负责执行。
为什么需要它?
这个问题的本质在于:不是所有 AI 任务都需要同等的“智力”投入。
开发任务大致可以分为两个阶段:
| 阶段 | 需要什么 | 用谁 |
|---|---|---|
| 规划阶段 | 深度推理、全局理解、风险分析、架构决策 | Opus(最聪明,慢一点但值得) |
| 执行阶段 | 快速生成代码、重复性工作、写测试 | Sonnet(速度快,性价比高) |
Claude Opus 擅长的是“认知密集型”任务:设计新功能架构、重构遗留系统、调试复杂的竞态条件——这些工作需要在多个维度间权衡,预见边缘情况,分析潜在风险。
而一旦方案确定,实现阶段就是执行已知策略:写函数、生成样板代码、创建测试、更新配置文件——这属于“重复性、高吞吐量”的工作,速度和效率比深度哲学推理更重要。
如果把 Opus 用在全流程上,就像是开着一辆法拉利在市中心龟速堵车——性能用错地方,还费油。opusplan 完美解决了这个矛盾:规划用大脑(Opus),执行用手脚(Sonnet) 。
重要提醒:
opusplan不是一个独立的 AI 模型,而是 Claude Code 内置的一个智能路由别名(Model Alias) 。你敲了/model opusplan之后,Claude Code 并没有变成另一个“人”,而是获得了一个“场景判断能力”:它会根据你处于 Plan Mode 还是 Execution Mode,自动选择最合适的模型。
第二部分:实现原理解析(代码级)
2.1 模型别名的底层机制
在 Claude Code 的内部实现中,opusplan 是一个模型别名(Model Alias) 。在 1.0.88 版本之后,官方增加了两个环境变量来精确控制这些别名所映射到的具体模型版本:
{
"env": {
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4.6", // opusplan 规划阶段用
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4.6" // opusplan 执行阶段用
}
}
这个机制让团队可以锁定特定模型版本,保证 PR、CI 和生产环境的一致性,也支持灰度升级和跨云部署。
2.2 触发逻辑:Plan Mode 检测
opusplan 的核心逻辑在于检测 Plan Mode 是否活跃:
# 伪代码示例
def route_request(user_input, is_plan_mode_active):
if is_plan_mode_active:
return call_model(ANTHROPIC_DEFAULT_OPUS_MODEL) # 用 Opus 做深度推理
else:
return call_model(ANTHROPIC_DEFAULT_SONNET_MODEL) # 用 Sonnet 快速执行
- 手动输入
/plan命令 - 在任务描述中涉及“多文件改动、架构决策”时,Claude 会自动判断并进入规划模式
- 快捷键
Shift+Tab(在交互式会话中)
2.3 完整实现时序图
下面是 opusplan 从启动到执行的完整时序图:
第三部分:最佳用法(实战指南)
3.1 启用方式
| 方式 | 命令/配置 | 说明 |
|---|---|---|
| 会话中切换 | /model opusplan | 当前会话立即生效 |
| 永久默认 | 在 ~/.claude/settings.json 中设置 "model": "opusplan" | 所有新会话自动启用 |
| 环境变量 | export ANTHROPIC_MODEL=opusplan | 适合 CI/CD 和脚本场景 |
| 启动时指定 | claude --model opusplan | 一次性指定 |
3.2 典型工作流
场景:给电商平台添加购物车功能
# 1. 启动 Claude Code 并启用 opusplan
claude --model opusplan
# 2. 输入任务(会自动进入规划模式)
> 给我们的电商项目添加购物车功能,需要支持添加、删除、数量修改、价格计算
# Opus 开始工作:
# - 用 Grep/Glob 扫描现有代码结构
# - 分析状态管理方案(Redux vs Context)
# - 设计 API 接口和数据流
# - 输出详细实施计划
# 3. 审阅并微调方案(可选)
> 计划看起来不错,但价格计算用 decimal 库,不要用浮点数
# 4. 批准执行(自动切换到 Sonnet)
> 批准执行,开始写代码吧
# Sonnet 快速生成:
# - 购物车 slice/reducer
# - 价格计算工具函数
# - React 组件代码
# - 单元测试
# 5. 代码审查
/review
社区公认的“神技” :
/model opusplan对所有小白都非常友好,质量最高、省 token,几乎所有大项目第一步都用。Pro 订阅用户的 Opus 额度有限,用 opusplan 能最大化利用宝贵的 Opus 调用次数。
3.3 高级配置:自定义模型映射
如果需要更精细的控制(比如团队要锁定特定模型版本),可以创建项目级配置:
// .claude/settings.json
{
"model": "opusplan",
"env": {
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-20250514",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-20250514"
}
}
这样整个团队使用相同的模型版本,避免“同一个 alias 在不同环境下解析到不同模型”的问题。
3.4 效率组合技
| 阶段 | 命令 | 模型 | 用途 |
|---|---|---|---|
| 探索 | /model haiku | Haiku(最便宜) | 快速搜索代码库、理解结构 |
| 规划 | (自动触发) | Opus(最强推理) | 架构设计、方案制定 |
| 执行 | (自动触发) | Sonnet(速度优先) | 写代码、改文件、生成测试 |
# 启动会话
claude --model opusplan
# 探索阶段(手动切 Haiku 省 token)
> /model haiku
> 帮我看一下项目中认证相关的文件都在哪
# 规划阶段(自动用 Opus)
> 帮我重构认证模块,要支持 OAuth2.0,涉及多文件改动
# Claude 自动进入规划模式,启用 Opus 深度分析
# 执行阶段(自动切 Sonnet)
> 批准,开始实现
社区经典技巧:先用 Sonnet 确认方向,复杂任务再切 Opus,避免不必要的等待。
opusplan帮你在最佳时刻自动完成切换。
第四部分:避坑指南与常见问题
❌ 常见误区
| 误区 | 真相 |
|---|---|
| opusplan 是一个独立的模型 | ❌ 它是一个模型别名,不是独立模型 |
| opusplan 会永远用 Opus | ❌ 只有规划阶段用 Opus,执行阶段自动切回 Sonnet |
| 必须手动触发规划模式 | ✅ 复杂任务 Claude 会自动判断是否进入规划模式 |
| 每个模型消耗的 token 一样 | ❌ Opus 和 Sonnet 的成本差距可达数倍,正确使用可节省大量费用 |
⚠️ 注意事项
- 规划模式是只读的:在规划阶段,Claude 不会修改任何代码,只探索和分析。这确保了方案确定前不会造成破坏。
- 必须批准才能执行:规划完成后,你必须输入“批准”或确认,Claude 才会开始写代码。
- 额度有限,且用且珍惜:Pro 用户的 Opus 调用额度有限,
opusplan能帮你最大化利用每次 Opus 调用。
🔧 环境变量优先级
启动命令行参数 > 环境变量 > settings.json > 默认值
第五部分:结语
/model opusplan 看起来只是一个小小的 slash command,但背后承载的设计哲学非常深刻:
好的 AI 工具不是让一个模型做所有事情,而是让每个模型在最适合它的场景中发挥最大价值。
Claude Opus 4.6 是 Anthropic 最强大的模型,特别适合高级软件工程、长周期 Agent 工作流和复杂的推理任务;而 Claude Sonnet 4.6 则在速度、能力和成本之间取得了更好的平衡。opusplan 把这两个模型优雅地结合起来,让你在规划阶段享受 Opus 的“大智慧”,在执行阶段享受 Sonnet 的“快手速”。
所以,下次面对复杂项目时,记得像老张那样,淡定地敲下:
/model opusplan
然后喝杯咖啡,等你的 AI 总工程师出方案。☕