logo

Claude API 快速开始

本指南帮助你在 5 分钟内完成 Claude API 的第一次调用。

如果你第一次接入 Claude API,把目标设为“先跑通,再规范”。
先点亮第一盏灯,再升级配电系统,比一上来追求完美架构更稳。

准备工作

1. 获取 API Key

  1. 访问 Anthropic Console
  2. 注册或登录账号
  3. 进入 API Keys 页面
  4. 点击 "Create Key"
  5. 复制并安全保存

⚠️ 重要:API Key 只显示一次,请立即保存!

读者任务目标

  • 目标 1:完成一次成功调用并拿到文本输出
  • 目标 2:掌握 system + messages 的基础组织方式
  • 目标 3:建立最小错误处理和费用观察能力

2. 设置环境变量

# macOS / Linux
export ANTHROPIC_API_KEY="sk-ant-..."

# Windows PowerShell
$env:ANTHROPIC_API_KEY="sk-ant-..."

# 或在 .env 文件中
ANTHROPIC_API_KEY=sk-ant-...

Python 快速开始

安装

pip install anthropic

第一次调用

import anthropic

client = anthropic.Anthropic()  # 自动读取环境变量

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "用一句话介绍 Claude"}
    ]
)

print(message.content[0].text)

运行结果

Claude 是 Anthropic 开发的 AI 助手,以安全、有帮助和诚实为核心设计理念。

Node.js 快速开始

安装

npm install @anthropic-ai/sdk

第一次调用

import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic();  // 自动读取环境变量

async function main() {
  const message = await client.messages.create({
    model: 'claude-sonnet-4-20250514',
    max_tokens: 1024,
    messages: [
      { role: 'user', content: '用一句话介绍 Claude' }
    ]
  });

  console.log(message.content[0].text);
}

main();

使用 curl

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "用一句话介绍 Claude"}
    ]
  }'

核心概念

Messages 结构

messages = [
    {"role": "user", "content": "你好"},
    {"role": "assistant", "content": "你好!有什么我可以帮助你的?"},
    {"role": "user", "content": "介绍一下你自己"}
]

# 使用 system 参数设置系统提示
message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    system="你是一个专业的 Python 程序员",
    messages=messages
)

角色说明

角色作用
user用户的输入
assistantAI 的回复(多轮对话时需要包含)
system通过 system 参数设置

常用参数

message = client.messages.create(
    model="claude-sonnet-4-20250514",  # 模型
    max_tokens=1024,             # 必需:最大输出 token
    system="系统提示",            # 可选:系统指令
    messages=[...],              # 必需:对话消息
    temperature=0.7,             # 可选:创造性 (0-1)
    top_p=0.9,                   # 可选:采样参数
    stop_sequences=["END"]       # 可选:停止词
)

temperature 参数

0.0 - 最确定,适合代码/分析
0.5 - 平衡
1.0 - 最有创意

一个好记类比:
temperature 像“开会时允许自由发挥的比例”。
越低越像按流程办事,越高越像头脑风暴。

模型选择

推荐模型

模型特点价格
claude-sonnet-4-20250514最强综合性能中等
claude-3-opus-20240229最强推理最高
claude-3-5-haiku-20241022最快最便宜最低

模型 ID

# 推荐日常使用
model = "claude-sonnet-4-20250514"

# 复杂推理任务
model = "claude-3-opus-20240229"

# 预算敏感/高并发
model = "claude-3-5-haiku-20241022"

完整示例

简单问答

import anthropic

client = anthropic.Anthropic()

def ask(question: str) -> str:
    message = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        messages=[
            {"role": "user", "content": question}
        ]
    )
    return message.content[0].text

# 使用
answer = ask("Python 和 JavaScript 的主要区别是什么?")
print(answer)

带系统提示

def ask_expert(question: str, expertise: str) -> str:
    message = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        system=f"你是一位{expertise}专家,用简洁专业的语言回答问题。",
        messages=[
            {"role": "user", "content": question}
        ]
    )
    return message.content[0].text

# 使用
answer = ask_expert(
    "如何优化 React 应用性能?",
    "前端开发"
)

多轮对话

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("那写文件呢?"))  # 记住上下文

响应结构

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)

错误处理

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}")

费用监控

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 不同。

Claude API 开发指南
AI Engineer

Claude API 开发指南

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

Claude API 开发指南快速开始

Claude API 快速开始

本指南帮助你在 5 分钟内完成 Claude API 的第一次调用。

如果你第一次接入 Claude API,把目标设为“先跑通,再规范”。
先点亮第一盏灯,再升级配电系统,比一上来追求完美架构更稳。

#准备工作

#1. 获取 API Key

  1. 访问 Anthropic Console
  2. 注册或登录账号
  3. 进入 API Keys 页面
  4. 点击 "Create Key"
  5. 复制并安全保存

⚠️ 重要:API Key 只显示一次,请立即保存!

#读者任务目标

  • 目标 1:完成一次成功调用并拿到文本输出
  • 目标 2:掌握 system + messages 的基础组织方式
  • 目标 3:建立最小错误处理和费用观察能力

#2. 设置环境变量

bash
# macOS / Linux export ANTHROPIC_API_KEY="sk-ant-..." # Windows PowerShell $env:ANTHROPIC_API_KEY="sk-ant-..." # 或在 .env 文件中 ANTHROPIC_API_KEY=sk-ant-...

#Python 快速开始

#安装

bash
pip install anthropic

#第一次调用

python
import anthropic client = anthropic.Anthropic() # 自动读取环境变量 message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[ {"role": "user", "content": "用一句话介绍 Claude"} ] ) print(message.content[0].text)

#运行结果

Claude 是 Anthropic 开发的 AI 助手,以安全、有帮助和诚实为核心设计理念。

#Node.js 快速开始

#安装

bash
npm install @anthropic-ai/sdk

#第一次调用

typescript
import Anthropic from '@anthropic-ai/sdk'; const client = new Anthropic(); // 自动读取环境变量 async function main() { const message = await client.messages.create({ model: 'claude-sonnet-4-20250514', max_tokens: 1024, messages: [ { role: 'user', content: '用一句话介绍 Claude' } ] }); console.log(message.content[0].text); } main();

#使用 curl

bash
curl https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 1024, "messages": [ {"role": "user", "content": "用一句话介绍 Claude"} ] }'

#核心概念

#Messages 结构

python
messages = [ {"role": "user", "content": "你好"}, {"role": "assistant", "content": "你好!有什么我可以帮助你的?"}, {"role": "user", "content": "介绍一下你自己"} ] # 使用 system 参数设置系统提示 message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, system="你是一个专业的 Python 程序员", messages=messages )

#角色说明

角色作用
user用户的输入
assistantAI 的回复(多轮对话时需要包含)
system通过 system 参数设置

#常用参数

python
message = client.messages.create( model="claude-sonnet-4-20250514", # 模型 max_tokens=1024, # 必需:最大输出 token system="系统提示", # 可选:系统指令 messages=[...], # 必需:对话消息 temperature=0.7, # 可选:创造性 (0-1) top_p=0.9, # 可选:采样参数 stop_sequences=["END"] # 可选:停止词 )

#temperature 参数

0.0 - 最确定,适合代码/分析
0.5 - 平衡
1.0 - 最有创意

一个好记类比:
temperature 像“开会时允许自由发挥的比例”。
越低越像按流程办事,越高越像头脑风暴。

#模型选择

#推荐模型

模型特点价格
claude-sonnet-4-20250514最强综合性能中等
claude-3-opus-20240229最强推理最高
claude-3-5-haiku-20241022最快最便宜最低

#模型 ID

python
# 推荐日常使用 model = "claude-sonnet-4-20250514" # 复杂推理任务 model = "claude-3-opus-20240229" # 预算敏感/高并发 model = "claude-3-5-haiku-20241022"

#完整示例

#简单问答

python
import anthropic client = anthropic.Anthropic() def ask(question: str) -> str: message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[ {"role": "user", "content": question} ] ) return message.content[0].text # 使用 answer = ask("Python 和 JavaScript 的主要区别是什么?") print(answer)

#带系统提示

python
def ask_expert(question: str, expertise: str) -> str: message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, system=f"你是一位{expertise}专家,用简洁专业的语言回答问题。", messages=[ {"role": "user", "content": question} ] ) return message.content[0].text # 使用 answer = ask_expert( "如何优化 React 应用性能?", "前端开发" )

#多轮对话

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 →

相关路线图