Claude APIの使い方
Python/TypeScriptでの実装ガイド
Claude APIを使えば、自分のアプリケーションにClaude の高度なAI能力を組み込めます。この記事では、PythonとTypeScriptの両方で、APIキーの取得からストリーミング応答・ツール利用までステップバイステップで解説します。
この記事の対象者
- Claude APIを初めて使う開発者
- Python / TypeScript でAIアプリを作りたい方
- OpenAI APIからの移行を検討している方
1. APIキーの取得とセットアップ
まず Anthropic Console でアカウントを作成し、APIキーを発行します。
料金について
Claude APIは従量課金制です。Claude Sonnet は入力100万トークンあたり$3、出力100万トークンあたり$15と、非常にコストパフォーマンスに優れています。
ターミナル
# 環境変数にAPIキーを設定
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxx"2. Pythonでの基本実装
Anthropic公式のPython SDKをインストールして、最初のメッセージを送信しましょう。
ターミナル
pip install anthropicmain.py
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[
{"role": "user", "content": "Pythonでフィボナッチ数列を生成する関数を書いて"}
]
)
print(message.content[0].text)たったこれだけのコードで、Claudeに質問を投げて回答を得られます。ANTHROPIC_API_KEY 環境変数が設定されていれば、SDKが自動で読み取ります。
3. TypeScriptでの基本実装
ターミナル
npm install @anthropic-ai/sdkindex.ts
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
async function main() {
const message = await client.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{ role: "user", content: "TypeScriptの型ガードについて教えて" }
],
});
if (message.content[0].type === "text") {
console.log(message.content[0].text);
}
}
main();4. ストリーミング応答
長い応答をリアルタイムに受信するには、ストリーミングを使います。ChatGPTのように、文字が逐次表示される体験を実現できます。
streaming.py
import anthropic
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[
{"role": "user", "content": "Djangoの設計パターンについて説明して"}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)5. システムプロンプトの活用
システムプロンプトを設定することで、Claudeの振る舞いをカスタマイズできます。
system_prompt.py
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="あなたはPythonの上級エンジニアです。"
"コードレビューの観点で回答してください。",
messages=[
{"role": "user", "content": "このコードを改善して: ..."}
]
)6. ツール利用(Function Calling)
Claude にツール(関数)を渡すと、必要に応じてツールを呼び出してくれます。外部APIの呼び出しやデータベース検索などに活用できます。
tools.py
tools = [
{
"name": "get_weather",
"description": "指定都市の天気を取得する",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "都市名(例: 東京)"
}
},
"required": ["city"]
}
}
]
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
tools=tools,
messages=[
{"role": "user", "content": "東京の天気は?"}
]
)APIキーの管理に注意
APIキーは絶対にソースコードにハードコードしないでください。環境変数や.envファイルで管理し、.gitignoreに追加しましょう。
まとめ
- Anthropic ConsoleでAPIキーを取得し、環境変数に設定する
- Python / TypeScript の公式SDKで簡単に実装できる
- ストリーミングでリアルタイム応答を実現
- システムプロンプトでClaude の振る舞いをカスタマイズ
- ツール利用で外部連携も可能