Claude API 开发指南
AI Engineer
Claude API 开发指南

Anthropic Claude API 提供了强大的 AI 模型访问,以安全性和准确性著称,适合企业级应用。

Claude API 开发指南快速开始

Claude API 快速开始

这页我按 Anthropic 官方 Get started 和 API overview 重新核过了。当前最基础的起手式仍然是:拿到 ANTHROPIC_API_KEY,然后直接用 Messages API 发一个最小请求。

#准备工作

#1. 获取 API Key

  1. 打开 Anthropic Console
  2. 创建账号或登录
  3. 在设置里生成 API key
  4. 立即保存

#2. 设置环境变量

bash
# macOS / Linux export ANTHROPIC_API_KEY="sk-ant-..." # Windows PowerShell $env:ANTHROPIC_API_KEY="sk-ant-..."

#3. 第一次请求

#Python

Anthropic 官方 API overview 当前的 Python 最小示例是这样的:

python
from anthropic import Anthropic client = Anthropic() message = client.messages.create( model="claude-opus-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello, Claude"}], ) print(message.content[0].text)

#curl

bash
curl https://api.anthropic.com/v1/messages \ --header "x-api-key: $ANTHROPIC_API_KEY" \ --header "anthropic-version: 2023-06-01" \ --header "content-type: application/json" \ --data '{ "model": "claude-opus-4-6", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Hello, Claude"} ] }'

我这里直接按 Anthropic 官方 overview 页面给的示例模型名来写,没有继续沿用之前那批旧 snapshot。

#先只掌握这几个点

第一次接入时,我建议只关心:

  • x-api-key
  • anthropic-version
  • messages
  • max_tokens
  • model

先把请求打通,再去研究 tool use、streaming、batch 和 prompt caching。

#官方参考

python
class ChatBot: def __init__(self, system_prompt: str = None): self.client = anthropic.Anthropic() self.system = system_prompt self.messages = [] def chat(self, user_input: str) -> str: self.messages.append({"role": "user", "content": user_input}) response = self.client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, system=self.system, messages=self.messages ) assistant_message = response.content[0].text self.messages.append({"role": "assistant", "content": assistant_message}) return assistant_message # 使用 bot = ChatBot("你是一个友好的编程助手") print(bot.chat("你好")) print(bot.chat("Python 怎么读文件?")) print(bot.chat("那写文件呢?")) # 记住上下文

#响应结构

python
message = client.messages.create(...) # 响应对象 print(message.id) # 消息 ID print(message.model) # 使用的模型 print(message.role) # "assistant" print(message.content) # 内容列表 print(message.stop_reason) # 停止原因 # 获取文本内容 text = message.content[0].text # Token 使用 print(message.usage.input_tokens) print(message.usage.output_tokens)

#错误处理

python
import anthropic client = anthropic.Anthropic() try: message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[{"role": "user", "content": "Hello"}] ) except anthropic.AuthenticationError: print("API Key 无效") except anthropic.RateLimitError: print("请求太频繁,请稍后重试") except anthropic.APIStatusError as e: print(f"API 错误: {e.status_code} - {e.message}")

#费用监控

python
message = client.messages.create(...) # Token 使用 usage = message.usage print(f"输入 tokens: {usage.input_tokens}") print(f"输出 tokens: {usage.output_tokens}") # 估算费用 (以 claude-sonnet-4-20250514 为例) # 输入: $3/M tokens, 输出: $15/M tokens input_cost = usage.input_tokens * 3 / 1_000_000 output_cost = usage.output_tokens * 15 / 1_000_000 print(f"估算费用: ${input_cost + output_cost:.4f}")

#与 OpenAI 的区别

特性Claude APIOpenAI API
认证x-api-key headerAuthorization: Bearer
系统提示system 参数messages 中的 system 角色
max_tokens必需参数可选参数
函数调用Tool UseFunction Calling
版本控制anthropic-version header

#新手常见误区

  • 忘记 max_tokens(Claude 里是必需参数)
  • 把所有业务规则堆进一段超长 system,导致维护困难
  • 没有保存请求样本,后续无法做回归对比

一句轻松提醒:
API 接入像开店,第一次开门很重要;
但真正决定能不能长期营业的,是你的流程、监控和复盘机制。

#下一步


提示:Claude API 的 max_tokens 是必需参数,与 OpenAI 不同。

System Design

系统设计必备:核心概念 + 经典案例

快速掌握取舍与设计套路,备战系统设计面试。

进入 System Design →

相关路线图