2.

Anthropic Claude API 入門|Claude 4 / Prompt Caching / Tool Use 完全ガイド

編集
この記事の要点
  • Anthropic Claude API: Claude 4 (Opus / Sonnet / Haiku) をプログラムから呼べる API
  • セットアップ: console.anthropic.com で API キー発行 → pip install anthropic
  • 強み: 200K トークンの長文コンテキスト、Prompt Caching で大幅コスト削減、Tool Use、Vision
  • 独自機能: Computer Use (β) で PC 操作代行、Prompt Caching でキャッシュ部分を 90% 割引
  • OpenAI 互換: messages.create() は OpenAI 同等の API 形状で移行しやすい
  • 用途: 長文 PDF 分析、コーディング Agent、社内ナレッジ Bot

Anthropic Claude API とは

Anthropic Claude API は、Claude.aiClaude Code の頭脳である Claude 4 (Opus / Sonnet / Haiku) をプログラムから呼び出せる REST API です。2025 年現在、OpenAI API と並ぶ 2 大 LLM API の一翼を担っており、特に長文処理コーディングで強い評価を得ています。

API 設計は OpenAI の Chat Completions API に似ており、すでに OpenAI API を使ったことがあれば数十分で移行可能。さらに Prompt Caching という独自機能でキャッシュ部分を最大 90% 安く呼べたり、Computer Use で AI に PC を操作させたりと、Claude ならではの機能も揃っています。

セットアップ・準備

1. API キーの取得

  1. console.anthropic.com にアクセスして Anthropic アカウントでログイン
  2. 左メニューから「API Keys」を選択
  3. 「Create Key」をクリックして名前を入力
  4. sk-ant-... 形式のキーを必ずコピーして保管(再表示不可)
  5. 「Billing」で支払い情報登録(最低 $5 から)

2. Python での環境構築

pip install anthropic

# 環境変数にキーを設定(推奨)
export ANTHROPIC_API_KEY="sk-ant-..."     # Linux / Mac
setx ANTHROPIC_API_KEY "sk-ant-..."        # Windows

3. Node.js での環境構築

npm install @anthropic-ai/sdk
# 環境変数 ANTHROPIC_API_KEY を .env に設定

最初のコード — Hello World

Python 版

import anthropic

client = anthropic.Anthropic()  # ANTHROPIC_API_KEY 環境変数から自動読み込み

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system="あなたは親切で正確な日本語アシスタントです。",
    messages=[
        {"role": "user", "content": "Claude API の特徴を 5 行で説明して"}
    ]
)

print(message.content[0].text)
print(f"入力トークン: {message.usage.input_tokens}")
print(f"出力トークン: {message.usage.output_tokens}")

Node.js 版

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

const client = new Anthropic();  // process.env.ANTHROPIC_API_KEY から自動

const message = await client.messages.create({
    model: "claude-sonnet-4-5",
    max_tokens: 1024,
    system: "あなたは親切な日本語アシスタントです。",
    messages: [
        { role: "user", content: "TypeScript で二分探索を実装して" }
    ]
});

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

主要機能

機能説明強み・用途
Messages API会話形式でテキスト生成OpenAI 互換、移行容易
Streamingレスポンスを逐次受信UX 改善
Prompt Caching長いプロンプトの一部をキャッシュ★ 最大 90% のコスト削減
Tool UseAI に関数(ツール)を呼ばせるAgent 開発・外部 API 連携
Vision画像入力OCR・図解分析
200K Context長文コンテキスト★ 文庫本 1 冊分の入力可
Computer Use (β)マウス・キーボード操作代行★ Claude 独自・Agent 自動化
Extended Thinking長時間思考モード難問・複雑タスクで精度向上
Batch API大量リクエストを 50% 安くバルク処理

モデル選択

モデル入力 ($/1M)出力 ($/1M)用途
claude-opus-4$15.00$75.00★ 最高知能・難問対応
claude-sonnet-4-5$3.00$15.00★ 万能・推奨デフォルト
claude-haiku-4$0.80$4.00軽量・高速・大量処理

実践コード例

例 1: Tool Use(AI に DB 検索させる)

import anthropic

client = anthropic.Anthropic()

tools = [{
    "name": "search_customers",
    "description": "顧客 DB から名前で検索",
    "input_schema": {
        "type": "object",
        "properties": {
            "name": {"type": "string", "description": "顧客名"}
        },
        "required": ["name"]
    }
}]

response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": "山田太郎さんの情報を調べて"}]
)

for block in response.content:
    if block.type == "tool_use":
        print(f"ツール呼出: {block.name}({block.input})")
        # → search_customers({'name': '山田太郎'}) を実 DB に投げる

例 2: Prompt Caching(コスト 90% 削減)

import anthropic
client = anthropic.Anthropic()

# 巨大なシステムプロンプト(社内マニュアル等)をキャッシュ化
large_manual = open("manual.md").read()  # 5万トークン想定

response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system=[{
        "type": "text",
        "text": large_manual,
        "cache_control": {"type": "ephemeral"}  # ← この一行でキャッシュ
    }],
    messages=[{"role": "user", "content": "退職手続きの手順を教えて"}]
)
# 2回目以降の呼び出しは入力部分が 90% 安くなる

例 3: Vision(画像入力)

import anthropic, base64, httpx

client = anthropic.Anthropic()
image_data = base64.standard_b64encode(
    httpx.get("https://example.com/chart.png").content
).decode("utf-8")

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "image", "source": {
                "type": "base64",
                "media_type": "image/png",
                "data": image_data
            }},
            {"type": "text", "text": "このグラフから読み取れる傾向は?"}
        ]
    }]
)
print(message.content[0].text)

料金・トークン消費

Claude API は従量課金。Prompt Caching を活用すると、入力部分のキャッシュヒット分は通常料金の 10% になります。例えば Sonnet 4.5 で 5 万トークンの社内マニュアルを毎回読ませる場合:

  • キャッシュなし: 5万 × $3 / 100万 = $0.15 / 回
  • キャッシュあり (2回目以降): 5万 × $0.30 / 100万 = $0.015 / 回
  • 1日 1,000 回呼ぶ社内 Bot なら、月 $4,500 → $450 の節約

OpenAI API との比較(Sonnet vs GPT-5)

Claude Sonnet 4.5GPT-5
入力 ($/1M)$3.00$1.25
出力 ($/1M)$15.00$10.00
コンテキスト長★ 200K128K (一部 1M)
Prompt Caching★ 90% 割引50% 割引
コーディング性能★ 高評価同等

注意点・落とし穴

  • API キーの管理: OpenAI と同じく漏洩厳禁。GitHub Push Protection を ON に
  • max_tokens は必須: OpenAI と違って省略不可、忘れるとエラー
  • system プロンプト: messages 内ではなく独立した system パラメータで渡す
  • Prompt Caching の最小サイズ: 1,024 tokens 以上が必要、短すぎるとキャッシュされない
  • キャッシュ TTL: ephemeral は 5 分、その後再生成必要
  • Computer Use はベータ: 商用利用は注意、まだ実験段階
  • レート制限: Tier ごとに RPM / TPM 制限、Tier を上げるには $使用実績が必要

関連リンク

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. OpenAI API 入門 — Python / Node.js から GPT-5 を呼ぶ
  2. Anthropic Claude API 入門 — Claude 4 を使い倒す
  3. RAG (Retrieval-Augmented Generation) 入門
  4. LangChain 入門 — LLM アプリ開発フレームワーク

最近更新/作成されたページ