按任务选模型:Opus、Sonnet、Haiku 怎么选
一句话答案:三个档位是同一家族在「能力 vs 成本」曲线上的三个点位。Haiku 用于高并发、简单判断、延迟敏感的工作;Sonnet 是编码和大多数生产任务的默认;Opus 用于困难推理、长时间运行的 agent、出错代价高的决策。一个习惯就能砍掉最多的花费:从比你直觉高一档的模型开始,只有质量真的不够才升级。
三个档位各做什么
结论:不要问「哪个最强」,要问「这个任务需要什么」。
| 档位 | 适合 | 不适合 |
|---|---|---|
| Haiku(最快、最便宜) | 分类、字段抽取、摘要、路由、简单改写、安全预检查、高频短问答 | 跨文件代码修改、复杂算法、架构权衡、高风险安全判断 |
| Sonnet(居中,生产默认) | 代码生成与重构、修 bug、写测试、代码解释、带工具调用的 agent 循环、文档生成 | — |
| Opus(最强、最贵) | 架构规划、困难 bug 排查、深度 code review、长上下文推理、上线前最终检查 | 常规任务(花钱买用不上的能力) |
按场景对照
| 场景 | 建议档位 | 原因 |
|---|---|---|
| 客服对话 | Haiku | 高频、短回答,延迟比深度重要 |
| 代码生成与重构 | Sonnet | 日常编码里质量与成本平衡最好 |
| 复杂多步 agent | Opus | 一步走错的代价高 |
| 架构与 code review | Opus | 大上下文上的深度推理胜过吞吐量 |
| 批量分类与打标 | Haiku | 简单重复的判断,单次成本最低 |
| 长文档分析 | Sonnet | 中档价格配大上下文,质量不够再升 Opus |
| 内容撰写 | Sonnet | 输出多,输出价主导账单 |
| 抽取成 JSON | Haiku | schema 约束的输出要的是速度 |
主力档位为什么通常是 Sonnet
结论:Sonnet 覆盖了绝大多数日常工程任务:仓库导航、代码生成、重构、写测试、调试、解释代码、接口改造,以及带工具调用的 agent 循环。它的优势不是在每道极限题上压过 Opus,而是在质量、速度与稳定性之间取得了很好的平衡,延迟也更容易被用户接受。
在 Claude Code、Cursor 里的代码助手、PR 辅助审查、自动修复脚本等场景,Sonnet 通常就够了。
Opus 留给哪些任务
结论:当一个低质量回答的代价很高,后续返工也很贵时,用 Opus 是划算的。
- 需求本身模糊,需要先澄清边界再拆方案;
- 架构决策影响多个服务、数据库 schema 与部署流程;
- code review 涉及性能、安全、并发、边界条件与长期可维护性;
- bug 藏在长链路调用、异步任务、缓存、权限或状态机里;
- 需要在长上下文中综合大量文件、日志与历史决策。
一个能砍掉最多花费的习惯
结论:从比你直觉高一档的模型开始,只有质量真的不够才升级。
实践上:
- 默认档位设成 Sonnet;
- 记录失败的任务(测试没过、评审被打回、用户要求重做);
- 只对失败的那类任务升级到 Opus,成功率提升的收益远大于全面升档的成本;
- 分类、抽取、路由这类步骤下沉到 Haiku。
省下来的不只是单价,还有每一轮重发的上下文,原理见为什么 Agent 比聊天更烧 token。
更好的做法是在调度层自动做这件事:根据任务类型、上下文长度、失败次数和测试结果选模型,而不是让用户每次手动判断。缓存也是同一层的事,能命中前缀的请求单价低得多,见提示缓存原理。
用你自己的任务评测,而不是排行榜
结论:公开基准只说明模型在别人设计的问题上的表现。评测你自己的任务:同一组真实 prompt、真实上下文、真实验收标准,分别在三档上跑,记录通过率、延迟、JSON 可解析率、工具调用成功率、返工次数。
对 coding workflow 还要看:能否遵循现有代码风格、会不会过度改动无关文件、能否正确理解测试失败、没证据时会不会瞎猜。
跑一轮你就知道自己团队的默认档位该设在哪里,而不是照搬别人的结论。
新档位要不要立刻上生产
结论:不要因为它更新更快就换。放进你自己的评测集,用真实 prompt 和真实验收标准测一轮:稳定格式、可重复行为、工具调用可靠性、失败模式可控,往往比单次回答的惊艳程度更重要。
常见问题
开发者应该先用哪个 Claude 模型?
大多数工作流先从 Sonnet 开始:编码、工具调用、改仓库、写测试、调试和常规 API 任务都能覆盖,且延迟更容易接受。
什么时候用 Opus 而不是 Sonnet?
任务复杂、模糊或影响面大时:架构规划、困难 bug 排查、深度 code review、长上下文推理、上线前最终检查。
Haiku 最适合做什么?
高并发、低复杂度的任务:分类、字段抽取、摘要、路由、简单改写、安全预检查和请求分流。
换模型要改代码吗?
同一个 Base URL 和 Key,换模型只是改请求里的模型 ID。可以先试便宜档,失败再重试更大的档。
相关阅读
- 降低 Claude 用量的工程方法:模型路由只是其中一步
- Claude API 怎么计费:token 构成与估算:不同档位的单价差
- Claude Code 与 Codex CLI 怎么选:换终端 agent 之前先比一遍