对比
Claude Sonnet 5 与 Opus 5 该选哪个
两者都是 100 万 token 上下文、同样的 0.1 倍率。Opus 的输入和输出都贵 1.67 倍——什么时候这笔钱花得值。
差别在价格,不在能力档位
大家最先比的那些规格,Sonnet 5 和 Opus 5 是一样的:都是 100 万 token 上下文,最多输出 12.8 万 token,都支持工具调用和扩展思考,都走 /v1/messages。谁也不是谁的缩水版。
分歧在价格。官方定价 Sonnet 输入每百万 token 3 美元、Opus 5 美元;输出分别是 15 和 25 美元。在这里两者都按 0.1 倍率计费,所以比例不变——Opus 大约贵 1.67 倍。
这一点的实际后果是:日常写代码,两者给出的答案在结构上没什么区别,价差就是全部的区别。什么时候不再成立,是下一节的内容。
这笔价差换来什么
Sonnet 5 本来就能胜任的活儿,两者给出的答案在结构上没有差别,那 1.67 倍花在了看不出来的地方。日常改代码、写测试、多步工具调用,多半属于这一类。
差距出现在长推理链上——早期一步偏差会顺着后面每一步放大;以及答错的代价远高于 token 成本的场景。这两点都不是从任务描述上能判断的,得看你自己的任务,所以真正有用的做法是同一个 prompt 分别跑两个 id,对比结果。
两者走同一个端点、同样的请求结构,切换只是改一个字段,做一次对比也就多花一次调用。
curl https://token-share.app/v1/messages \
-H "x-api-key: $TOKEN_SHARE_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Explain this stack trace."}]
}'100 万 token 上下文做不到的事
100 万 token 是容量,不是记忆力。窗口是空是满,两个模型的单价都一样,所以每次请求都把整个仓库贴进去,只会让账单翻倍,不会让答案变好。
当长前缀确实会重复时——系统提示词、对话反复引用的某个文件——真正起作用的是提示词缓存。缓存读取与新输入分开计价,稳定的前缀就不必每轮都按全价重算。