メインコンテンツへスキップ

最初のリクエスト

  • レッスン 1
  • 11分

このレッスンで

終わる頃には、次ができるようになります

  • Claude ConsoleでAPIキーを発行し、環境変数からコードで読み出せる
  • messages.create に必要な3つの引数(model・max_tokens・messages)を説明できる
  • 最初のPythonスクリプトを実行し、レスポンスの中身から答えの文章を取り出せる

ここまでのコースでは、Claudeはブラウザやアプリを開いて使う相手でした。このコースでは、その関係が逆になります。Claudeを自分の書いたコードから呼び出し、自分の道具の部品として組み込みます。

Claude Codeの入門編にも、自分のアプリにClaudeを埋め込む回がありました。あちらは「まず動かして感覚をつかむ」ための最短経路です。このコースはそこから一歩進んで、評価の仕組みを先に作る・ツールを安全に往復させる・キャッシュで費用を抑えるといった、実務で長く使う道具を作るときに要る工程を順番に扱います。

断っておきたいこと: 従量課金です

Claude APIは、使った分だけ請求される従量課金です。チャットのProプランのような定額ではありません。このレッスンで実行する数回の呼び出しは数円〜数十円程度で収まりますが、ループで何百回も呼んだり、大きな文書を何度も渡したりすれば、その分だけ費用が積み上がります。

Claude Console(platform.claude.com)には、月の上限額を設定する画面があります。最初にコードを書く前に、まず上限を決めておくことを勧めます。金額の目安や現在の料金は、このレッスンの終わりにあるリンクから公式ページで確認してください。

APIキーを手に入れる

Claude APIを使うには、Claude Consoleのアカウントと、APIキーという通行証が要ります。

01

Consoleにアクセス

platform.claude.comでアカウントを作る

02

APIキーを発行

Account Settings → API keys

03

環境変数に保存

コードに直接書かない

04

最初の呼び出し

Pythonで3行動かす

APIキー取得から実行まで

キーは発行された画面でしか全文が見られません。コピーしそびれると、もう一度作り直すことになります。

キーはコードに書かない

APIキーは、パスワードと同じ重さで扱います。コードの中に文字列としてそのまま書いてしまうと、GitHubに上げた瞬間や、誰かに画面を見せた瞬間に流出します。

注意

キーの置き場所

  • コードに直接書かない
  • .env などの環境変数ファイルに置き、そのファイル自体をGitの管理外にする
  • Slackやチャットにそのまま貼らない

漏れたキーは、他人があなたの名前で使った分の請求まであなたに届きます。心当たりのない使用量が見えたら、Consoleからそのキーを失効させてください。

ターミナルで環境変数に保存する例です。

Terminal
$

echo 'export ANTHROPIC_API_KEY="発行されたキー"' >> ~/.zshrc

$source ~/.zshrc

以後、コードからは ANTHROPIC_API_KEY という名前で参照します。

最小のリクエスト: 3つの引数だけ

Claude APIの中心は POST /v1/messages という1本のエンドポイントです。公式SDKを使えば、これは client.messages.create(...) という関数呼び出しになります。

必須の引数は3つだけです。

model

どのモデルを使うか。文字列のID(例: claude-sonnet-5)

max_tokens

返ってくる答えの長さの上限。トークン単位

messages

会話の中身。role(userなど)とcontentの配列

messages.create の必須3引数

社内の議事録を要約する道具を例に、動かしてみます。

import anthropic
import os

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"]
)

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "次の会議メモを3行で要約して:\n・9月の売上は前月比8%増\n・新規問い合わせは横ばい\n・在庫の欠品が2件発生、来週補充予定"}
    ]
)

for block in response.content:
    if block.type == "text":
        print(block.text)

model に指定した claude-sonnet-5 は、2026年9月時点で速度と精度のバランスが良いとされているモデルです。モデルの名前と料金は改定されることがあるので、コードを書く前に一度、公式ページで現在の一覧を確認する習慣をつけてください(リンクはこのレッスンの末尾)。

レスポンスは「ブロックの配列」

response.content は、1本の文字列ではありません。テキストのブロック、あとで扱うツール呼び出しのブロックなど、種類の違う要素が混ざった配列です。

そのため、上のコードのように block.type を見てからテキストを取り出す書き方が基本になります。今は text タイプしか出てきませんが、この先ツールや拡張思考を足すと、同じ配列に別の種類のブロックが増えていきます。最初からこの形に慣れておくと、あとで書き直さずに済みます。

補足

max_tokensを低く見積もらない

max_tokens を小さくしすぎると、答えの途中で強制的に打ち切られます。長めの要約や複数ステップの説明をさせるときは、余裕を持たせておくほうが、書き直しの手間が少なくなります。

やってみよう

演習1: 何を呼び出すか決める

自分の仕事の中で、Claudeに1回だけ質問を投げて答えをもらう形で成立しそうな作業を1つ考えてください。要約する、分類する、下書きを作る、どれでも構いません。そのときmessagesに渡す1文をどう書くかまで考えてみてください。

演習2: max_tokensの見積もり

演習1で考えた作業の答えは、だいたい何文字くらいになりそうですか。その見積もりから、max_tokensをいくつに設定すれば打ち切られずに済むかを考えてみてください。

今日のまとめ

3行で振り返ります。

  • Claude APIは従量課金。コードを書く前に月の上限額を決めておく
  • messages.create に要る引数はmodel・max_tokens・messagesの3つだけ
  • レスポンスはブロックの配列。block.type を見てから中身を取り出す

次のレッスンでは、この1回きりの質問を、会話として積み重ねる方法を見ていきます。

セルフチェック

1. Claude APIキーの扱い方として正しいものはどれですか。

2. messages.create を呼ぶときに必ず指定する引数の組み合わせはどれですか。

3. response.content について正しい説明はどれですか。

SourceDOCUMENTATION
Claude API: はじめに

Consoleでのアカウント作成からAPIキー発行、最初のリクエストまでの公式手順。

Webplatform.claude.com
platform.claude.com/docs/en/get-started
SourceDOCUMENTATION
モデル一覧と料金(随時更新)

モデルIDと料金は改定されることがあるため、コードを書く前にこのページで現在の一覧を確認する。

Webplatform.claude.com
platform.claude.com/docs/en/models/overview

このレッスンは役に立ちましたか?