Claude Sonnet 4
Anthropic 旗舰编程模型,200K 上下文 + 64K 输出,SWE-bench 72.7%,目前 AI 编程领域最强模型之一。
规格
- 厂商
- Anthropic
- 发布日期
- 2025/5/22
- 类型
- coding
- 上下文窗口
- 200K tokens
- 最大输出
- 64K tokens
- 定价
- Input $3/M · Output $15/M · Prompt Cache $0.30/M
- API 兼容
- anthropic
基准测试
✓ 优势
- •顶级编程能力,SWE-bench 72.7%,在 Cursor / Claude Code 中表现最佳
- •artifacts 原生支持,前端代码生成即时预览
- •64K 输出窗口,长文件一次生成不截断
- •多步推理链稳定,Agent 场景下工具调用可靠
- •200K 上下文,大型代码库分析无压力
⚠ 不足
- •国内无官方 API,需走中转或 AWS Bedrock
- •价格高于竞品(GPT-4o Input $2.5/M)
- •无原生图片生成能力
- •知识截止 2025-04,近期事件不了解
适用场景
概述
Claude Sonnet 4 是 Anthropic 于 2025 年 5 月发布的旗舰模型,定位为编程与推理的全能型选手。在 SWE-bench Verified 上拿到 72.7% 的成绩,成为 Cursor、Claude Code、Cline 等主流 AI 编程工具的首选模型。
核心能力
编程
SWE-bench Verified 72.7% — 这意味着它能独立解决近 3/4 的真实 GitHub issue。在 Cursor Composer 多文件改写场景下,Sonnet 4 的成功率明显高于 GPT-4o 和 Gemini 2.5 Pro。
长上下文
200K token 上下文窗口足以容纳一个中型项目的全部源码。64K 的输出窗口让它能一次性生成完整的长文件,不会在中间截断。
Agent 工具调用
Claude Sonnet 4 的工具调用(tool use)非常稳定。在多步 Agent 工作流中,它能可靠地:
- 解析工具返回结果
- 决定下一步调用哪个工具
- 在工具失败时自动重试或换方案
- 支持 parallel tool calls,一次返回多个独立调用
Artifacts
原生支持 artifacts 功能——生成的 HTML/React/SVG 等前端代码可以直接在对话中渲染预览,不需要切换到外部工具。
API 调用示例
Python SDK
from anthropic import Anthropic
client = Anthropic(api_key="sk-ant-...")
resp = client.messages.create(
model="claude-sonnet-4-20250522",
max_tokens=4096,
temperature=0, # 编程场景建议 0,详见 wiki/temperature-top-p
system="You are an expert Python reviewer.",
messages=[
{"role": "user", "content": "Review this code:\n```python\n...\n```"}
],
)
print(resp.content[0].text)
启用 Prompt Cache(省钱关键)
长 system prompt 或工具定义放 cache_control 块里,5 分钟内复用 Input 价格 -90%:
resp = client.messages.create(
model="claude-sonnet-4-20250522",
max_tokens=4096,
system=[
{
"type": "text",
"text": "<huge_codebase_context>...</huge_codebase_context>",
"cache_control": {"type": "ephemeral"}, # ← 关键
}
],
messages=[{"role": "user", "content": "Find bugs in module X."}],
)
# 看 resp.usage.cache_read_input_tokens 确认命中
实测:50K token 的固定 system prompt 配合 cache,每次调用 Input 成本从 $0.15 降到 $0.015,重度使用月省数百刀。详见 Token 与 Context Engineering。
流式输出
with client.messages.stream(
model="claude-sonnet-4-20250522",
max_tokens=4096,
messages=[{"role": "user", "content": "Write a long article."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
关键参数
| 参数 | 推荐值 | 场景 |
|---|---|---|
temperature | 0 | 代码生成 / 工具调用 / 数据抽取 |
temperature | 0.7 | 通用对话 |
temperature | 1.0 | 创意写作 |
max_tokens | 显式设置 | 不要默认上 64K,会浪费钱 |
stop_sequences | 按需设 | 结构化输出场景提前截断 |
强烈建议工具调用场景设 temperature=0,能让函数选择和参数提取稳定 10x。原理见 Temperature 与 Top-P。
定价
| 项目 | 价格 |
|---|---|
| Input | $3 / 百万 token |
| Output | $15 / 百万 token |
| Prompt Cache Write | $3.75 / 百万 token |
| Prompt Cache Read | $0.30 / 百万 token |
对比 GPT-4o(Input $2.5/M · Output $10/M),Sonnet 4 贵约 20-50%,但编程质量更高。重度编程用户差的这点钱完全值得。
限流与并发
Anthropic 官方 API 的 rate limit 按 tier 分档(Tier 1 → Tier 4),关键三个指标:
| 指标 | Tier 1(首付费用户) | Tier 4(高消费用户) |
|---|---|---|
| RPM(请求/分钟) | 50 | 4,000 |
| ITPM(input token/分钟) | 50K | 2M |
| OTPM(output token/分钟) | 10K | 400K |
踩坑:长 prompt + 高并发场景,最先打到的不是 RPM 而是 ITPM——50K input 一发就触顶。生产环境建议先升 Tier、再做限流(exponential backoff 重试 429)、再开 prompt cache,三件套组合才能稳定撑住流量。
在国内怎么用
官方 API 不对中国大陆开放,但可以通过以下方式使用:
- AWS Bedrock — 企业级方案,需要 AWS 海外账号
- API 中转 — 国内有多家提供 Claude API 中转服务(见
/coding/api/分类) - Cursor / Claude Code — 这些工具内置了 Claude 模型,直接订阅即可
- Coze / 元器 — 国内 Agent 平台部分已接入
注意中转服务的稳定性 / 合规性差异较大,生产场景优先选 Bedrock 或自己用 Cloudflare Workers 做转发。
适用场景
- 主力编程模型:Cursor / Claude Code / Cline 的默认选择
- 代码审查:批量 PR review,比 GPT-4o 更精准
- 长文档处理:200K 上下文处理合同、论文、技术文档
- Agent 编排:多步工具调用稳定,适合 Coze / Dify 工作流
与同档模型怎么选
| 维度 | Sonnet 4 | GPT-5 | Gemini 2.5 Pro | GLM-5.2 |
|---|---|---|---|---|
| SWE-bench | 72.7% | 68.0% | 63.8% | 65.3% |
| 上下文 | 200K | 400K | 1M | 128K |
| 输出窗口 | 64K | 128K | 65K | 32K |
| 工具调用稳定性 | ★★★★★ | ★★★★☆ | ★★★★☆ | ★★★☆☆ |
| 多模态 | 图片 | 图片+音频+视频 | 全类型 | 图片 |
| Input 价格 | $3/M | $1.25/M | $1.25/M | ¥2/M |
| 国内直连 | ❌ | ❌ | ❌ | ✅ |
避坑清单
- 别忘记带版本号:
claude-sonnet-4是 alias,可能指向新版导致行为变化;生产用claude-sonnet-4-20250522这种带日期的稳定 ID。 - 系统消息位置:Anthropic 把
system单独作为参数传,不要混进messages数组里——很多从 OpenAI 迁移过来的代码会踩这个坑。 - prompt cache 失效:cache 段前面只要变一个 token,整段缓存就废了。动态内容必须放最后,详见 Context Engineering。
- 工具定义重复发:每轮对话都把工具定义重发会浪费 input token。配合 prompt cache 把工具定义标记为可缓存。
- 超时设置:默认 SDK 超时 600 秒,长 Agent 任务可能不够。显式设
client = Anthropic(timeout=1800)。
延伸阅读
- 调用模式:Function Calling
- 省钱:Context Engineering / Token
- 采样:Temperature 与 Top-P
- Agent 视角:AI Agent