claude·
关于 Claude 4 的一些内容
Opus 4 在编程、研究、写作和科学发现方面突破了边界,而 Sonnet 4 则作为 Sonnet 3.7 的即时升级,将前沿性能带入日常应用场景。
提示风格变化
- Claude 4 模型对清晰、明确的指令反应良好。
- 在你的指令中提供上下文或动机,例如向 Claude 解释为什么这种行为很重要,可以帮助 Claude 4 更好地理解你的目标,并提供更有针对性的回应。 Claude 足够聪明,能够从解释中进行推理泛化。
- Claude 4 模型在遵循指令时会关注细节和示例。请确保你的示例与希望鼓励的行为保持一致,并尽量减少你希望避免的行为。
- 告诉 Claude 应该做什么,而不是不该做什么。
- 使用 XML 格式标记。
- 将你的提示风格与期望的输出风格相匹配。你在提示中使用的格式风格可能会影响 Claude 的回应风格。
- (对于前端:)用修饰语来表达你的指令:添加可以鼓励 Claude 提高输出质量和细节的修饰语,有助于更好地引导 Claude 的表现。例如,不要只是说“创建一个分析仪表板”,而是说“创建一个分析仪表板。尽可能加入更多相关功能和交互。在基础功能之外,创建一个功能全面的实现。”
模型名称变化
Model (模型) | Alias (别名) | Model ID (模型 ID) |
---|---|---|
Claude Opus 4 | claude-opus-4-0 | claude-opus-4-20250514 |
Claude Sonnet 4 | claude-sonnet-4-0 | claude-sonnet-4-20250514 |
Claude Sonnet 3.7 | claude-3-7-sonnet-latest | claude-3-7-sonnet-20250219 |
Claude Sonnet 3.5 | claude-3-5-sonnet-latest | claude-3-5-sonnet-20241022 |
Claude Haiku 3.5 | claude-3-5-haiku-latest | claude-3-5-haiku-20241022 |
Claude Opus 3 | claude-3-opus-latest | claude-3-opus-20240229 |
Claude 模型对比
特性 | Claude Opus 4 | Claude Sonnet 4 | Claude Sonnet 3.7 | Claude Sonnet 3.5 | Claude Haiku 3.5 | Claude Opus 3 | Claude Haiku 3 |
---|---|---|---|---|---|---|---|
描述 | 我们最强大的模型 | 高性能模型 | 具有早期扩展思维的高性能模型 | 我们之前的智能模型 | 我们最快的模型 | 适用于复杂任务的强大模型 | 快速紧凑、响应近乎即时的模型 |
优势 | 最高水平的智能和能力 | 高智能和均衡的性能 | 高智能,可切换扩展思维 | 高水平的智能和能力 | 速度极快的智能 | 顶级的智能、流畅度和理解力 | 快速准确的定向性能 |
多语言 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
视觉 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
扩展思维 | 是 | 是 | 是 | 否 | 否 | 否 | 否 |
优先层级 | 是 | 是 | 是 | 是 | 是 | 否 | 否 |
API 模型名称 | claude-opus-4-20250514 | claude-sonnet-4-20250514 | claude-3-7-sonnet-20250219 | 升级版本: claude-3-5-sonnet-20241022 之前版本: claude-3-5-sonnet-20240620 | claude-3-5-haiku-20241022 | claude-3-opus-20240229 | claude-3-haiku-20240307 |
相对延迟 | 中等快 | 快 | 快 | 快 | 最快 | 中等快 | 快 |
上下文窗口 | 200K | 200K | 200K | 200K | 200K | 200K | 200K |
最大输出 | 32000 tokens | 64000 tokens | 64000 tokens | 8192 tokens | 8192 tokens | 4096 tokens | 4096 tokens |
训练数据截止 | 2025年3月 | 2025年3月 | 2024年11月 | 2024年4月 | 2024年7月 | 2023年8月 | 2023年8月 |
- 尽管 Claude Sonnet 3.7 的训练数据包含了截至 2024 年 11 月的公开信息,但其知识截止日期为 2024 年 10 月底。这意味着模型对 2024 年 10 月之前的信息和事件的知识基础最广泛和可靠.
- Claude Opus 4 训练日期截止 2025 年 3 月
Claude 4 模型支持将工具使用与扩展思考交错进行,使得工具使用和回复可以与常规消息混合,实现更自然的对话体验。用interleaved-thinking-2025-05-14 头.
交错式思考会放大缓存失效的情况,因为思考模块可能会出现在多次工具调用之间, 通过交错式思考, budget_tokens 可以超过 max_tokens 参数,因为它代表了在一次助手轮次中所有思考模块的总预算。
不再支持token-efficient-tools-2025-02-19头,也不支持output-128k-2025-02-19
模型对比:
Claude Sonnet 4相比3.7:
- 具备更强的推理和智能能力
- 更高的工具使用准确性
Claude Opus 4:
- 比 Sonnet 模型更慢
- 最适合需要深入分析的复杂任务
思考总结
接口会显示思考总结
{
"content": [
{
"type": "thinking",
"thinking": "Let me analyze this step by step...",
"signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
},
{
"type": "text",
"text": "Based on my analysis..."
}
]
示例代码:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?"
}]
)
# The response will contain summarized thinking blocks and text blocks
for block in response.content:
if block.type == "thinking":
print(f"\nThinking summary: {block.thinking}")
elif block.type == "text":
print(f"\nResponse: {block.text}")
在使用工具时,您必须将 thinking 模块完整无修改地传回 API。这对于保持模型的推理流程和对话完整性至关重要。
import anthropic
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-leopard-v0-34-prod",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "What is 27 * 453?"}],
) as stream:
thinking_started = False
response_started = False
for event in stream:
if event.type == "content_block_start":
print(f"\nStarting {event.content_block.type} block...")
# Reset flags for each new block
thinking_started = False
response_started = False
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
if not thinking_started:
print("Thinking: ", end="", flush=True)
thinking_started = True
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
if not response_started:
print("Response: ", end="", flush=True)
response_started = True
print(event.delta.text, end="", flush=True)
elif event.type == "content_block_stop":
print("\nBlock complete.")
您将按照原始请求生成的全部思维 Token 收费,而非摘要 Token。
计费的输出标记数量与您在响应中看到的标记数量可能不一致。
思维输出的前几行较为冗长,提供了详细的推理,这对提示工程尤为有用。
上下文组成:
context window = (current input tokens - previous thinking tokens) + (thinking tokens + encrypted thinking tokens + text output tokens)
完整的思维内容被加密并返回在 signature 字段中。这个字段用于在传回 API 时验证思维块是否由 Claude 生成。