第3章 · Claude API Basics
APIキーの取得とSDKセットアップ
API Key Setup
→ で次のスライド · F でフルスクリーン · N で講師ノート · Esc で終了
重要キーワード
API Key
APIキー
Anthropic API への認証情報。`sk-ant-api03-...` 形式
SDK
ソフトウェア開発キット
Python / TypeScript の公式ライブラリ
dotenv
ドットエンブ
環境変数を `.env` ファイルから読み込むツール
Secret Manager
秘密管理
本番環境で API キーなどを安全に保管する仕組み
API キーの取得
- https://console.anthropic.com にサインアップ。
- API Keys メニューから新規キーを発行。
- キーは
sk-ant-api03-...で始まる文字列。絶対にコミットしない。
キーは 2 種類
- Workspace key: 個人や小規模チーム向けの汎用キー。
- Service key (Admin/Billing): 組織管理用、プログラムから使うべきは Workspace key。
環境変数に保存
# macOS / Linux
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxx"
# Windows PowerShell
$env:ANTHROPIC_API_KEY = "sk-ant-api03-xxxxxx"
または .env ファイル + python-dotenv を使うと安全です。
# .env
ANTHROPIC_API_KEY=sk-ant-api03-xxxxxx
from dotenv import load_dotenv
load_dotenv() # 自動で os.environ に読み込まれる
SDK のインストール
# Python
pip install anthropic
# Node.js / TypeScript
npm install @anthropic-ai/sdk
Hello, Claude
from anthropic import Anthropic
client = Anthropic() # 環境変数から自動で読み込み
msg = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=512,
messages=[
{"role": "user", "content": "Hello, Claude!"}
],
)
print(msg.content[0].text)
TypeScript 版
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const msg = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 512,
messages: [{ role: "user", content: "Hello, Claude!" }],
});
console.log(msg.content[0].text);
キー漏洩を防ぐ
.gitignoreに.envを追加。- GitHub の secret scanning を有効化。
- 漏洩したらすぐ Console から revoke (失効) する。
- フロントエンドに API キーを置かない (バックエンドプロキシを通す)。
- 本番では AWS Secrets Manager / GCP Secret Manager / Vault などのシークレット管理を使う。
接続テスト
短い往復で動作を確認しましょう。
▶ Claude が動くか試す
「pong」とだけ返してください。Hands-on Exercise
演習: Hello, Claude を Python で書く
ローカル環境で anthropic SDK を使い、次の最小コードを動かしてみてください。
from anthropic import Anthropic
from dotenv import load_dotenv
load_dotenv()
client = Anthropic()
msg = client.messages.create(
model="claude-haiku-4-5",
max_tokens=128,
messages=[{"role": "user", "content": "こんにちは"}],
)
print(msg.content[0].text)
print("usage:", msg.usage)
確認ポイント: - 応答テキストが出るか - usage の input/output トークン数 - model パラメータを変えて違いを観察
🎉
まとめ
お疲れ様でした!