Claude APIAnthropic APIExtended ThinkingPrompt Caching

Claude APIの使い方:2026年 完全開発者ガイド

約1分

Claudeは「base_urlが違うだけのGPT」ではありません。Claude APIには独自のプロトコル——Anthropic Messages API——と、OpenAI互換レイヤーを通すと失われる独自の強みがあります。

拡張思考——Claudeが内部の推論をステップごとに示す機能。反復入力が90%割引になるプロンプトキャッシュ。メッセージ構造に深く統合された(後付けではない)ツール使用。

OpenAI互換エンドポイント経由でClaudeを使うと、これらすべてを失います。

このガイドは、Claude APIを設計どおりに使う方法を扱います:ネイティブプロトコル、全機能セット、本番対応。Anthropicが直接アクセスをブロックしている地域にいる場合、Anthropicネイティブ対応の集約プラットフォーム経由でコード例はそのまま動きます——ANTHROPIC_BASE_URL をプラットフォームエンドポイントに設定し、プラットフォームのAPIキーを使います。

2026年のClaudeモデル

モデルInput $/MOutput $/MContextSWE-bench最適な用途
Claude Opus 4.8$5.00$25.001M88.6%複雑なデバッグ、アーキテクチャ上の意思決定
Claude Sonnet 4.6$3.00$15.001M~85%日常のコーディング、コンテンツ作成、分析
Claude Haiku 4.5$1.00$5.00200K~78%大量の単純なタスク、コスト重視

Fable 5とMythos 5——SWE-bench 95%のClaude次世代モデル——は2026年6月、米国輸出規制により停止されました。2026年7月現在、すべてのAPIユーザーが利用できません。もし利用可能になった場合、このガイドのプロトコルとパターンはそのまま適用されます。

タスク別のClaude選び。 誤答のコストがAPI呼び出しより高いタスク——複雑なデバッグ、セキュリティ監査、法務分析——にはOpus。日常的な開発——コード生成、PRレビュー、コンテンツ執筆——にはSonnet。大量・単純なタスク——分類、抽出、基本Q&A——で、コストが最大深度より重要ならHaiku。

Anthropicネイティブプロトコル:OpenAI互換の先へ

AnthropicのMessages APIは、OpenAIのChat Completions APIとは根本的に異なります。違いは見た目だけではありません——OpenAI互換の世界には存在しない機能を可能にします。

主要な構造的違い。 システムプロンプトはトップレベルパラメータであり、メッセージロールではありません。メッセージはuserassistantロールを交互に繰り返します。

ツール使用とツール結果はメッセージ内のコンテンツブロック型であり、別のメッセージロールではありません。思考ブロックはモデルの内部推論を明らかにするコンテンツ型です。

これらの違いが、Claude Code、AnthropicネイティブのCursor、その他のClaudeネイティブツールがネイティブプロトコルを必須とする理由です——そのUX全体が、OpenAI互換翻訳が剥ぎ取ってしまう機能に依存しているからです。

Python——ネイティブAnthropic SDK:

import anthropic

client = anthropic.Anthropic(
    base_url="https://api.tokspan.com/anthropic",  # Native protocol endpoint
    api_key="ts-your-key-here"
)

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    system="You are a senior software engineer. Answer with code when appropriate.",
    messages=[
        {"role": "user", "content": "Write a Python function to detect deadlocks in a concurrent system."}
    ]
)

print(response.content[0].text)

OpenAI互換翻訳で失うもの。 拡張思考(モデルの内部推論チェーン)は剥ぎ取られます——思考トークンには支払っているのに、その内容は決して見えません。ツール使用は劣化します——構造化されたtool_useコンテンツブロックがフラットなJSONになり、型情報とストリーミング部分結果を失います。モデルは推論と行動を交互にできなくなり、リアルタイムツール実行に依存するエージェントループは実際の結果ではなく作り物の結果を見ます。Computer useはまったく動きません——OpenAI相当物のないネイティブプロトコル機能に依存するからです。

単純なチャット以上にClaudeを使うなら、ネイティブプロトコルを使いましょう。90%割引のプロンプトキャッシュもネイティブプロトコルが必要です——OpenAI互換レイヤーは通常cache_controlマーカーを伝搬しません。

拡張思考と思考ブロック

拡張思考はClaudeの最も特徴的な機能です。モデルは応答を生成する前に内部の連鎖思考推論を行います。思考を有効にすると、この推論が見えます——Anthropicの拡張思考ガイドが設定とベストプラクティスを説明しています——これはプロンプトのデバッグ、モデルの決定の理解、複雑な出力への信頼構築に非常に価値があります。

思考の仕組み。 budget_tokens値(最小1,024)でthinkingパラメータを設定します。Claudeは内部推論にそのトークン数までを割り当てます。それらのトークンは出力レートで課金されます。

思考後、Claudeは可視応答を生成します。思考はテキスト応答とは別のthinkingコンテンツブロックで返されます。

思考の設定:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2000,
    thinking={
        "type": "enabled",
        "budget_tokens": 2048  # Allow up to 2,048 tokens for reasoning
    },
    messages=[
        {"role": "user", "content": "Analyze this distributed system design for failure modes."}
    ]
)

# Access the model's reasoning
for block in response.content:
    if block.type == "thinking":
        print(f"Claude's reasoning:\n{block.thinking}")
    elif block.type == "text":
        print(f"Claude's response:\n{block.text}")

拡張思考を使うべきとき。 複雑なデバッグ:常にオン。アーキテクチャ分析:常にオン。正しさが速度より重要なコーディングタスク:オン、budget_tokensは2,048〜4,096。

単純なQ&A、分類、要約:オフ——思考トークンは単純なタスクでは出力品質を向上させずにコストを増やすだけです。

コストのトレードオフ。 思考は平均でトークン消費を20〜40%増やします。通常1,500トークン(入力+出力)消費するリクエストが、思考有効で2,100トークンになるかもしれません。$0.05のリクエストなら$0.07——40%増。

Claudeが、自分なら4時間かかる並行性バグを発見するデバッグセッションでは、余分な$0.02は今週で最高の投資です。

プロンプトキャッシュ:入力コストが90%オフ

Claudeは業界で最も攻撃的なプロンプトキャッシュを提供します——Messages APIのcache_controlブロックによるキャッシュ済み入力トークン90%オフ。キャッシュの仕組み、書き込み/読み取りの経済性、TTL動作、クロスプロバイダー戦略は、プロンプトキャッシュ詳解をご覧ください。

実装:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    system=[
        {
            "type": "text",
            "text": "You are a code reviewer. Here are our coding standards...",
            "cache_control": {"type": "ephemeral"}  # Cache this system prompt
        }
    ],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Review this PR diff: ...",
                    "cache_control": {"type": "ephemeral"}  # Can be cached if repeated
                }
            ]
        }
    ]
)

ツール使用とComputer use

Claudeのツール使用はOpenAIのfunction callingと構造的に異なります——そして本番では、その違いが重要です。Claudeのツール呼び出しをOpenAIのfunction callingのドロップイン代替として扱う開発者は、最初のストリーミングエージェントループでそのギャップに気づきます。

最も一般的な破損:OpenAIはtool_callsをストリーミングチャンクを跨いで蓄積するデルタとして返します。Claudeはtool_usetextブロックと対等なコンテンツブロックとして返します——完全なオブジェクトとして処理し、断片のストリームとしては処理しません。OpenAIパターン用に書かれたコードは、ツール使用がcontent[1].type == "tool_use"として届く構造でdelta.tool_callsを探すため、Claudeのツール呼び出しを黙って落とします。違いを知れば修正は簡単ですが、最初の診断には、モデルがツールを「無視している」ように見える問題のデバッグに何時間も費やします。

4プラットフォームすべての動作コード付き完全比較は、function callingとツール使用ガイドをご覧ください。

ツール使用——Python実装:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    tools=[{
        "name": "search_codebase",
        "description": "Search the codebase for a given symbol or pattern.",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {"type": "string", "description": "Search query"},
                "file_pattern": {"type": "string", "description": "Optional glob pattern, e.g. '*.py'"}
            },
            "required": ["query"]
        }
    }],
    messages=[{"role": "user", "content": "Find where authentication logic is implemented."}]
)

# Handle tool_use content blocks
for block in response.content:
    if block.type == "tool_use":
        tool_name = block.name
        tool_input = block.input
        # Execute the tool, then continue the conversation with tool_result

OpenAIとの重要な違い。 Claudeはtool_useをメッセージ内のtextブロックと並ぶコンテンツブロックとして返します——コンテンツ配列で対等です。OpenAIはtool_callsをメッセージの別フィールドとして返します。この構造的違いにより、Claudeは単一応答で思考・テキスト・ツール呼び出しを交互にできます——ツールを呼び出しながら何をしているか説明できるのです。

OpenAI互換翻訳で壊れるもの。 OpenAI互換エンドポイント経由でコードベース検索リクエストをClaudeに送ると、応答はこうなるかもしれません:「認証モジュールを探しますね… [tool_use: search_codebase query=‘auth’] src/auth/handlers.pyにありました。」ネイティブプロトコルでは、3つの別個のコンテンツブロックが順に得られます:意図を説明するテキストブロック、型付き入力の構造化tool_useブロック、結果を示す別のテキストブロック。エージェントループは各ブロックを処理し、ツールを実行し、tool_resultを注入して続行します。OpenAI互換翻訳では、3つのブロックが1つのフラットなテキスト文字列に統合されます。エージェントループは、実行可能なtool_useブロックのない単一メッセージを見ます。ツール呼び出しは実行されません。モデルの説明——「src/auth/handlers.pyにありました」——は検索が実際に実行される前に書かれたため、ファイルパスは幻覚かもしれません。この障害モードは静かです:モデルは自信ありげに聞こえますが、すべての結果が作り物です。

ネイティブ vs 互換:実際のタスクで比較。 同じPRレビュータスクをClaude Opus 4.8で2回実行しました——1回はネイティブ、1回はOpenAI互換エンドポイント経由。タスク:200ファイルのPythonコードベース全体からSQLインジェクションパターンをすべて見つけ、各発見を説明し、修正を提案。ネイティブプロトコル:Claudeは14個のテキストとtool_useブロックを交互にストリーミング。エージェントは各ファイル検索が届くたびに実行し、部分結果を即座に処理。総時間:32秒、8,400トークン。OpenAI互換:ツール呼び出しは最終メッセージに付いたフラットJSONとして到着。ストリーミングツール使用なし、部分結果なし。エージェントは完全応答が完了するまで処理を始められず68秒。検索2回がタイムアウトし、リトライが必要。総時間:94秒、リトライ込み11,500トークン。同じモデル、同じタスク——変数はプロトコルレイヤーだけでした。

Computer use(ベータ)。 Claudeはコンピューターインターフェースを操作できます——カーソルを動かし、クリックし、タイピングする。これは実験的で高価です(関連するスクリーンショットとアクションは標準出力レートで課金)。ツール呼び出しで実現できることに使わないでください。APIのないレガシーアプリケーションの自動化、または視覚検証が重要なGUIアプリケーションのテストには使いましょう。

Claude Code連携。 Claude Code——AnthropicのCLIコーディングエージェント——はネイティブプロトコルのみを使用します。このプロトコルを活用するエージェントアーキテクチャの構築は、AIエージェントアーキテクチャガイドをご覧ください。集約プラットフォームでClaude Codeを使うには、設定:

export ANTHROPIC_BASE_URL="https://api.tokspan.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="ts-your-key-here"

Claude CodeはプラットフォームのネイティブAnthropicエンドポイントを透過的に使用します。すべての機能——拡張思考、ツール使用、computer use——が修正なしで動きます。

アクセスと支払い:Claudeブロック問題の解決

Anthropicの直接APIアクセスは対応地域でのみ利用でき、カードの利用可否は国によって異なります。Claude CodeとAnthropic SDKはすべての接続でリージョンをチェックします。

2026年7月に機能する3つのアクセス方法:

  1. Anthropicネイティブ対応の集約プラットフォーム。 ANTHROPIC_BASE_URL をプラットフォームエンドポイントに設定。プラットフォームのAPIキーを使用。すべてのClaude機能——拡張思考、キャッシュ、ツール使用——が動作。

  2. エンタープライズデータ管理のためのセルフホストゲートウェイ。 自社管理のインフラにLiteLLMまたはゲートウェイをデプロイ。自社環境からAnthropicに接続。インフラ維持と、対応支払い方法を持つAnthropicアカウントが必要。

  3. 対応する支払い方法による直接API。 Anthropic が受け付ける支払い方法があり、対応地域にいるなら、直接APIが機能します。利用可能ならこれが最も簡単な選択肢。

Claude やその他の最先端モデルを単一のAPIエンドポイントで統合する方法、レイテンシ比較とコード付きの完全ガイドは、2026年のOpenAI・Claude APIアクセスガイドをご覧ください。

FAQ

本当にAnthropicネイティブSDKが必要ですか?

基本チャットなら:いいえ、OpenAI互換で動きます。拡張思考、ツール使用、computer use、プロンプトキャッシュなら:はい、Anthropicネイティブが必須です。

それらの機能はClaudeの競争優位です。それなしでClaudeを使うのは、スポーツカーを買って一度も1速から出さないようなものです。

思考トークンのコストは?

思考トークンは出力レートで課金されます——Opusで$25/M、Sonnetで$15/M。拡張思考を使うときはリクエストあたり20〜40%多くトークンを見積もりましょう。Opusでの1,000トークン応答+500思考トークンは約$0.0375——思考なしの$0.025と比較して。

なぜClaude Codeはネイティブプロトコルを必須とするのですか?

Claude Codeは思考ブロック、ストリーミングツール使用、マルチターン会話パターンを使います——どれもOpenAI互換翻訳を生き残れません。このツールのUX全体——モデルの推論の表示、ストリーム途中でのツール結果の処理——はネイティブプロトコル機能に依存しています。

直接アクセスが利用できない地域では、Claudeをどう使いますか?

Anthropicネイティブプロトコル対応の集約プラットフォームを使いましょう。ANTHROPIC_BASE_URL をプラットフォームエンドポイントに、ANTHROPIC_AUTH_TOKEN をプラットフォームキーに設定します。

Claude CodeとAnthropic SDKは同一に動作します。

Claude Opus vs Sonnet:価格差に見合いますか?

複雑なデバッグと本番エージェントには:はい——Opusの深いアーキテクチャ推論がSonnetが見逃すエッジケースを捉えます。日常的なチャット、コンテンツ生成、簡単なコーディングには:Sonnetは40%安く、品質も近く、ユーザーは違いに気づきません。

2026年のLLM API市場は、ほとんどの開発者がまだ気づいていない断層線に沿って分裂しつつあります。一方に:OpenAI互換標準——モデルが交換可能で、価格だけが差別化要因の商品化レイヤー。

もう一方に:ネイティブプロトコル——Claude APIのMessagesプロトコル、GoogleのGemini API——拡張思考、自動function calling、ストリーミングツール使用といったプロバイダー固有機能が、どの互換レイヤーも埋められない真の能力ギャップを生み出します。

ネイティブプロトコルで構築する開発者は、プロバイダーに賭けているのではありません。商品化レイヤーが常に、最高のモデルが実際にできることの部分集合でしかないだろうことに賭けているのです。今のところ、その賭けは報われています。

ネイティブプロトコルが重要なのは、Claudeを使う価値のある機能——拡張思考、ツール使用、入力コスト90%オフのプロンプトキャッシュ——のためです。あなたの地域で直接APIアクセスが利用できない場合、または単一の課金関係の背後でClaudeを他のモデルと並べたい場合、ネイティブMessagesプロトコルを話す集約プラットフォームは、ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN をプラットフォームエンドポイントに設定するだけで、Claude Codeを同一に使えます。