ここまでのコースでは、Claudeはブラウザやアプリを開いて使う相手でした。このコースでは、その関係が逆になります。Claudeを自分の書いたコードから呼び出し、自分の道具の部品として組み込みます。
Claude Codeの入門編にも、自分のアプリにClaudeを埋め込む回がありました。あちらは「まず動かして感覚をつかむ」ための最短経路です。このコースはそこから一歩進んで、評価の仕組みを先に作る・ツールを安全に往復させる・キャッシュで費用を抑えるといった、実務で長く使う道具を作るときに要る工程を順番に扱います。
断っておきたいこと: 従量課金です
Claude APIは、使った分だけ請求される従量課金です。チャットのProプランのような定額ではありません。このレッスンで実行する数回の呼び出しは数円〜数十円程度で収まりますが、ループで何百回も呼んだり、大きな文書を何度も渡したりすれば、その分だけ費用が積み上がります。
Claude Console(platform.claude.com)には、月の上限額を設定する画面があります。最初にコードを書く前に、まず上限を決めておくことを勧めます。金額の目安や現在の料金は、このレッスンの終わりにあるリンクから公式ページで確認してください。
APIキーを手に入れる
Claude APIを使うには、Claude Consoleのアカウントと、APIキーという通行証が要ります。
Consoleにアクセス
platform.claude.comでアカウントを作る
APIキーを発行
Account Settings → API keys
環境変数に保存
コードに直接書かない
最初の呼び出し
Pythonで3行動かす
キーは発行された画面でしか全文が見られません。コピーしそびれると、もう一度作り直すことになります。
キーはコードに書かない
APIキーは、パスワードと同じ重さで扱います。コードの中に文字列としてそのまま書いてしまうと、GitHubに上げた瞬間や、誰かに画面を見せた瞬間に流出します。
注意
キーの置き場所
- コードに直接書かない
.envなどの環境変数ファイルに置き、そのファイル自体をGitの管理外にする- Slackやチャットにそのまま貼らない
漏れたキーは、他人があなたの名前で使った分の請求まであなたに届きます。心当たりのない使用量が見えたら、Consoleからそのキーを失効させてください。
ターミナルで環境変数に保存する例です。
$echo 'export ANTHROPIC_API_KEY="発行されたキー"' >> ~/.zshrc
$source ~/.zshrc
以後、コードからは ANTHROPIC_API_KEY という名前で参照します。
最小のリクエスト: 3つの引数だけ
Claude APIの中心は POST /v1/messages という1本のエンドポイントです。公式SDKを使えば、これは client.messages.create(...) という関数呼び出しになります。
必須の引数は3つだけです。
どのモデルを使うか。文字列のID(例: claude-sonnet-5)
返ってくる答えの長さの上限。トークン単位
会話の中身。role(userなど)とcontentの配列
社内の議事録を要約する道具を例に、動かしてみます。
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 について正しい説明はどれですか。