# 模型选择策略
Claude 目前有三个主力模型:Haiku、Sonnet、Opus。 ChatGPT 目前主力模型: Luna、Terra、Sol, 它们能力不同、价格差几倍。根据任务选合适的模型能大幅节省成本。
# 三个模型的特点
| 模型 | 能力 | 速度 | 价格(相对) | 典型 task |
|---|---|---|---|---|
| Haiku/Luna | 基础 | 最快 | 1x | 分类、提取、格式转换 |
| Sonnet/Terra | 均衡 | 中等 | 3-4x | 日常 coding、常规设计 |
| Opus/Sol | 最强 | 最慢 | 10-15x | 复杂架构、深度 debug、大 refactor |
具体模型 ID每隔几个月更新一次,以官方文档为准。
# 什么任务用什么模型
# 用 Haiku/Luna(最便宜)的场景
- 结构化提取:从一段文本里提取出字段(email、phone、price)
- 格式转换:JSON ↔ YAML ↔ markdown table
- 分类:判断这条消息是 spam / normal / urgent
- 简单总结:300 字文章总结成 50 字
- 模板填充:按固定模板生成文本
Haiku 够强,而且成本是 Opus 的 1/10。
# 用 Sonnet/Terra(日常默认)的场景
- 大多数日常 coding:写 API endpoint、改 Vue 组件、修小 bug
- 代码 review:看一段 100 行代码找问题
- 文档撰写:写 README、API 文档
- debugging:已知错误原因,需要修复
- 项目内 refactor:改 1-5 个文件的 refactor
Sonnet 对 80% 的日常 coding task 够用。
# 用 Opus/Sol(只在必要时)的场景
- 复杂架构设计:新 feature 涉及 10+ 文件、多层依赖、多 provider
- 深度 debug:错误原因不明显,需要跨多个层级分析
- 大 refactor:20+ 文件的结构调整、设计模式迁移
- 脑洞任务:生成创意、brainstorm、诗歌、复杂叙事
- 边界 case:Sonnet 反复给错的、Claude 觉得"不确定"的任务
Opus/Sol 贵 3-4x,只在看到价值时用。
# 怎么在会话内切换模型
例如Claude Code 支持运行时切换:
/model haiku
会话内接下来的消息用 Haiku。
/model sonnet
或
/model opus
典型用法:
- 新 session 默认用 Sonnet 处理日常
- 发现要设计复杂 feature →
/model opus切到 Opus 来 plan - Plan 完进入具体实现 →
/model sonnet切回来省钱 - 有个纯格式转换的子任务 →
/model haiku切一次,完事再切回
# 自动化小贴士
Claude/ChatGPT 在复杂任务里自己会决定用哪个模型(比如内置的 skill 和 subagent dispatch 会按任务复杂度自动选)。但你手动发的消息默认都用当前 /model 设定,建议:
- 默认 Sonnet(cost / capability 最平衡)
- 启动项目时开头就设:
/model sonnet - 复杂场景临时切 Opus,用完切回
# 成本对比示例
写一个简单 CRUD API(5 个 endpoint):
| 模型 | 预计 token | 预计成本(USD) |
|---|---|---|
| Haiku | 50K | $0.04 |
| Sonnet | 40K | $0.16 |
| Opus | 35K | $0.53 |
Haiku 在简单 CRUD 上 token 消耗不低(因为能力偏弱有时需要多次澄清),但单价低,总成本是 Opus 的 8%。
一个完整的 feature 重构(30 文件、多层依赖):
| 模型 | 预计 token | 预计成本(USD) |
|---|---|---|
| Haiku | 做不了(能力不够) | - |
| Sonnet | 做不好(可能要多轮返工) | - |
| Opus | 600K | $9.00 |
复杂任务只能用 Opus,省不了。