0Pricing
AI Agents · レッスン

Anthropic APIの呼び出し:messages

Anthropic messages APIの使い方を学びます。OpenAIとの違い、system promptの配置、Claude固有のベストプラクティスを扱います。

「Anthropic APIの呼び出し:messages」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

なぜAnthropicなのか?

Claudeモデルは、同等のOpenAIモデルと比べて、指示への追従、ツールの利用、コンテキストウィンドウの長さに優れていることが多く、低コストの場合もあります。

本番環境のエージェントの多くは、フォールバックとして両方のプロバイダーに対応しています。

Install the SDK

# pip install anthropic
import anthropic
client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from env

最初の呼び出し

エンドポイントはmessages.createです。

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    system='You are a concise assistant.',
    messages=[
        {'role': 'user', 'content': 'Capital of France?'},
    ],
)
print(response.content[0].text)
# 'Paris.'

OpenAIとの主な違い

  1. systemはメッセージではなく、トップレベルのパラメーターです
  2. max_tokensは必須です
  3. contentはブロック(text、tool_useなど)のリストです
  4. nパラメーターはありません。複数回呼び出してください

コンテンツブロック

テキストのレスポンスであっても、ブロックのリストとして返されます。

response.content              # list of blocks
response.content[0].type      # 'text' or 'tool_use'
response.content[0].text      # the text content
response.stop_reason          # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokens

複数ブロックのコンテンツ

userメッセージでコンテンツブロックのリスト(画像やツールの結果など)を送信することもできます。

messages = [{
    'role': 'user',
    'content': [
        {'type': 'text', 'text': 'What is in this image?'},
        {'type': 'image', 'source': {
            'type': 'base64',
            'media_type': 'image/png',
            'data': image_base64
        }}
    ]
}]

assistantの事前入力

レスポンスの開始形式を指定できます。

messages = [
    {'role': 'user', 'content': 'Return a JSON object.'},
    {'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    messages=messages,
)
# Output starts after '{', guaranteed to be JSON.

ツールの使用

Anthropicのツール形式はOpenAIと似ていますが、input_schemaを使用します。

tools = [{
    'name': 'get_weather',
    'description': 'Get current weather',
    'input_schema': {
        'type': 'object',
        'properties': {'city': {'type': 'string'}},
        'required': ['city']
    }
}]

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    tools=tools,
    messages=messages,
)
if response.stop_reason == 'tool_use':
    for block in response.content:
        if block.type == 'tool_use':
            print(block.name, block.input)

ツール結果の返却

ツールの結果は、tool_resultブロックを含むユーザーメッセージに入れます。

messages.append({
    'role': 'user',
    'content': [{
        'type': 'tool_result',
        'tool_use_id': 'toolu_abc',
        'content': json.dumps(weather_data)
    }]
})

プロンプトキャッシュ

Anthropicはプロンプトキャッシュに対応しています。長い静的なプレフィックスにcache_controlを付けると、キャッシュヒット時の料金は10%になります。

system = [
    {'type': 'text', 'text': '...long system prompt...',
     'cache_control': {'type': 'ephemeral'}}
]
for block in system:
    print(f"type={block['type']} cache_control={block['cache_control']}")
    print("text preview:", block['text'][:30])

拡張思考

Claudeには「extended thinking」モードがあり、回答する前に内部で推論します。

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=4096,
    thinking={'type': 'enabled', 'budget_tokens': 2048},
    messages=messages,
)

システムプロンプトの場所

Anthropic APIでは、システムプロンプトをどこに指定するのでしょうか。

まとめ

これで、2つの主要プロバイダーを呼び出せるようになりました。違いは小さいものの実在するため、多くのチームでは両者を切り替えられる薄いアダプターを構築します。

よくある質問

「Anthropic APIの呼び出し:messages」レッスンは無料ですか?

はい。「Anthropic APIの呼び出し:messages」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「Anthropic APIの呼び出し:messages」で何を学びますか?

Anthropic messages APIの使い方を学びます。OpenAIとの違い、system promptの配置、Claude固有のベストプラクティスを扱います。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Anthropic APIの呼び出し:messages」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. OpenAI APIの呼び出し:chat.completions
  2. Anthropic APIの呼び出し:messages
  3. レスポンスのストリーミング(SSE)
  4. コストを意識する:トークン数のカウントと予算
← AI Agentsに戻る