知識がなくても始められる、AIと共にある豊かな毎日。
AIコーディング

Claude API 入門 2026 — 「Building with the Claude API」で学ぶ最初のAIアプリ開発

Claude API
ゲンキ

Claude API 入門 2026 — 「Building with the Claude API」で学ぶ最初のAIアプリ開発

プロンプトを打つ側から、AIを組み込んだアプリケーションを構築する側へ。Claude API 入門 2026として、Anthropic Academyの「Building with the Claude API」コースは、その転換点を提供する。

本記事では、Claude API 入門 2026の学習ロードマップとして、コースの構成からMessages APIの基本、最初のPythonスクリプト、ストリーミング、tool_use(関数呼び出し)までを実践的に解説する。

忍者AdMax

コースの全体構成 — 84講義・約8時間・10クイズの集中プログラム

「Building with the Claude API」は、Anthropic Academyが提供する開発者向けの中級コースだ。Claude API 入門 2026として、以下の規模で構成されている:

  • 84講義: 動画レッスンとインタラクティブ演習
  • 約8時間: 一般的な修了時間
  • 10クイズ: 各セクション末に理解度を確認するクイズ

コースは段階的に構成されており、APIの基本的な呼び出しから始まり、最終的にはtool_use(関数呼び出し)を使った実用的なアプリケーション構築まで到達する。

前提知識として、Pythonの基礎的な理解があれば十分だ。Claudeの基本操作については「AI Fluency 実践ガイド 2026」で解説している4Dフレームワークの知識が役立つ。

Messages API の基本 — model・max_tokens・messagesの3要素

Claude API 入門 2026の最初のステップは、Messages APIの構造を理解することだ。さらに、APIリクエストは3つの必須パラメータで構成される。

model

使用するClaudeモデルを指定する。2026年4月時点の主要モデル:

claude-sonnet-4-6
claude-haiku-4-5

max_tokens

生成する最大トークン数を指定する。また、日本語の場合、1トークンは概ね1〜2文字に相当する。

messages

会話のメッセージ配列。加えて、各メッセージにはrole(user または assistant)とcontent(テキスト内容)を含む。

APIレスポンスには以下の重要フィールドが含まれる:

  • content: 生成されたテキスト(配列形式)
  • stop_reason: 生成が停止した理由(end_turn, max_tokens, tool_useなど)
  • usage: 入力・出力トークン数

stop_reasonは特に重要だ。end_turnはClaudeが自然に回答を完了したことを意味し、max_tokensは指定した上限に達して途中で切れたことを示す。tool_useはClaudeがツール呼び出しを要求していることを意味する。

最初のPythonスクリプト — 4行で始めるClaude API呼び出し

Claude API 入門 2026の実践として、最小限のPythonスクリプトを見ていこう。

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "3Dプリンティングの主要な方式を3つ挙げて、それぞれの特徴を簡潔に説明してください。"
        }
    ]
)

print(message.content[0].text)

このスクリプトを実行する前に、環境変数ANTHROPIC_API_KEYにAPIキーを設定する必要がある。APIキーはAnthropicのコンソール(console.anthropic.com)から取得できる。

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

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

Pythonパッケージのインストール:

pip install anthropic

このシンプルなスクリプトが動作すれば、Claude APIとの通信が成功している。ここから段階的に機能を追加していく。

System Promptの追加

system パラメータを使って、Claudeの振る舞いを制御する:

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="あなたは3Dプリンティングの専門家です。技術的に正確で、具体的な数値を含む回答を心がけてください。",
    messages=[
        {
            "role": "user",
            "content": "FDM方式で使えるフィラメント素材の種類と推奨ノズル温度を教えてください。"
        }
    ]
)

ストリーミング — リアルタイム応答で体感速度を改善する

Claude API 入門 2026で学ぶ重要なテクニックの一つが、ストリーミング応答だ。具体的には、通常のAPI呼び出しでは、Claudeが全文を生成し終わるまでレスポンスが返らない。一方、ストリーミングを使えば、生成されたテキストがリアルタイムで届く。

import anthropic

client = anthropic.Anthropic()

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "PLAフィラメントとABSフィラメントの違いを説明してください。"
        }
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

ストリーミングは、ユーザー体験の向上に直結する。特に長い回答を生成する場合、ユーザーは待ち時間なしにテキストが表示される様子を確認できる。チャットアプリケーションやリアルタイム翻訳ツールなど、対話型のインターフェースでは必須の技術だ。

ストリーミングの内部では、Server-Sent Events(SSE)プロトコルが使われている。各イベントにはtype(message_start, content_block_delta, message_stopなど)が含まれ、Pythonの公式SDKはこれらを自動的に処理する。

tool_use 入門 — ツール定義・レスポンス・tool_resultの流れ

Claude API 入門 2026の中でも特に重要なのが、tool_use(関数呼び出し/Function Calling)機能だ。したがって、これにより、Claudeが外部APIやデータベースと連携できるようになる。

tool_useの3ステップ:

ステップ1: ツール定義

Claudeに利用可能なツールを定義する:

tools = [
    {
        "name": "get_filament_price",
        "description": "指定されたフィラメント素材の現在の市場価格を取得する",
        "input_schema": {
            "type": "object",
            "properties": {
                "material": {
                    "type": "string",
                    "description": "フィラメント素材名(PLA, ABS, PETG, TPUなど)"
                },
                "weight_kg": {
                    "type": "number",
                    "description": "重量(キログラム)"
                }
            },
            "required": ["material"]
        }
    }
]

ステップ2: tool_useレスポンスの処理

Claudeがツール呼び出しを要求すると、レスポンスのstop_reasonが”tool_use”になる。content配列にtool_useブロックが含まれ、呼び出すべきツールの名前と入力パラメータが格納される。

ステップ3: tool_resultの返却

実際にツールを実行し、その結果をtool_resultとしてClaudeに返す:

# Claudeからのtool_useリクエストを受け取った後
tool_result_message = {
    "role": "user",
    "content": [
        {
            "type": "tool_result",
            "tool_use_id": tool_use_block.id,
            "content": "PLA 1kgの現在価格: 2,500円(Amazon最安値)"
        }
    ]
}

この3ステップのサイクルにより、Claudeは自身の知識だけでなく、外部のリアルタイムデータにアクセスして回答を生成できるようになる。なお、tool_useは、単なるチャットボットを実用的なAIアプリケーションへと進化させるための核心的な機能だ。

Extended Thinking — Claudeに深く考えさせるオプション

Claude API 入門 2026で知っておくべき応用機能として、Extended Thinking(拡張思考)がある。一方で、通常のAPI呼び出しでは、Claudeは即座に回答を生成する。ただし、Extended Thinkingを有効にすると、Claudeが回答前に内部で段階的に思考プロセスを実行し、より深い推論に基づいた回答を生成する。

Extended ThinkingはAPIリクエストで有効化できる。思考プロセス自体もトークンとして課金されるため、コストが増加する点に留意が必要だ。そのため、複雑な数学問題、コードのアーキテクチャ設計、多面的な分析が求められるタスクで特に効果を発揮する。一方、単純な質問や定型的な文書生成では、追加コストに見合う品質向上が得られない場合もある。

使い分けの目安として、回答の正確性が最優先される場面(技術仕様の分析、バグの原因特定、セキュリティレビューなど)ではExtended Thinkingを有効にし、速度とコストが重要な場面(チャットボットの応答、定型文書の生成など)では通常モードを使用するのが現実的だ。

料金体系 — Sonnet・Haikuのトークン単価を理解する

Claude API 入門 2026で見落とされがちなのが、料金体系の理解だ。例えば、APIの利用料金はトークン単位で課金される。

Claude Sonnet(claude-sonnet-4-6):

  • 入力: $3 / 1Mトークン(100万トークンあたり3ドル)
  • 出力: $15 / 1Mトークン

Claude Haiku(claude-haiku-4-5):

  • 入力: $1 / 1Mトークン
  • 出力: $5 / 1Mトークン

日本語テキストの場合、1,000文字は概ね500〜700トークンに相当する。つまり、Sonnetで1,000文字の入力を処理するコストは約$0.002(約0.3円)程度だ。

コスト最適化のポイント:

  • プロトタイピング段階ではHaikuを使い、本番環境でSonnetに切り替える
  • System Promptはキャッシュ対象になるため、長いSystem Promptでも繰り返しコストは低い
  • max_tokensを適切に設定し、不要に長い出力を避ける
  • バッチ処理が可能な場合は、Batch APIを活用してコストを50%削減できる

API料金の具体的な計算例

Claude API 入門 2026を実務に適用するにあたって、実際のコストを具体的にシミュレーションしてみよう。このように、料金体系を理解しておくことで、プロジェクトの予算策定に役立つ。

例1: カスタマーサポートBot

1回の問い合わせにつき、ユーザーの入力が平均200文字(約140トークン)、System Promptが500文字(約350トークン)、Claudeの回答が600文字(約420トークン)と仮定する。Claude Sonnetを使用した場合の1回あたりのコスト:

  • 入力トークン: 490トークン x $3/1Mトークン = $0.00147
  • 出力トークン: 420トークン x $15/1Mトークン = $0.0063
  • 1回あたり合計: 約$0.0078(約1.2円)

月間1万件の問い合わせを処理する場合、月額コストは約$78(約12,000円)だ。同じ条件でClaude Haikuを使えば、月額約$26(約3,900円)まで下がる。なぜなら、応答品質とコストのトレードオフを考慮して選択しよう。

例2: 技術文書の翻訳・要約バッチ処理

500ページの英語技術文書(1ページ平均2,000文字、約1,400トークン)を日本語に翻訳する場合。Claude Sonnetでの想定コスト:

  • 入力トークン: 700,000トークン x $3/1Mトークン = $2.10
  • 出力トークン(翻訳後は文字数が増える傾向): 約1,050,000トークン x $15/1Mトークン = $15.75
  • 合計: 約$17.85(約2,700円)

500ページの翻訳が3,000円以下で完了する。人間の翻訳者に依頼する場合と比較すると、コストは桁違いに安い。ただし、Diligence(検証)の工程として人間による品質チェックは必須だ。

例3: Batch APIの活用

即座にレスポンスが不要なバッチ処理の場合、Anthropic Batch APIを使うことでコストを50%削減できる。たとえば上記の翻訳タスクをBatch APIで実行すると約$8.93(約1,350円)で済む。処理完了まで最大24時間かかるが、大量データの一括処理では大幅なコスト最適化が可能だ。

Prompt Caching(プロンプトキャッシュ)の効果

System Promptが長い場合、Prompt Cachingの恩恵が大きい。たとえば2,000トークンのSystem Promptを使い、1日100回のAPI呼び出しを行うケースでは、キャッシュなしの場合、入力トークンのうちSystem Prompt分だけで$0.60/日かかる。キャッシュ有効時は初回のみフル課金され、2回目以降はキャッシュヒット時に90%割引となる。

よくあるエラーと対処法

Claude API 入門 2026で開発を始めると、いくつかの典型的なエラーに遭遇する。事前に対処法を把握しておこう。

401 Authentication Error

最も頻出するエラーだ。同様に、原因はAPIキーの未設定または無効なキーの使用。対処法は以下の通り。

  • 環境変数ANTHROPIC_API_KEYが正しく設定されているか確認する
  • APIキーの先頭が「sk-ant-」で始まっているか確認する
  • Anthropic ConsoleでAPIキーが無効化されていないか確認する
  • キーをコピーした際に前後に空白が含まれていないか確認する

429 Rate Limit Error

短時間に大量のリクエストを送信すると発生する。対処法として、リクエスト間にウェイトを入れるリトライロジックを実装する。その上、Pythonの公式SDKには自動リトライ機能が組み込まれており、デフォルトで最大2回のリトライが実行される。

# リトライ設定のカスタマイズ
client = anthropic.Anthropic(
    max_retries=5
)

400 Invalid Request Error(max_tokens超過)

max_tokensにモデルの上限を超える値を設定した場合に発生する。すなわち、Claude Sonnetの最大出力トークン数は8,192トークンだ。これを超える値を指定するとエラーになる。

529 API Overloaded

AnthropicのAPIサーバーが高負荷の場合に発生する。それゆえ、クライアント側での対処はリトライのみだ。エクスポネンシャルバックオフ(指数関数的に待ち時間を増やすリトライ戦略)を実装することを推奨する。

tool_useでの型エラー

ツール定義のinput_schemaとClaudeが返すパラメータの型が一致しない場合に発生する。特にnumber型を期待する場面でClaudeがstring型の値を返すケースがある。対処として、ツール定義のdescriptionフィールドで「数値を整数で返してください」のように明示的に指定することで、型の不一致を防げる。ツール定義のenumフィールドやdefaultフィールドを活用することも型エラーの防止に有効だ。

tool_use実践 — 複数ツールの連携パターン

tool_use機能の実践的な活用として、複数のツールを定義して連携させるパターンを解説する。

複数ツールの同時定義

実用的なアプリケーションでは、複数のツールを同時に提供する場合が多い。要するに、Claudeはユーザーの質問に応じて、適切なツールを自動的に選択する。

tools = [
    {
        "name": "search_products",
        "description": "製品データベースから条件に合う製品を検索する",
        "input_schema": {
            "type": "object",
            "properties": {
                "category": {
                    "type": "string",
                    "description": "製品カテゴリ(filament, printer, accessory)"
                },
                "max_price": {
                    "type": "number",
                    "description": "最大価格(円)"
                }
            },
            "required": ["category"]
        }
    },
    {
        "name": "get_product_reviews",
        "description": "指定された製品のレビュー情報を取得する",
        "input_schema": {
            "type": "object",
            "properties": {
                "product_id": {
                    "type": "string",
                    "description": "製品ID"
                }
            },
            "required": ["product_id"]
        }
    }
]

連鎖的なツール呼び出し

Claudeは1回の応答で複数のツールを順次呼び出すことがある。たとえば「5,000円以下のPLAフィラメントで評価の高いものを教えて」という質問に対して、まずsearch_productsで製品を検索し、その結果のproduct_idを使ってget_product_reviewsでレビューを取得する。開発者は各ステップの結果をtool_resultとしてClaudeに返し、最終的な統合回答を生成させる。

この連鎖パターンが、エージェント型アプリケーションの基盤となる。tool_useは単なるAPI連携機能ではなく、AIが自律的に情報を収集・統合するためのメカニズムなのだ。

CCA Domain 1との接続 — エージェントアーキテクチャへの道

Claude API 入門 2026で学ぶ基礎は、Certified Claude Associate(CCA)認定試験のDomain 1「Agentic Architecture」に直結する。

Messages APIの理解は、エージェントシステムの構築に不可欠だ。特に以下の概念が橋渡しとなる:

  • tool_use → エージェントの行動: tool_useは、AIエージェントが外部世界と相互作用するための基本メカニズム
  • 会話ループ → エージェントループ: user/assistantの会話構造は、エージェントの思考-行動-観察ループの基盤
  • System Prompt → エージェントのペルソナ: System Promptでエージェントの役割と制約を定義する

CCA Domain 1の詳細については「CCA Domain 1: エージェントアーキテクチャ解説」で解説している。

また、APIの知識をローカル開発環境で活用する方法については「Claude Code 入門ガイド 2026」も参考になる。

開発環境の整備 — 効率的なAPI開発のための準備

Claude API 入門 2026を本格的に進めるにあたって、開発環境を整備しておこう。

仮想環境の構築

Pythonの仮想環境を使うことで、プロジェクトごとに依存関係を分離できる。以下のコマンドで仮想環境を作成し、anthropicパッケージをインストールする。

python -m venv claude-env
source claude-env/bin/activate  # macOS/Linux
pip install anthropic

環境変数の安全な管理

APIキーをソースコードにハードコーディングすることは絶対に避けるべきだ。python-dotenvパッケージを使って.envファイルからAPIキーを読み込むパターンが推奨される。

pip install python-dotenv

プロジェクトルートに.envファイルを作成する:

ANTHROPIC_API_KEY=sk-ant-xxxxx

Pythonスクリプトから読み込む:

from dotenv import load_dotenv
load_dotenv()

import anthropic
client = anthropic.Anthropic()

.envファイルは必ず.gitignoreに追加し、バージョン管理から除外する。さらに、APIキーの漏洩は深刻なセキュリティインシデントにつながるため、この対策は必須だ。

TypeScript/Node.jsでの利用

PythonだけでなくTypeScriptでもClaude APIを利用できる。また、公式SDKのインストールは以下の通りだ。

npm install @anthropic-ai/sdk

基本的な呼び出しパターン:

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

const client = new Anthropic();

const message = await client.messages.create({
    model: "claude-sonnet-4-6",
    max_tokens: 1024,
    messages: [
        {
            role: "user",
            content: "3Dプリンティングの主要方式を説明してください"
        }
    ]
});

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

TypeScript SDKはPython SDKとほぼ同じインターフェースを持つため、どちらか一方を学べばもう一方への移行は容易だ。

APIリクエストのデバッグ

開発中にAPIリクエストの詳細を確認したい場合、Anthropic ConsoleのLogsセクションでリクエスト履歴を確認できる。加えて、各リクエストの入力トークン数、出力トークン数、レスポンスタイム、コストが一覧表示される。想定外のトークン消費を発見するのに役立つ。

マルチターン会話の実装パターン

Claude API 入門 2026で押さえておくべき重要パターンとして、マルチターン会話の実装がある。実用的なチャットアプリケーションでは、ユーザーとの複数回のやり取りを管理する必要がある。

会話履歴の管理

Messages APIのmessagesパラメータに過去の会話履歴を含めることで、Claudeは文脈を理解した回答を生成する。

conversation = []

def chat(user_message):
    conversation.append({
        "role": "user",
        "content": user_message
    })

    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=conversation
    )

    assistant_message = response.content[0].text
    conversation.append({
        "role": "assistant",
        "content": assistant_message
    })

    return assistant_message

このパターンでは、会話が長くなるにつれてトークン数が増加し、コストが上昇する点に注意が必要だ。特に、実務では会話履歴の長さを制限するか、古いメッセージを要約してコンテキストを圧縮する戦略が必要になる。

会話履歴のトークン管理

200Kトークンのコンテキストウィンドウは大容量だが、無限ではない。具体的には、長時間のチャットセッションでは、以下の戦略でトークンを管理する。

最新のN件のメッセージのみを保持するスライディングウィンドウ方式が最もシンプルだ。より高度な方法として、古い会話をClaudeに要約させ、要約テキストをSystem Promptに含める方式がある。つまり、トークン数はresponse.usageフィールドで確認できるため、閾値を設定して自動的に履歴を圧縮するロジックを実装するとよい。

System Promptの効果的な活用

マルチターン会話では、System Promptの役割がさらに重要になる。System Promptで定義した役割や制約は、全ての会話ターンに一貫して適用される。したがって、業務向けチャットボットでは、回答範囲の制限(「自社製品に関する質問のみ回答してください」)、回答形式の統一(「常に箇条書きで回答してください」)、禁止事項の明示(「競合製品の推薦はしないでください」)をSystem Promptに記述する。

まとめ — APIの基礎から実用アプリケーションへ

Claude API 入門 2026の要点を整理する:

  1. コース構成: 84講義・約8時間・10クイズの体系的プログラム
  2. Messages API: model・max_tokens・messagesの3要素で構成されるシンプルなAPI
  3. Pythonスクリプト: 公式SDKを使えば数行のコードでAPIを呼び出せる
  4. ストリーミング: SSEベースのリアルタイム応答でユーザー体験を向上
  5. tool_use: ツール定義→レスポンス→tool_resultの3ステップで外部連携を実現
  6. 料金: Sonnet入力$3/出力$15、Haiku入力$1/出力$5(いずれも1Mトークンあたり)

APIの基礎を固めることで、チャットボット、文書処理システム、データ分析ツールなど、実用的なAIアプリケーションの開発が可能になる。

次のステップ: 本記事で学んだMessages API、ストリーミング、tool_useの知識は、そのままClaude Codeの内部動作理解にもつながる。Claude CodeがどのようにAPIを呼び出し、ツールを連携させているかを理解することで、より高度な開発ワークフローを構築できる。

また、APIの知識はCCA認定試験のDomain 1(エージェントアーキテクチャ)とDomain 2(プロンプトエンジニアリング)の基盤となる。試験では「このAPIリクエストの出力として期待されるものは何か」「tool_useのレスポンスをどう処理すべきか」といった実践的な問題が出題される。なお、本記事の内容をハンズオンで繰り返し練習することが、合格への最短ルートだ。

3Dプリンティング分野では、プリンタの状態監視API、フィラメント在庫管理、プリントキューの自動最適化など、Claude APIを活用した自動化の可能性が広がっている。一方で、Anthropic Academyで学んだ基礎を自分のドメインに応用する視点を持つことで、学習の価値が何倍にも膨らむ。

さらに深く学ぶために

Anthropic Academyの「Building with the Claude API」コースでは、本記事で紹介した内容をインタラクティブな演習を通じて実践的に学べる。すべて無料で受講可能だ。

公式コースはこちら: Anthropic Academy

ブラウザだけでできる本格的なAI画像生成【ConoHa AI Canvas】
ABOUT ME
swiftwand
swiftwand
AIを使って、毎日の生活をもっと快適にするアイデアや将来像を発信しています。 初心者にもわかりやすく、すぐに取り入れられる実践的な情報をお届けします。 Sharing ideas and visions for a better daily life with AI. Practical tips that anyone can start using right away.
記事URLをコピーしました